Add Non-local Mean Filter

The algorithm comes from [1], only 2d images are supported
running time:

This PR: ~12s --> A lot of time (50%) is spent on patch indexing in inner for loop.
MATLAB code: ~10s (I can't find the resource of the original code, so I used  the one shared by my labmate, which looks like the original.)

[1] Buades, A., Coll, B., & Morel, J. M. (2005, June). A non-local algorithm for image denoising. In 2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR'05) (Vol. 2, pp. 60-65). IEEE.

 reference MATLAB code
function [output]=NLmeansfilter(input,t,f,h)

 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %
 %  input: image to be filtered
 %  t: radio of search window
 %  f: radio of similarity window
 %  h: degree of filtering
 %
 %  Author: Jose Vicente Manjon Herrera & Antoni Buades
 %  Date: 09-03-2006
 %
 %  Implementation of the Non local filter proposed for A. Buades, B. Coll and J.M. Morel in
 %  "A non-local algorithm for image denoising"
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

 % Size of the image
 [m n]=size(input);

 % Memory for the output
 Output=zeros(m,n);

 % Replicate the boundaries of the input image
 input2 = padarray(input,[f f],'symmetric');

 % Used kernel
 kernel = make_kernel(f);
 kernel = kernel / sum(sum(kernel));

 h=h*h;

 for i=1:m
 for j=1:n

         i1 = i+ f; #[0,0]
         j1 = j+ f;

         W1= input2(i1-f:i1+f , j1-f:j1+f);

         wmax=0;
         average=0;
         sweight=0;

         rmin = max(i1-t,f+1);
         rmax = min(i1+t,m+f);
         smin = max(j1-t,f+1);
         smax = min(j1+t,n+f);

         for r=rmin:1:rmax
         for s=smin:1:smax

                if(r==i1 && s==j1) continue; end;

                W2= input2(r-f:r+f , s-f:s+f);

                d = sum(sum(kernel.*(W1-W2).*(W1-W2)));

                w=exp(-d/h);

                if w>wmax
                    wmax=w;
                end

                sweight = sweight + w;
                average = average + w*input2(r,s);
         end
         end

        average = average + wmax*input2(i1,j1);
        sweight = sweight + wmax;

        if sweight > 0
            output(i,j) = average / sweight;
        else
            output(i,j) = input(i,j);
        end
 end
 end

function [kernel] = make_kernel(f)

kernel=zeros(2*f+1,2*f+1);
for d=1:f
  value= 1 / (2*d+1)^2 ;
  for i=-d:d
  for j=-d:d
    kernel(f+1-i,f+1-j)= kernel(f+1-i,f+1-j) + value ;
  end
  end
end
kernel = kernel ./ f;

Codecov Report

Merging #5 into master will increase coverage by 5.39%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master       #5      +/-   ##
==========================================
+ Coverage   91.66%   97.05%   +5.39%
==========================================
  Files           5        7       +2
  Lines          24       68      +44
==========================================
+ Hits           22       66      +44
  Misses          2        2

Impacted Files
Coverage Δ

src/ImageNoise.jl
100% <ø> (ø)
:arrow_up:

src/ReduceNoise/ReduceNoise.jl
100% <100%> (ø)

src/ReduceNoise/NonlocalMean.jl
100% <100%> (ø)

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 45dd8f5...24a5848. Read the comment docs.


Deploy in HoLolens1

Hi, I am really interested in this useful program after viewing the demo video and the detailed blog. I looked through the code and it is quite amazing. Unfortunately, I do not have a HoLolens2 by my side. But still, I happen to have a HoLolens1. I am wondering if this wonderful application can be deployed in HoLolens1. So, I dived into it and struggled for days because of my bad codding ability.
As far as I know, the HoLolens1 is x86 while HoLolens2 is arm64. I Downloaded the model and Built in Intel 32-bit architect in Unity, like this:

And in Visual Studio I Deploy in Release mode, x86. It succeeded in deploying and show up in my HoLolens1.  I was excited and clicked it, but after asking for camera permissions, the application just stuck in the main menu and did not work as expected, which made me frustrated.
Maybe there is something I have missed, could you please give me some advice for the code revision. Or whether some components in this program just don't fit HoLolens1 that I have to replace them.
Sincerely looking forward to your reply.
Best Regards!

Hi, I have no idea what you means by 'stuck in the main menu'. It simply doesn't start up? Anyway, the application is built on MRTK 3 and OpenXR, I am not sure HoloLens 1 supports that. You could try to look at Unity logfiles, but I have not used a HoloLens 1 in like 4 years now, I am not quite familiar anymore with its idiosyncrasies.

Thanks a lot for your reply! The app simply doesn't start up after I authorize the camera permissions. I have found that MRTK 3 doesn't fit HoloLens1.  Maybe I can borrow a HoloLens2 later to do some experiments on it.
BTW, I want to ask a little question. I used to deploy an edge detection program using Canny Algorithm which runs in HoloLens1, but it just maintains about 10-15 FPS. I don't quite understand the Reality Collective Service. Does the yolo model run in HoloLens2 background cause it looks quite smooth at frame rate, although it is a little bit slow when detecting some object and labeling it.
After seeing the video and blog, it really inspires me in my school program, I am trying to do some kind of client-server project to overcome this shortage, let PC do the model inference and HoloLens is responsible for receiving messages and rendering holograms. Thanks for your wonderful project again!
All the Best!

I have no idea what the Canny Algorithm is. HoloLens 1 is indeed deprecated, it's now almost 9 years old.
The Yolo model does 'kind of' run in the background but I have reduced the number of recognitions to a couple of second because otherwise the Yolo model inference completely eats up all the performance. That's why it looks smooth.
Listen - you want to do quite complex things with HoloLens before understanding a little more than the basics. You have to learn to crawl before you can walk, learn to walk before you can run, and learn to run before you can fly. Don't try to fly when you are barely able to stand up - this is quite advanced stuff. It takes some time to understand it. You will really need some unity and coding skills to work with it.
Good luck!


updates are missing

on the previous version i can find the updates for windows 10 rs2, but on the latest version i cant

I suggest you to provide the [Dism++ Folder]\Config\Dism++.log

The "Config\wsusscn2.cab" need update。
http://cdn.chuyu.me/files/wsusscn2_2017-04-28.cab


Small clarifying updates to comments

Super small update to the comments. It just happened to trip me up for a split second, so I thought I'd offer a quick change. Plus it makes it consistent with the other @param descriptions.   :)

Looks great, thanks for this @tinabme!


Keyboard shortcut for switching workspace

It would be great if there was a keyboard shortcut to switch between different workspaces.
I have set up Insomnia so that each microservice that I am working with is under it's own workspace. I keep switching back and forth between them, it would be great for productivity to be able to do it using a keyboard shortcut.

@RHammar, you can use command + p quick switch to switch between workspaces.


Extend Infrastructure with a block-able thread check

Extend Infrastructure with a check like this:
public boolean canCallerThreadBeBlocked();

Runtimes can configure this hook to verify if the caller thread (Current) can be blocked. If Mutiny attempts to block a thread that cannot be blocked, a failure is thrown (sync) or propagated (async) immediately.
The runtimes can check that the called thread is not an event loop or an I/O thread. By default, all the threads can be blocked.
Once in place, the await and blocking iterable code must be updated to invoke this check and propagate the failure if needed.

Looking into it, will likely need a #272 rebase


Streaming API

Recently i was trying to implement the streaming API on my swift lib but i noticed that Tesla is not using websockets anymore.
Request
GET /stream/VEHICLE_ID/?values=speed,odometer,soc,elevation,est_heading,est_lat,est_lng,power,shift_state,range,est_range,heading HTTP/1.1
Connection: Upgrade
Host: streaming.vn.teslamotors.com
Origin: wss://streaming.vn.teslamotors.com/stream/VEHICLE_ID/?values=speed,odometer,soc,elevation,est_heading,est_lat,est_lng,power,shift_state,range,est_range,heading
User-Agent: SwiftWebSocket
Upgrade: websocket
Sec-WebSocket-Version: 13
Authorization: Basic !REMOVED!
Sec-WebSocket-Key: 6Dc+wQBQoGacYAPXzGctvg==

Response
HTTP/1.1 200 OK
Server: nginx
Date: Sun, 23 Apr 2017 13:19:38 GMT
Content-Type: text/event-stream
Transfer-Encoding: chunked
Connection: keep-alive
Cache-Control: no-cache

This seems to be HTTP SSE traffic. https://en.wikipedia.org/wiki/Server-sent_events
I implemented this into the lib but no data came from the stream.
Streaming URL:
https://streaming.vn.teslamotors.com/stream/VEHICLE_ID/?values=speed,odometer,soc,elevation,est_heading,est_lat,est_lng,power,shift_state,range,est_range,heading
Can anyone here validate that this is in fact HTTP SSE and if so that your car produces events?

I managed to fix my issue. The accept header of my request was incorrect. It must be */*
To help ppl debug i found this command very usefull:
curl --user USERNAME:TOKEN https://streaming.vn.teslamotors.com/stream/VEHICLE_ID/?values=speed,odometer,soc,elevation,est_heading,est_lat,est_lng,power,shift_state
from TMC: https://teslamotorsclub.com/tmc/threads/model-s-rest-api.13410/page-5

I tried this and I get the following error with that cURL. I heard that the streaming endpoint isn't supported in the Model 3 (Which is what I have), is that related to that or something else. Any ideas? And I can confirm the vehicle ID is correct. Thanks.
Got HTTP status: 404 Not Found for . Response: {"error":"vehicle not found (404)"}

@bahree check out this post:
https://github.com/timdorr/model-s-api/issues/68#issuecomment-401522357
Can get lat/long but not much more. And it doesn't stream. Has to be polled. Ping me for more info.


Switch backend to Firebase

Use Google Firebase as the backend for dough-flow (instead of a json-api python server on GAE).
This considerably simplifies back-end implementation: we use DB & API layers from the platform instead of rolling them in a python app.
Update the README with new dependencies (caveat lector, readme is untested).
Let's see if it ends up being a good idea :crossed_fingers: :pray: :triumph:

phew, that was some good learning, self. I hope this'll work out, self. :rocket:


Can't run single test of Parameterized test when delegating builds to Gradle in IntelliJ

I'm not sure if this is a bug in Gradle or IntelliJ or something in the armeria configuration, but when I set IntelliJ to delegate tests to Gradle with Settings > Build, Execution, Deployment > Build Tools > Gradle > Runner, I can't run a single test out of a parameterized one.
For example, if I run HttpServerStreamingTest.testTooLargeContentToNonExistentService by pressing the green button next to the method, I get
Execution failed for task ':core:test'.
> No tests found for given includes: [**/HttpServerStreamingTest**](exclude rules) [com.linecorp.armeria.server.HttpServerStreamingTest.testTooLargeContentToNonExistentService](filter.includeTestsMatching)
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org

It's fine to workaround by using IntelliJ runner for tests (a bit annoying since for some reason Gradle runner is a global setting, not project-level one...) but I thought this might become more important after reading that IntelliJ 2019.1 will default to using the Gradle runner
https://github.com/tbroyer/gradle-apt-plugin/commit/b96813adfaa59731ead938f8bd20b64314f0c661

I wonder if this is an IntelliJ IDEA issue. Didn't try the Gradle runner for quite a while because IntelliJ runner starts much faster..


Begin display before array populates

Hi,  I've pulled photos from several social media networks and displayed them within the deckgrid.  I'm using a loading indicator that stops once the array of photos is populated; however, there is a fairly long delay between the loading indicator stopping and the images being displayed.  It's almost as if it waits for every single card to render before displaying any.
I've tested other masonry directives and they populate on time with no problem (though I don't like working with them like I do this one).
Is there a solution to this?

Good question. I do not see this problem in my deckgrid integrations. Do you have something on the web so that I can investigate this further?


Cannot use namespace 'SonicBoom' as a type.

When using @types/pino for pino which has sonic-boom as a dependency and uses @types/sonic-boom for the types, I get Cannot use namespace 'SonicBoom' as a type.. After tracking this down this has to do with a discrepancy between @types/sonic-boom and sonicboom/types/index.d.ts.
Specifically:
export default SonicBoom;

should be
export = SonicBoom;

If you're gettin this, a solution for me was to explicitly use
"sonic-boom": "1.1.0",

In any repository that used an internal pino-wrapper package that depended on pino (which depends on sonic-boom)

If you can somehow fix the @types/pino repo You may be able to leave this how it is.
https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/pino/index.d.ts#L23
Specifically change
import SonicBoom = require('sonic-boom');

to
import SonicBoom from 'sonic-boom';

But I don't know which is easier to do

@kibertoad ptal.

@jontroncoso the easiest way is for you to send a PR.

IIRC correctly, export = x requires esinterop enabled and we removed it from other places, such as fastify-swagger, for same reason.
I'll take a look if it can be fixed in non-breaking way.

@mcollina Instead of changing types-pino, we can merge the pino types PR, that would fix problem as well, but yes, for sonic-boom this likely should have been a semver major.

I'm reverting the types here asap.

@jontroncoso the easiest way is for you to send a PR.

Sure. But, I wasn't sure if you which direction you wanted to go. Anyway, thanks for addressing so quickly.


[Feature] Pass the drop event to process function or similar function

Is there an existing issue for this?

[X] I have searched the existing issues

Is your feature request related to a problem? Please describe.
I have filepond with this simple configuration:
{
  dropOnPage: true,
  dropOnElement: false,
}

And I have some kind of file explorer with folders.
Currently dragging and dropping a file anywhere on the page works fine.
However I would like to be able to add custom data to the drop event whenever it is dropped on a folder of my file explorer (so that file gets uploaded inside of the subfolder rather than the root element).
In order to achieve this I capture the drop event with js and add my custom metadata. However I'm unable to access this drop event in the  server.process function.
Describe the solution you'd like
Would it be possible to pass down the drop event in some function where it is appropriate. I think this could be useful in general, so you could get the drop event information if needed.
Describe alternatives you've considered
I thought about having an internal array of objects which I would fill with filename+lastModifiedDate to uniquely identify every file and add my metadata there, to later retrieve it in server.process  function but I'm not sure if wouldn't encounter issues with how I uniquely identify files

I found this way
$(document).on('drop', (event) => {
  let folderPath = 'mymetadatahere';
  event.originalEvent.dataTransfer.files[0].folderPath = folderPath;
});

Note: If you don't use jQuery to add the drop eventListener, you can just do event.dataTransfer.files[0].whateverProperty = whateverDataVariable;


nil: add meta.mainPackage

Description of changes
Add meta.mainPackage to remove deprecation warning.
Related PR: https://github.com/NixOS/nixpkgs/pull/246386

Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

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

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

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

[ ] Fits CONTRIBUTING.md.

please revert the unrelated changes


Added 3 videos of which 2 videos length > 5 min in ML.txt

Link
https://drive.google.com/drive/u/0/folders/1cd-J8_d6fwlmoQyYsPrYruewp4zYegj0

🛠 Fixes Issue

👨💻 Changes proposed

✔ Check List (Check all the applicable boxes)

[x] My code follows the code style of this project.
[x] This PR does not contain plagiarized content.
[x] The title of my pull request is a short description of the requested changes.

📄 Note to reviewers

📷 Screenshots

Thank you @Shreya-spec for taking out your valuable time in order to contribute to our project. Looking forward for more such amazing contributions :)

Sure Thank you


IM_ASSERT "PushID/PopID or TreeNode/TreePop Mismatch!" with x64, Windows MSVC

Hi,
I'm trying to build the BetterSerialPlotter on Windows using Visual Studio 22.
When executing, the IM_ASSERT "PushID/PopID or TreeNode/TreePop Mismatch!" fails.
A comment states, that this assertion is intended to detect usage errors of ImGui.
Is it possible, that there is actually a usage error of ImGui/mahi-gui?
Thanks!

I've fixed it in PR https://github.com/nathandunk/BetterSerialPlotter/pull/7

This is fixed in this commit.


[Improve] remove checkstyle and scalastyle check

(Please specify the module before the PR name: [core] ... or [flink] ...)
Purpose
We already have spotless to format the code, so remove the check style plugin.
Tests
(List UT and IT cases to verify this change)
API and Format
(Does this change affect API or storage format)
Documentation
(Does this change introduce a new feature)

checkstyle should not be removed. Currently, the project uses spotless format and checkstyle together. For example: import *, shade use, etc. in checkstyle

https://www.libhunt.com/compare-spotless-vs-checkstyle?ref=compare
I think spotless and checkstyle are duplicate checks, we should not use them at the same time, If spotless doesn't support these checks, what we should do is make it support these checks.

checkstyle should not be removed. Currently, the project uses spotless format and checkstyle together. For example: import *, shade use, etc. in checkstyle

https://www.libhunt.com/compare-spotless-vs-checkstyle?ref=compare
I think spotless and checkstyle are duplicate checks, we should not use them at the same time, If spotless doesn't support these checks, what we should do is make it support these checks.

When removing checkstyle, can you add the project checkstyle special configuration item to the spotless format?

checkstyle should not be removed. Currently, the project uses spotless format and checkstyle together. For example: import *, shade use, etc. in checkstyle

https://www.libhunt.com/compare-spotless-vs-checkstyle?ref=compare
I think spotless and checkstyle are duplicate checks, we should not use them at the same time, If spotless doesn't support these checks, what we should do is make it support these checks.

When removing checkstyle, can you add the project checkstyle special configuration item to the spotless format?

I would love to try.  Thank you so much for your suggestion.

checkstyle should not be removed. Currently, the project uses spotless format and checkstyle together. For example: import *, shade use, etc. in checkstyle

https://www.libhunt.com/compare-spotless-vs-checkstyle?ref=compare
I think spotless and checkstyle are duplicate checks, we should not use them at the same time, If spotless doesn't support these checks, what we should do is make it support these checks.

When removing checkstyle, can you add the project checkstyle special configuration item to the spotless format?

I would love to try. Thank you so much for your suggestion.

I added import wildcard rules, PTAL thanks  @zhuangchong


File Managers (e.g. KDE Dolphin)

Copy and paste py CID inside the filemanager if ipns is mounted,
right-click and add to ipfs / pubish with ipns on any folder or file.

Thank you for that @lomenzel!
For this to happen though, it's best if the libraries behind those file managers gain support for IPFS.
In KDEs Dolphion case that would mean either in Qt itself or in de KDE IO (KIO) library.
On top of that you'd need the UI/UX glue to give a good experience. That's the Dolphin side of the equation.


Hubspot backport: HBASE-27672 Read RPC threads may BLOCKED at the Configuration.get when using java compression

This is a nice addition to our switches to zstd, because it further improves compression/decompression speed.

Nice! @charlesconnell I presume this applied cleanly? If not let me know if there were any conflicts to take a look at. If so, feel free to merge.

Yes, this applied cleanly


Optionally get rid of codegen from the CPU backend

I'd have liked this to be cleaner but if this changeset seems intrusive (IMO) it demonstrates architectural and abstraction issues both in the buildsystem as well as backend design. I can document and discuss these with @jbobba but in the meantime, this is holding up Halide integration

TESTNOW


Provide statistics per tier

The required statistics available on a cache are now also provided per tier

@henri-tremblay : build failure. Though we can merged #1792 once rebased ;-)


has is missing in dependencies

Hi!
We're using eslint-config-react-app which seems to use this package. We have E2E tests for yarn 2/3 (yarn berry) and it currently fails with:
ERROR in Failed to load plugin 'react' declared in 'BaseConfig » /tmp/e2e-tests/gatsby-pnp/.yarn/__virtual__/eslint-config-react-app-virtual-e49a42ae22/0/cache/eslint-config-react-app-npm-6.0.0-c5908e735c-b265852455.zip/node_modules/eslint-config-react-app/index.js » /tmp/e2e-tests/gatsby-pnp/.yarn/__virtual__/eslint-config-react-app-virtual-e49a42ae22/0/cache/eslint-config-react-app-npm-6.0.0-c5908e735c-b265852455.zip/node_modules/eslint-config-react-app/base.js': es-set-tostringtag tried to access has, but it isn't declared in its dependencies; this makes the require call ambiguous and unsound.

Required package: has
Required by: es-set-tostringtag@npm:2.0.0 (via /tmp/e2e-tests/gatsby-pnp/.yarn/cache/es-set-tostringtag-npm-2.0.0-087ab06370-3dc021e422.zip/node_modules/es-set-tostringtag/)

Require stack:
- /tmp/e2e-tests/gatsby-pnp/.yarn/cache/es-set-tostringtag-npm-2.0.0-087ab06370-3dc021e422.zip/node_modules/es-set-tostringtag/index.js
- /tmp/e2e-tests/gatsby-pnp/.yarn/cache/es-abstract-npm-1.21.0-329b427967-52305b52af.zip/node_modules/es-abstract/2022/CreateRegExpStringIterator.js
- /tmp/e2e-tests/gatsby-pnp/.yarn/cache/string.prototype.matchall-npm-4.0.8-1feb1531b6-952da3a818.zip/node_modules/string.prototype.matchall/regexp-matchall.js
- /tmp/e2e-tests/gatsby-pnp/.yarn/cache/string.prototype.matchall-npm-4.0.8-1feb1531b6-952da3a818.zip/node_modules/string.prototype.matchall/polyfill-regexp-matchall.js
- /tmp/e2e-tests/gatsby-pnp/.yarn/cache/string.prototype.matchall-npm-4.0.8-1feb1531b6-952da3a818.zip/node_modules/string.prototype.matchall/implementation.js
- /tmp/e2e-tests/gatsby-pnp/.yarn/cache/string.prototype.matchall-npm-4.0.8-1feb1531b6-952da3a818.zip/node_modules/string.prototype.matchall/index.js
- /tmp/e2e-tests/gatsby-pnp/.yarn/__virtual__/eslint-plugin-react-virtual-930a1f39e5/0/cache/eslint-plugin-react-npm-7.31.11-c53d0d603a-a3d612f664.zip/node_modules/eslint-plugin-react/lib/rules/jsx-indent.js
- /tmp/e2e-tests/gatsby-pnp/.yarn/__virtual__/eslint-plugin-react-virtual-930a1f39e5/0/cache/eslint-plugin-react-npm-7.31.11-c53d0d603a-a3d612f664.zip/node_modules/eslint-plugin-react/index.js
- /tmp/e2e-tests/gatsby-pnp/.yarn/cache/<EMAIL_ADDRESS>- /tmp/e2e-tests/gatsby-pnp/.yarn/cache/<EMAIL_ADDRESS>- /tmp/e2e-tests/gatsby-pnp/.yarn/cache/eslint-npm-7.32.0-e15cc6682f-cc85af9985.zip/node_modules/eslint/lib/cli-engine/cli-engine.js
- /tmp/e2e-tests/gatsby-pnp/.yarn/cache/eslint-npm-7.32.0-e15cc6682f-cc85af9985.zip/node_modules/eslint/lib/cli-engine/index.js
- /tmp/e2e-tests/gatsby-pnp/.yarn/cache/eslint-npm-7.32.0-e15cc6682f-cc85af9985.zip/node_modules/eslint/lib/api.js
- /tmp/e2e-tests/gatsby-pnp/.yarn/__virtual__/eslint-webpack-plugin-virtual-c9255f7c1f/0/cache/eslint-webpack-plugin-npm-2.7.0-374a541039-b6fd7cf4c4.zip/node_modules/eslint-webpack-plugin/dist/getESLint.js
- /tmp/e2e-tests/gatsby-pnp/.yarn/__virtual__/eslint-webpack-plugin-virtual-c9255f7c1f/0/cache/eslint-webpack-plugin-npm-2.7.0-374a541039-b6fd7cf4c4.zip/node_modules/eslint-webpack-plugin/dist/linter.js
- /tmp/e2e-tests/gatsby-pnp/.yarn/__virtual__/eslint-webpack-plugin-virtual-c9255f7c1f/0/cache/eslint-webpack-plugin-npm-2.7.0-374a541039-b6fd7cf4c4.zip/node_modules/eslint-webpack-plugin/dist/index.js
- /tmp/e2e-tests/gatsby-pnp/.yarn/unplugged/gatsby-virtual-724b8c477e/node_modules/gatsby/dist/utils/webpack-utils.js
- /tmp/e2e-tests/gatsby-pnp/.yarn/unplugged/gatsby-virtual-724b8c477e/node_modules/gatsby/dist/utils/webpack.config.js
- /tmp/e2e-tests/gatsby-pnp/.yarn/unplugged/gatsby-virtual-724b8c477e/node_modules/gatsby/dist/utils/start-server.js
- /tmp/e2e-tests/gatsby-pnp/.yarn/unplugged/gatsby-virtual-724b8c477e/node_modules/gatsby/dist/services/start-webpack-server.js
- /tmp/e2e-tests/gatsby-pnp/.yarn/unplugged/gatsby-virtual-724b8c477e/node_modules/gatsby/dist/services/index.js
- /tmp/e2e-tests/gatsby-pnp/.yarn/unplugged/gatsby-virtual-724b8c477e/node_modules/gatsby/dist/state-machines/develop/services.js
- /tmp/e2e-tests/gatsby-pnp/.yarn/unplugged/gatsby-virtual-724b8c477e/node_modules/gatsby/dist/state-machines/develop/index.js
- /tmp/e2e-tests/gatsby-pnp/.yarn/unplugged/gatsby-virtual-724b8c477e/node_modules/gatsby/dist/commands/develop-process.js
- /tmp/e2e-tests/gatsby-pnp/.cache/tmp-5165-Vo7zEMlGZZQO

I see that you have has in the devDependencies. Why is it not a normal dependency?

Thanks, this is a bug. It only would affect yarn PnP or pnpm users, since a standard npm installation would end up with has in the right place, but i'll still fix it.

v2.0.1 is published.

Thanks!


fixing problems with skeleton tracks with missing points

Motivation and context

fixing https://github.com/cvat-ai/cvat/issues/7783
also fixing related problem - some jobs from the issue can not be opened in ui due to missing shapes
How has this been tested?

Checklist

[ ] I submit my changes into the develop branch
[ ] I have created a changelog fragment
[ ] I have updated the documentation accordingly
[ ] I have added tests to cover my changes
[ ] I have linked related issues (see GitHub docs)
[ ] I have increased versions of npm packages if it is necessary
(cvat-canvas,
cvat-core,
cvat-data and
cvat-ui)

License

[ ] I submit my code changes under the same MIT License that covers the project.
Feel free to contact the maintainers if that's a concern.

Summary by CodeRabbit

New Features

Enhanced data integrity in annotation processing by adding filtering steps before sorting.
New entries for "many jobs skeleton tracks with missing shapes" and "many jobs skeleton" added to the dataset, improving job tracking capabilities and complex job definitions.
Introduced a new static method for annotation creation, improving code modularity and reusability.

Bug Fixes

Improved error handling in annotation functions to prevent runtime errors when accessing potentially undefined variables.

Tests

Expanded the testing framework with new tests for annotation creation scenarios, ensuring comprehensive coverage.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 83.46%. Comparing base (fe3f79f) to head (168d512).
Report is 6 commits behind head on develop.

Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #8377      +/-   ##
===========================================
- Coverage    83.62%   83.46%   -0.16%
===========================================
  Files          393      395       +2
  Lines        41640    41828     +188
  Branches      3841     3881      +40
===========================================
+ Hits         34820    34912      +92
- Misses        6820     6916      +96

Components
Coverage Δ

cvat-ui
79.39% <100.00%> (-0.31%)
:arrow_down:

cvat-server
87.09% <100.00%> (+<0.01%)
:arrow_up:

Seems like SonarCloud Code Analysis is failing because of the addition of _make_annotations_for_task. Now,  I see that it actually reduced complexity compared to previous implementation, however since it's technically a new function, SonarCloud feels entitled to complain.
I suggest either refactoring this function further to meet the complexity criteria: Refactor this function to reduce its Cognitive Complexity from 75 to the 15 allowed., or figuring out the way to suppress the warning. I couldn't quickly find it, but I imagine there has to be one.
Otherwise LGTM!

I suggest either refactoring this function

refactored it


How to take into account the strokeWidth of a Paint to obtain an intersect  between two paths ?

I am trying to get a boolean every time a path intersects, with the code :
final intersection = Path.combine(
   pathOperation.intersect,
   path,
   path2,
);

final pathsAreIntersecting = intersection.getBounds().isEmpty;

It works very well, however the problem comes when it depends on the strokeWidth of  Paint, since it is too thick, I do not know when it really intersects, I give an example of a square and an eraser.
// * ERASE PAINT
final erasePaint = Paint()
      ..blendMode = BlendMode.clear
      ..color = Colors.transparent
      ..strokeCap = StrokeCap.round
      ..strokeWidth = 5.0
      ..style = PaintingStyle.stroke;

// * PENCIL PAINT
final pencilPaint = Paint()
      ..strokeCap = StrokeCap.round
      ..isAntiAlias = true
      ..color = state.currentColor
      ..strokeWidth = 25.0
      ..style = PaintingStyle.stroke;

IMAGE EXAMPLE :

This is my code to calculate the intersection :
final last = _drawsList.last;

    if (last.type == ActionType.erase) {
      final Path path = Path();

      // * ONLY THIS FOR THE ERASE
      path.moveTo(
        last.pointList[0].dx,
        last.pointList[0].dy,
      );

      for (int f = 1; f < last.pointList.length; f++) {
        path.lineTo(last.pointList[f].dx, last.pointList[f].dy);
      }

      if (_drawsList.isNotEmpty) {
        for (var currentShape in _drawsList.sublist(0, _drawsList.length - 1)) { /// I do not take into account the last drawing
          final Path path2 = Path();

          switch (currentShape.type) {
            case ActionType.rectangle:

              path2.addRect(Rect.fromPoints(
                currentShape.pointList[0],
                currentShape.pointList[1],
              ));

              break;
            default:
              break;

          }

          final intersection = Path.combine(
            PathOperation.intersect,
            path,
            path2,
          );

          final pathsAreIntersecting = intersection.getBounds().isEmpty;
          print(pathsAreIntersecting); // [true] : not intersecting, [false] : intersecting
          print("====");
        }
      }
    }

Logs
Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel stable, 2.8.1, on Microsoft Windows [VersiÃ³n 10.0.19044.1889], locale es-MX)
[√] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
[√] Chrome - develop for the web
[√] Android Studio (version 2021.1)
[√] VS Code (version 1.70.2)
[√] Connected device (3 available)

• No issues found!
PS C:\Users\Daniel ROLDAN\Documents\flutterProjects\BluePad\bluepadFlutter> flutter doctor -v
[√] Flutter (Channel stable, 2.8.1, on Microsoft Windows [VersiÃ³n 10.0.19044.1889], locale es-MX)
    • Flutter version 2.8.1 at C:\src\flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 77d935af4d (8 months ago), 2021-12-16 08:37:33 -0800
    • Engine revision 890a5fca2e
    • Dart version 2.15.1

[√] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at C:\Users\Daniel ROLDAN\AppData\Local\Android\Sdk
    • Platform android-31, build-tools 31.0.0
    • ANDROID_HOME = C:\Users\Daniel ROLDAN\AppData\Local\Android\Sdk
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 11.0.11+9-b60-7590822)
    • All Android licenses accepted.

[√] Chrome - develop for the web
    • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe

[√] Android Studio (version 2021.1)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin can be installed from:
       https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
       https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.11+9-b60-7590822)

[√] VS Code (version 1.70.2)
    • VS Code at C:\Users\Daniel ROLDAN\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.46.0

[√] Connected device (3 available)
    • HMA L09 (mobile) • 8DM0218A12002832 • android-arm64  • Android 10 (API 29)
    • Chrome (web)     • chrome           • web-javascript • Google Chrome 101.0.4951.67
    • Edge (web)       • edge             • web-javascript • Microsoft Edge 104.0.1293.47

• No issues found!

Hi @kauzige
This issue doesn't seem to describe a bug or a feature request. Please see https://flutter.dev/community for resources and asking questions like this,
you may also get some help if you post it on Stack Overflow and if you need help with your code, please see https://www.reddit.com/r/flutterhelp/
Closing, as this isn't an issue with Flutter itself. If you disagree, please write in the comments and I will reopen it.
Thank you


GET_DENOMINATION_ROUTE documentation

Hi,
I detected a documentation error related to GET_DENOMINATION_ROUTE command. In theory it should get some args (I use {value: x, country_code: 'XXX') but that's not documented.
Greetings and great job,
Iago Loureiro.

@iagolobla, thanks!


Change how study modes are determined in SyncProviderFromFind

Context
When we upsert course options during the sync, part of the process
involves iterating over available study modes.
Determining available study modes is currently subject to the following
issue:

We pull a Course (C) with full_time_or_part_time study_mode.
We create CourseOptions (O1 and O2) with full_time and part_time
study_modes respectively.
The study_mode of C changes to full_time because there are no longer
any part time places.
On next sync, we use the study_mode of C to find the associated
CourseOptions. We find O2 because it's part time, but don't find O1.
Therefore we don't update O1's vacancy status, which is bad because it
remains available for applications when it's actually full.

(Shout out to @duncanjbrown for an issue description that articulates the problem more clearly than my earlier attempts.)
Changes proposed in this pull request
Fix this by introducing an object that helps determine the appropriate
study modes list. It returns either one or both study modes depending on
the current and historical study mode of the course.
Guidance to review
Changes are probably best understood by reading the specs.

Link to Trello card
Related to https://trello.com/c/zUcpQrGi
Things to check

[x] This code doesn't rely on migrations in the same Pull Request
[x] If this code includes a migration adding or changing columns, it also backfills existing records for consistency
[x] API release notes have been updated if necessary
[x] New environment variables have been added to the Azure config

This PR certainly addresses this case but what will happen if a course definition genuinely changes from both modes to full-time only (i.e. no part-time options should exist on our system). Can this happen?

Shall we ask Find?

Had a few other things on the go and just returned to this PR.

Have I understood correctly that the study_mode reported by Find changes when there are no vacancies for one of the modes?

@mnacos This is what I gather from reading some of the validation code in Find. Even if the value doesn't change as frequently as this assumption might imply, we should probably still have something like this PR to handle cases where the study_mode has been corrected or changed over time for other reasons.

My only practical suggestion is could you add a scenario to spec/services/sync_provider_from_find_spec.rb documenting this weird behaviour? i.e. Find changing the study mode according to the vacancy status.

@mnacos Definitely. I think this warrants a system spec as it'll help make a non-intuitive aspect of the sync behaviour a little more obvious. I wrote up a card for that here: https://trello.com/c/adHlQT3h

Shall we ask Find?

We should! Also made that a part of the card linked above.


Enhancement: ImageHub needs use env to locale user controller‘s namespace, do not hardcoded.

https://github.com/labring/sealos/blob/main/controllers/imagehub/api/v1/image_webhook.go#L35
Since user controller may be deploy to any system namespace, so you need up update this to read ns name from env like: --env USER_NAMESPACE=xxx

done at this pr


Visibility feature for posts

Based on visibility, update eveyones post_keys.

In current version, my post and contact info is visible to only people I trust.
These should be the options to choose for visibility, while creating a post/updating contact info:

only visible to people I trust
only visible to people I trust and people they trust.

Fully client side update.

Actually, server should only store the Visibility type, so when the client gets a post from server, it knows how to update visibility incase client revokes trust in someone - it will have to recalculate new post keys.

Not required.
Client handpicks identities that can view profile and posts.
They can use badges to help them pick, or just pick 1 or 2 identities per post.


Use metadata for recipe picture URL

Hi there!
What I like about CookLang is the self-contained nature of the recipe: Everything I need is right there in the .cook file. This ensures things like portability and compatibility.
I am aware that adding pictures by putting a JPEG with the same name "next to" the .cook file is merely a convention, but I would like to suggest adding a second convention that enables providing a picture via an URL in the metadata.
It could look something like this:
>> source: https://www.gimmesomeoven.com/baked-potato/
>> time required: 1.5 hours
>> course: dinner
>> image: https://www.gimmesomeoven.com/wp-content/uploads/2016/03/How-To-Make-A-Baked-Potato-Recipe-2.jpg

By hosting my recipe images elsewhere, I could ensure that my recipes are still self-contained, while also providing pictures.
Let me know what you think!
Best,
Jörn

That's really great idea @joerncodes!


Fix author emails in License, in .pas

subj. @andgineer
and "anso.da.ru"- fix it.

@andgineer Wait pls, don't post patches

@andgineer What is your correct email for all txt files?

sorokin.engineer
<EMAIL_ADDRESS>


fix: update wrong name in watch page

In this file, we have
    name: 'firstName', // without supply name will watch the entire form, or ['firstName', 'lastName'] to watch both

However, the input name is last instead of lastName. I believe this is a typo.

thank you.


Including better Swift interfaces/wrapper APIs

Proposal
CocoaTouch frameworks can include both Swift and ObjC. IGListKit should expose better Swift interfaces by including some Swift wrapper APIs.
For example, we could:

Provide a proper generic SectionController in Swift by wrapping IGListBindingSectionController, since ObjC lightweight generics aren't really useful in Swift.
Provide default parameter values to initializers
Namespace the IGListDiff functions and provide defaults for the options

Before, this was blocked by IG internal, but I think this is resolved now? IG internal could re-map the framework to BUCK to exclude the .swift files (in fact, this should already work by default since the BUCK file should only be including .h, .m, .mm, etc.). Thus, only the OSS version would include Swift.
cc @rnystrom can IG/FB internal handle Swift scale now? 😄

Should be doable, tho Buck still has some issues with mix-matched libs. I think its all fixed with Xcode 9 tho now that static libs work.

At the very least we could include this in he public project but just exclude it with Buck. Been thinking about this a lot, have some ideas.


Add some logs when the standby master send a heartbeat request

What changes are proposed in this pull request?
When the standby master send a heartbeat request to the leader master, many times there is no trace. When necessary, we should record their correspondence.
Why are the changes needed?
Adding some logs is necessary, here are some reasons:

When the master node fails, logs can help troubleshoot the cause.
It can make the communication between the standby master and the leader master clearer.

Does this PR introduce any user facing changes?
Please list the user-facing changes introduced by your change, including

change in user-facing APIs
addition or removal of property keys
webui

Here are some examples.
Logs saved by Standby master:
2023-04-06 17:22:49,076 DEBUG  MetaMasterSync - Standby master:<PHONE_NUMBER>78278360 send a heartbeat request to the leader master.
Logs saved by the leader master:
2023-04-06 17:22:51,937 DEBUG  DefaultMetaMaster - A heartbeat request was received from Standby master:<PHONE_NUMBER>78278360.

@jiacheliu3 @elega Could you take a quick look? Thanks!

Thanks @ssz1997 .

alluxio-bot, merge this please

alluxio-bot, merge this please


Add black settings to pyproject.toml for black project CI

Hi Django,
We know you're not a black formatted project (and that's fine) but we would like to use you for our CI as you give us ~1900 source files that need formatting. This is very valuable for us.
You have a few files that on purpose have syntax errors and some other files that don't offer us much value so we need to exclude them.
This PR adds to your already existing pyproject.toml the files we need to ignore to get a reliable black run.
Would this be considered to help our CI?
Thanks!

Would this be considered to help our CI?

@cooperlees The best thing to do is to file a ticket first, and it can be discussed there: https://code.djangoproject.com/query

Ok. I thought that would be spammy since this is just config that causes no changes to your project that does not use black. Will create the ticket and do the dance tho I guess.

I thought that would be spammy

No, it's not spammy! It's just the way that PR's are tracked.

Closing per: https://code.djangoproject.com/ticket/32818#comment:2


More commands that manipulate file objects are needed

My implementation of path:temp-file returns an Elvish "file" object like the fopen command does. This caused me to notice that the only command that explicitly works with such objects is fclose. Which suggests some changes would be useful. Such as changing the path:is-... commands to accept both a pathname string and a "file" object. The purpose of this issue is to suggest that we need a file module that implements not just file:open (deprecating builtin:fopen) and file:close (deprecating builtin:fclose) but also related commands such as file:seek and file:truncate.

Note that the first step, introducing a file module with commands file:open and file:close, has been done by first time contributor @supreetsingh10 with P.R. #1285.

This would not have been possible without you Mr. @krader1961, thank you very much for the guidance.

Now it is time to work on more functions. Haha, and your feedbacks are welcome, Mr. @krader1961.

Mr. @krader1961, if I am not wrong, file: truncate will be, if the file exists and is opened for either write-read only, it will truncate its length to 0. Right?


Cannot override the default HTTP/2 authority from Python when creating call objects

gRPC 1.7.0-dev, Python 2.7, Linux 4.4 (Ubuntu 14.04)
Once a channel has been created, there is no way to specify an alternative value for the :authority HTTP/2 pseudo-header from Python. gRPC categorically rejects any metadatum that specifies an HTTP/2 pseudo-header. In addition, the Python bindings do not provide any way to supply an argument to the grpc_channel_create_call() function's authority parameter. As a result, Python users are thus stuck with whatever value was set from the GRPC_ARG_DEFAULT_AUTHORITY channel argument. (This is especially irksome using the grpc_insecure_channel_create_from_fd() function, which for some reason hardcodes the authority to test.authority. I'm aware that no official Python bindings exist for that function; I have some of my own that I'd eventually like to upstream.)

I suspect that if this were a feature we were going to add, we'd add it across all language implementations.
@jboeuf, what are your thoughts on this?

@ctiller what is the policy for such metadata on the core stack?

Use the argument provided by grpc_channel_create_call to set it: not all transports are http2, and so the correct spelling isn't always :authority, and so this shouldn't be specified as metadata.

Uh, yeah. I'm saying that I can't supply a value to that parameter from Python.

@ced5: what is "the grpc_channel_create_call() function's authority parameter"? Sorry if I'm coming across as obtuse; a lot of this part of the code has leapt out of my brain since the last time I worked with it.

GRPCAPI grpc_call *grpc_channel_create_call(
    grpc_channel *channel, grpc_call *parent_call, uint32_t propagation_mask,
    grpc_completion_queue *completion_queue, grpc_slice method,
    const grpc_slice *host /* <-- this parameter is the one I'm talking about */,
    gpr_timespec deadline, void *reserved);

@nathanielmanistaatgoogle Please evaluate if there anything actionable here or shall we close this issue?

@ced5: is this still a thing that should happen eventually?

Closing due to reporter inaction. Please feel free to re-open if this is still an issue.


Update staff page

Reflects changes to division director, assumes changes for director's previous position & fixes wrong profile picture

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


Fix LocalPlayer

Replaces (struct LocalPlayer*)Entities.List[ENTITIES_SELF_ID] with Entities.CurPlayer
Fixes LocalPlayer for ClassiCube 1.3.7

Fixes https://github.com/dflat2/Pico/issues/3

Thanks! I've merged it to the main branch.


Add a view counter in live track activity to show the number of people viewing it

https://stackoverflow.com/questions/37403251/how-can-i-track-the-current-number-of-viewers-of-an-item
Instead of using a count variable, we can instead use a data model (as is often the case with NoSQL databases) to store the values of the users' UIDs and then get the total number of children count. This way, race conditions can be avoided and the transactions can be handled properly.


Support Dart 2.1.0

The latest master version of flutter uses Dart 2.1.0.
reselect_dart itself supports Dart 2.1.0, but memoize does not.
The current Dart SDK version is 2.1.0-dev.0.0.flutter-be6309690f.

Because reselect >=0.3.0 depends on memoize >=1.1.0 which requires SDK version >=1.21.0 <2.0.0, reselect >=0.3.0 is forbidden.
So, because timmer depends on reselect ^0.3.0, version solving failed.
pub upgrade failed (1)

https://github.com/brianegan/reselect_dart/pull/5

Thanks for the report and the fix, @long1eu! New version that fully supports Dart 2 published as 0.4.0.


try and catch no error?

Im using Laravel, I have the following code, comming from a form, there comes no error if the connection is 100% wrong.
      if ( $rcon ) {
        try {
          $rconconnection = new ARC($rconhost, $rconpass, $rconport);
          $rconconnection
                      ->sayGlobal('VitControl: Connection successful!')
                      ->disconnect()
          ;
        } catch (Exception $e) {
          $exception = $e->getMessage();

          return \Redirect::route('addServerForm')
            ->with('message', $exception);
        }
        return \Redirect::route('addServerForm')
            ->with('message', 'Server registered!');
      } else {
      return \Redirect::route('addServerForm')
        ->with('message', 'Server registered!');
      }

    }

I'll take a look tomorrow :)

ARC currently checks if the socket is created and if writing the message to the socket was successful. It does not validate the returned packages from the server nor it does acknowledge them.

The server's BE RCon tries to send a server message packet 5 times for 10 seconds. If the client fails to
acknowledge the packet within this time, it will be removed from BE RCon's list of authenticated clients and will no longer be able to issue any commands.

(see here)
This will also not be done in the future, because this project is not meant to establish a long lasting connection, only sending commands quickly. Furthermore PHP is not a good language for those actions.
So you cannot really say, if the server exists without checking the received packages (not done).
As a work-around, you might get the player list and check if it is empty. If so, the server might not exist.
Example:
try {
    $rconconnection = new ARC($rconhost, $rconpass, $rconport);

    if (empty($rconconnection->getPlayers()) {
        throw new Exception('Connection failed!');
    } else {
        $rconconnection
            ->sayGlobal('VitControl: Connection successful!')
            ->disconnect()
        ;
    }
} catch (Exception $e) {
    $exception = $e->getMessage();

    return \Redirect::route('addServerForm')
        ->with('message', $exception);
}

I hope I was of help to you :)


docs: accessing the server on WSL2 from your LAN

Description
close #13028
Additional context

What is the purpose of this pull request?

[ ] Bug fix
[ ] New Feature
[x] Documentation update
[ ] Other

Before submitting the PR, please make sure you do the following

[x] Read the Contributing Guidelines.
[x] Read the Pull Request Guidelines and follow the PR Title Convention.
[x] Check that there isn't already a PR that solves the problem the same way to avoid creating a duplicate.
[x] Provide a description in this PR that addresses what the PR is solving, or reference the issue that it solves (e.g. fixes #123).
[ ] Ideally, include relevant tests that fail without this PR but pass with it.

The issue with the description of the problem was closed, so I figured that I would leave this here, for whoever finds manually doing all of this Firewall stuff very unproductive.

Here's a ps1 script that automatically forwards required ports from WSL and adds Windows Firewall rules:
try {
	$remoteport = bash.exe -c "ip addr show eth0 | grep 'inet '"
	$found = $remoteport -match '\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}';

	if( $found ){
	  $remoteport = $matches[0];
	} else{
	  throw "The Script Exited, the ip address of WSL 2 cannot be found";
	}

	#[Ports]

	#All the ports you want to forward separated by a comma (no spaces). 5174 was added for demonstration
	$ports=@(5173,5174);

	#[Static ip]
	#You can change the addr to your ip config to listen to a specific address
	$addr='<IP_ADDRESS>';
	$ports_a = $ports -join ",";

	#Remove Firewall Exception Rules
	Remove-NetFireWallRule -DisplayName 'WSL 2 Firewall Unlock' -ErrorAction SilentlyContinue;

	#adding Exception Rules for inbound and outbound Rules
	New-NetFireWallRule -DisplayName 'WSL 2 Firewall Unlock' -Direction Outbound -LocalPort $ports -Action Allow -Protocol TCP -ErrorAction stop;

	New-NetFireWallRule -DisplayName 'WSL 2 Firewall Unlock' -Direction Inbound -LocalPort $ports -Action Allow -Protocol TCP -ErrorAction stop;

	for( $i = 0; $i -lt $ports.length; $i++ ){
	  $port = $ports[$i];
	  netsh interface portproxy delete v4tov4 listenport=$port listenaddress=$addr;
	  netsh interface portproxy add v4tov4 listenport=$port listenaddress=$addr connectport=$port connectaddress=$remoteport;
	}

	echo "For WSL IP $remoteport added Firewall rules and port forwards for ports: $ports_a";
} catch {
    Write-Error $_.Exception.ToString();
    Read-Host -Prompt "The above error occurred. Press Enter to exit.";
}

Change ports as you need.
Save this script in a .ps1 file. You can then either run this script with admin rights manually every time you start your PC or:

Create a task in the task scheduler for the script with increased rights on starting PC
Or create a shortcut to the script that has admin rights, and in the "object" field of the properties of the object you should have this:

"C:\Program Files\PowerShell\7\pwsh.exe" -f C:\path\to\your\script.ps1

This launches the script with powershell (change powershell and script paths to your own).
If you had custom firewall rules and/or netsh portproxies for this, then delete them. To list all portproxies that you have right now use this:
netsh interface portproxy show all

If you want to change ports, change them in the script and re-run the script.

If maintainers (understandably) find this offtop, then please provide alternatives to users, or at least give them the script.


Fix auto cargo updates

I was messing around with cargo audit and cargo outdated and realized I broke the auto-update of cargo.
When I switched from using cargo update to cargo upgrade https://github.com/NixOS/nixpkgs-check-by-name/pull/61, I didn't realize that cargo upgrade doesn't update the Cargo.lock file.
I only noticed because cargo audit was reporting a yanked version of libc and running cargo update fixed it.
I added running cargo outdated as a sanity check that things are updating correctly.

example output
cargo changes
    Updating 'https://github.com/rust-lang/crates.io-index' index
    Checking nixpkgs-check-by-name's dependencies
name      old req compatible latest  new req
====      ======= ========== ======  =======
serde     1.0.201 1.0.202    1.0.202 1.0.202
itertools 0.12.1  0.12.1     0.13.0  0.13.0
   Upgrading recursive dependencies
    Updating either v1.11.0 -> v1.12.0
    Updating proc-macro2 v1.0.81 -> v1.0.83
    Updating syn v2.0.60 -> v2.0.65
note: Re-run with `--verbose` to show more dependencies
  latest: 13 packages

cargo update
    Updating crates.io index
    Updating anyhow v1.0.82 -> v1.0.86
    Updating errno v0.3.8 -> v0.3.9
    Updating libc v0.2.154 -> v0.2.155
    Updating linux-raw-sys v0.4.13 -> v0.4.14
    Updating ryu v1.0.17 -> v1.0.18

cargo outdated
All dependencies are up to date, yay!

cargo audit
    Fetching advisory database from `https://github.com/RustSec/advisory-db.git`
      Loaded 626 security advisories (from /home/will/.cargo/advisory-db)
    Updating crates.io index
    Scanning ./Cargo.lock for vulnerabilities (82 crate dependencies)

npins changes
[INFO ] Updating 'nixpkgs' …
Changes:
-    url: https://releases.nixos.org/nixpkgs/nixpkgs-24.05pre626139.abd6d48f8c77/nixexprs.tar.xz
+    url: https://releases.nixos.org/nixpkgs/nixpkgs-24.05pre628535.f9256de8281f/nixexprs.tar.xz
-    hash: 1zl76mia6iav9byczjxw3lhr6hv7an4nk2kh440gpr9lqx2j446k
+    hash: 11lg3hq9hz2hmk615c65vjsg1j122661k1n3by5wr5fyrzr4yp4a
[INFO ] Updating 'treefmt-nix' …
Changes:
-    revision: c6aaf729f34a36c445618580a9f95a48f5e4e03f
+    revision: 2fba33a182602b9d49f0b2440513e5ee091d838b
-    url: https://github.com/numtide/treefmt-nix/archive/c6aaf729f34a36c445618580a9f95a48f5e4e03f.tar.gz
+    url: https://github.com/numtide/treefmt-nix/archive/2fba33a182602b9d49f0b2440513e5ee091d838b.tar.gz
-    hash: 18491j2law88zdkfxrpg2snbcig34pfcg7ykgjwf6ahbdq313zj2
+    hash: 163ra7ck07maamg20ppqlsn8mjrf6jrn0g81334pvsfa1wr8g6n0
[INFO ] Update successful.

@infinisil think we should change this to be an array? I think the order the steps are written to the script are indeterminate (npins update may run last for example).

Recently found on some private Rust repos I maintain that dependabot doesn't "just update everything" like I thought. Maybe this bespoke script to run cargo commands is tarting to look more appealing to me.

@infinisil think we should change this to be an array? I think the order the steps are written to the script are indeterminate (npins update may run last for example).

lib.attrValues (which is really builtins.attrValues) says this:

Returns the values of the attributes in the set set in the order corresponding to the sorted attribute names.

Since it's sorted, the order is assured.


CODEC-314: Fix possible IndexOutOfBoundsException

This fixes a possible IndexOutOfBoundsException in src/main/java/org/apache/commons/codec/net/PercentCodec.java
This PR adds a conditional check to ensure only valid bytes (positive or zero) are processed.
We found this bug using fuzzing by way of OSS-Fuzz. It is reported at https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=64362.

Let's just have ONE PR instead of one-liner PRs. Especially since these all claim to fix the exact same kind of issue. Also, you MUST provide a matching test.

Hi, I have added unit test. I am not sure about combining the PRs since they are opened as 4 different issues in the JIRA.

Hi, I have added unit test. I am not sure about combining the PRs since they are opened as 4 different issues in the JIRA.

In this case, I don't care about mapping PRs to JIRA 1-1. YMMV ;-) I care about making my life easier ;-)

Hi @arthurscchan,
Please help me understand why we need this PR because at first glance this PR could be making the use case worse IMO:

Before PR: Grabage in -> exception, albeit not IllegalArgumentException.
After PR: Garbage in -> garbage out

Or am I missing something?
TY!

Hi @garydgregory,
In my understanding, the constructor of PecentCodec calls the insertAlwaysEncodeChars(byte[]) method in Line 83. The use of the insertAlwaysEncodeChars(byte[]) method is to record all bytes in the provided byte array to be some character that requires encode all the time. Thus if garbage bytes do exist in the byte array, it should be skipped and all other "valid" bytes should still be considered. For example, if someone thinks that the letter A should always be encoded, and accidentally provides byte[] encode = {(byte)'A', (byte) -1};, the logic could still work, skipping the -1 bytes and change the 'A' byte in the BitSet to true. Also, the byte array itself is never stored in the object. Thus the PR could make the running smoother without crashing even if some invalid byte does exist. The new logic simply skips them and continues. The most important part is that "valid" bytes are still processed and interpreted.
This is my understanding, am I missing something here??

Hi, I have added unit test. I am not sure about combining the PRs since they are opened as 4 different issues in the JIRA.

In this case, I don't care about mapping PRs to JIRA 1-1. YMMV ;-) I care about making my life easier ;-)

If you want, I don't mind combining all the PRs together, not sure if it is more messy to handle though.

@arthurscchan
Please use a better description in PRs and JIRA: Specify the class and method where the exception occurs.

@arthurscchan Please use a better description in PRs and JIRA: Specify the class and method where the exception occurs.

Hi, I have added unit test. I am not sure about combining the PRs since they are opened as 4 different issues in the JIRA.

In this case, I don't care about mapping PRs to JIRA 1-1. YMMV ;-) I care about making my life easier ;-)

If you want, I don't mind combining all the PRs together, not sure if it is more messy to handle. Although they are throwing similar exceptions, I would say the reason is not too similar IMO.

Well, at this point, I commented on all PRs, so we might as well leave it as is.
You'll have to make sure to review all comments from all PRs as they apply to all PRs but I did not want to repeat myself all over the place ;-)

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (44e4c4d) 92.27% compared to head (46991d0) 92.27%.
Report is 4 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff            @@
##             master     #222   +/-   ##
=========================================
  Coverage     92.27%   92.27%
- Complexity     1742     1743    +1
=========================================
  Files            67       67
  Lines          4584     4585    +1
  Branches        709      710    +1
=========================================
+ Hits           4230     4231    +1
  Misses          242      242
  Partials        112      112

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

Hi @garydgregory,
In my understanding, the constructor of PecentCodec calls the insertAlwaysEncodeChars(byte[]) method in Line 83. The use of the insertAlwaysEncodeChars(byte[]) method is to record all bytes in the provided byte array to be some character that requires encoding. Thus if garbage bytes do exist in the byte array, it should be skipped and all other "valid" bytes should still be considered. For example, if someone thinks that the letter A should always be encoded, and accidentally provides byte[] encode = {(byte)'A', (byte) -1};, the logic could still work, skipping the -1 bytes and change the 'A' byte in the BitSet to true. Also, the byte array itself is never stored in the object. Thus the PR could make the running smoother without crashing even if some invalid byte does exist. The new logic simply skips them and continues. The most important part is that "valid" bytes are still processed and interpreted. This is my understanding, am I missing something here?? Do let me know if I interpret the functionality wrongly. Thanks.

Hmm, so that means that one can roundtrip encode/decode, but when you start with bad data, you end up with nothing (if all the input is bad) or good encoded data. But when you decode that encoded data, you don't end up with what you started. If we really want all of that, I think we should update the Javadoc and describe that encoding also performs filtering and can never throw an exception for illegal input. WDYT?
Does that mean encode never throws EncoderException?

@garydgregory Oh, you are right, if we filtered out invalid data, then the round trip result will be differed from the original input. Sorry for missing that. Maybe throwing EncoderException is much better. Instead of checking the length and skip the invalid byte, I could simply add a try catch block in the code, when any IndexOutOfBound (or more general, and kind of RuntimeException) is thrown, wrap it with EncoderException. This could at least make the method not throwing "unexpected" RuntimeException. It maybe a better approach. WDYT?

Hi @garydgregory,
I think it is a different case. The invalid bytes are provided through constructor, it is only used for the initial setting of the PercentCodec object to set which bytes are to be encoded during the encode or decode method.  Thus if we initialise the PercentCodec with a byte array contains invalid bytes, it just mean that the encode method will not encode that byte. It does not affect the encode and decode process at all. Thus the encode / decode method round trip won't be affected and the result is the same as the original input. Maybe I could add a round trip call and ensure the result are the same in the test case.
Alternatively, instead of checking the length and skip the invalid byte during constructor phase, I could simply add a try catch block in the code, when any IndexOutOfBound (or more general, and kind of RuntimeException) is thrown, wrap it with EncoderException. This could at least make the method not throwing "unexpected" RuntimeException. It maybe a better approach. WDYT?

Hi @garydgregory, OK. Sorry for not considering in that direction. I will change the code in this PR to wrap around the possible IndexOutOfBoundException in an EncoderException, to at least decrease the change of "unpexected" input thrown directly from the constructor. That maybe a better approach. Thanks for your comments.

TY @arthurscchan
Let's keep in mind that this is a library that needs to make sense (or try to) for users. As opposed to just addressing fuzzing issues in the most expedient manner ;-) TY again for your work :-)

@garydgregory Sorry I am bit busy and did not handle that last week. Thanks for fixing that for me.


[SPARK-5282][mllib]: RowMatrix easily gets int overflow in the memory size warning

JIRA: https://issues.apache.org/jira/browse/SPARK-5282
fix the possible int overflow in the memory computation warning

Test build #25657 has started for   PR 4069 at commit 7afac23.

This patch merges cleanly.

Test build #25657 has finished for   PR 4069 at commit 7afac23.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/25657/
Test PASSed.

Test build #25700 has started for   PR 4069 at commit e54e5c8.

This patch merges cleanly.

Test build #25700 has finished for   PR 4069 at commit e54e5c8.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/25700/
Test PASSed.

@srowen Would you mind to take another look? Thanks

LGTM

Thanks.

Merged into master and branch-1.2. Thanks!


When adding PWA, get network timeout

Hi,
I am trying to add my own PWA using the url https://kurtlourens.com/manifest.json and I am receiving a timeout.
What am I doing wrong? 😂

@Khaoz-Topsy
Thank you for reporting this issue, I will debug it and let you know.

Hi! it has been a while 😅, I still can't add https://kurtlourens.com/manifest.json and I have a new site that I would like to add https://tennodex.com/manifest.json. I can't add either of them, I still get the network timeout error

Hi @Khaoz-Topsy
Thank you for reaching out, I added them manually and I will debug the issue to make sure it's solve for future submissions.
Cheers,
Julian


Cannot generate client for object

Describe the bug
Endpoint is not generated
To Reproduce
Steps to reproduce the behavior:
Run pipx run openapi-python-client update --path ./specs/ally.yaml
Expected behavior
Endpoint is generated
OpenAPI Spec File
openapi: 3.0.0
info:
  title: Ally
  version: 1.0.0
servers:
  - url: 'https://api.tradeking.com/v1'
paths:
  /market/clock.json:
    get:
      operationId: clock
      description: This call will return the current state of the market, the time of the next state change (if the market is open), and the current server timestamp.
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  response:
                    type: object
                    properties:
                      '@id':
                        type: string
                        format: uuid
                      status:
                        type: object
                        properties:
                          current:
                            type: string
                          next:
                            type: string

Desktop (please complete the following information):

OS: [e.g. macOS 10.15.1]
Python Version: [e.g. 3.7.8]

I believe the combination of #124 and #162 will together solve this issue, so I'm going to close this in an attempt to deduplicate some issues. If there's something more at play here that I'm missing, please reopen and let me know.


Update tabs

Replaces the existing Tabs implementation with one that matches the Vue implementation.

Seems to be missing a ResizeObserver for wunderbar - unless you handled this in some way I haven't noticed? - e.g. here
Are side-by-side icons + labels supported? - e.g. here

Ah nope, you're dead right. Missing the resize observer AND some icon cases.
Looking at the Figma doc, it looks like the underline/non contained style doesn't actually have a case of icon on top?

Adi can confirm, but from my understanding it can be either - e.g. reise and økonomi both have icon-on-top + underlined style


fix: Capture the npm_package_version

Description:
The ConfigService was using an all caps version of the npm_package_version of the env var definition but in a node context the env var is lowercase: npm_package_version.  Nothing was being returned from the web3_clientVersion method.
Related issue(s):
Fixes #3197
Notes for reviewer:
Simply changing the case of the env var definition in the GlobalConfig.ts class prevents updating conditional logic that already works.  Adding the version number to the root package.json file allows it to be loaded by the ConfigService.ts which loads before the acceptance tests framework.
Checklist

[ ] Documented (Code comments, README, etc.)
[ ] Tested (unit, integration, etc.)

@ebadiere could run npm install locally to fix the package-lock.json as well.


Delete POC project

@nasthagiri  POC app was created initially before MVP release. The implementation of download and playback has changed a lot since then.  I recommend we delete it.
cc @shahidtamboli  @aleffert

:+1: like!


Update for CUDA 12.3.2

xref: https://github.com/conda-forge/cuda-feedstock/issues/15

@conda-forge-admin, please rerender


[Discussion] writing some file like "saved_model.pb" in "/tmp/serving" when I run separate in command

INFO:tensorflow:SavedModel written to: /tmp/serving/temp-b'1585795594'/saved_model.pb
INFO:tensorflow:Restoring parameters from /tmp/serving/1585795594/variables/variables

For me it doesn't work yet


Incorrect indentation in single-item Help center tabs widget

The second line in a single-item Help center tabs widget does not indent properly:

Adding a second item without making any other changes fixes this, so it seems to be a bug in how we process the Markdown.
@laurynmm could you take a look at this one?

@alya I looked into this issue. There seems to be a combination of how lists in Markdown are parsed into html based on whether there is a blank line between items (which can't happen in a list of one item) and the fact that there is a css rule for ordered lists that depends on that blank line parsing behavior. I started a CZO chat with the details and because I'm not sure what the solution is ...


update compare_results script with required arguments, move tabulate …

…dependency
Summary by Sourcery
Enhancements:

Update the compare_results script to require specific arguments for input and output directories.

When saving results? we use .csv extension, but saving markdown string. May be save it as .md?


[[CHORE]] Pass correct parameter to state.inES6

Good catch! Merged to master at commit d089d7d5caaf2c0f1f61dc9d9e471ca4bdc5bee4


chore: migrate metadata to aws v2

Description

Migrate metadata package to AWS sdk v2.
roxcurl /v1/clusters | jq .

...
"providerMetadata": {
          "region": "us-west-2",
          "zone": "us-west-2d",
          "aws": {
            "accountId": "051999192406"
          },
          "verified": true,
          "cluster": {
            "type": "EKS",
            "name": "sh-07-26-1",
            "id": "arn:aws:eks:us-west-2:051999192406:cluster/sh-07-26-1"
          }
...

User-facing documentation
(must be 2 items and both must be checked)

[ ] CHANGELOG is updated
[x] CHANGELOG update is not needed
[ ] Documentation PR is created and linked above
[x] Documentation is not needed

Testing

[x] inspected CI results

Automated testing
(must be at least 1 item and all items must be checked)

[ ] added unit tests
[ ] added e2e tests
[ ] added regression tests
[ ] added compatibility tests
[ ] modified existing tests
[x] contributed no automated tests

How I validated my change

change me!

Can you present a diff what has changes. I've seen that we miss zone and accountid

Can you present a diff what has changes. I've seen that we miss zone and accountid

What do you mean? There should be no diff in the metadata. It's just a new way (sdk v2) of getting the same data and doing the same verification.

I've tried it on dogfooding instance and this fields were empty, but maybe I have no permissions to see it :shrug:

I've tried it on dogfooding instance and this fields were empty, but maybe I have no permissions to see it 🤷

Have you created the secured cluster on AWS?

Confirmed again that the metadata is returned correctly:
"providerMetadata": {
  "region": "us-west-2",
  "zone": "us-west-2b",
  "aws": {
    "accountId": "051999192406"
  },
  "verified": true,
  "cluster": {
    "type": "EKS",
    "name": "sh-08-01-1",
    "id": "arn:aws:eks:us-west-2:051999192406:cluster/sh-08-01-1"
  }
},


Words that are written in three different ways

CC-CEDICT:
乾淨 干净 [gan1 jing4] /clean/neat/
怎麼 怎么 [zen3 me5] /how?/what?/why?/
怎麽 怎么 [zen3 me5] /variant of 怎麼|怎么[zen3 me5]/
CedPane:
乾淨 干淨 [gan1 jing4] /clean/neat and tidy (variant)/
怎麼 怎麽 [zen3 me5] /how (variant)/
gānjìng is written as 乾淨, 干净, 干淨
Also it looks like the convention of CC-CEDICT is that it maps the variant (怎麽) on the left side of simplified(怎么):
怎麽 怎么 [zen3 me5] /variant of 怎麼|怎么[zen3 me5]/
While CedPane maps the variant(怎麽) on the right of the traditional(怎麼):
怎麼 怎麽 [zen3 me5] /how (variant)/
Not sure which dictionary got it correct for both traditional and simplified on words that are identified written in three different ways. And not sure which convention is better/correct on mapping the variants, maybe there is no better/correct way when it comes to variant, just need to be consistent. if I'm not mistaken though, I noticed that variants on CC-CEDICT are all on left sides
Sharing this findings
Here are the others:
乾淨~干净~干淨	gānjìng
事實勝於雄辯~事实胜于雄辩~事實勝于雄辯	shìshí shèngyú xióngbiàn
亙古不變~亘古不变~亘古不變	gèngǔ-bùbiàn
先天與後天~先天与后天~先天與后天	xiāntiān yǔ hòutiān
千層麵~千层面~千層面	qiāncéngmiàn
商舖~商铺~商鋪	shāngpù
對摺~对折~对摺	duìzhé
小範圍~小范围~小范圍	xiǎofànwéi
市場佔有率~市场占有率~市場占有率	shìchǎng zhànyǒulǜ
復盤~复盘~複盤	fùpán
徵稅~征税~征稅	zhēngshuì
怎麼~怎么~怎麽	zěnme
採石場~采石场~采石場	cǎishíchǎng
揚穀~扬谷~揚谷	yánggǔ
旅遊團~旅游团~旅游團	lǚyóutuán
旅遊景點~旅游景点~旅游景點	lǚyóu jǐngdiǎn
書籤~书签~书籤	shūqiān
極端份子~极端分子~極端分子	jíduān fènzǐ
標準尺寸~标准尺寸~標准尺寸	biāozhǔn chǐcùn
橫槓~横杠~橫杠	hénggàng
武裝份子~武装分子~武裝分子	wǔzhuāng fènzǐ
準繩~准绳~准繩	zhǔnshéng
燈臺~灯台~燈台	dēngtái
生命體徵~生命体征~生命體征	shēngmìng tǐzhēng
穫獎者~获奖者~獲獎者	huòjiǎngzhě
空氣淨化器~空气净化器~空氣凈化器	kōngqì jìnghuàqì
純淨~纯净~纯淨	chúnjìng
網誌~网志~網志	wǎngzhì
縫製~缝制~縫制	féngzhì
縱慾~纵欲~纵慾	zòngyù
聯繫方式~联系方式~聯系方式	liánxì fāngshì
腦性麻痺~脑性麻痹~脑性麻痺	nǎoxìng mábì
蘇打餅乾~苏打饼干~蘇打餅干	sūdá bǐnggān
衝嚮~冲向~衝向	chōngxiàng
製氧機~制氧机~制氧機	zhìyǎngjī
複選框~复选框~復選框	fùxuǎnkuàng
規範性~规范性~規范性	guīfànxìng
註冊商標~注册商标~注冊商標	zhùcè shāngbiāo
資金槓桿~资金杠杆~资金槓杆	zījīn gànggǎn
迴旋處~回旋处~回旋處~迴旋处	huíxuánchù
那麼~那么~那麽	nàme
重覆性~重复性~重複性	chóngfùxìng
鋼製~钢制~鋼制	gāngzhì
除淨~除净~除凈	chújìng
電臺~电台~電台	diàntái
非標準~非标准~非標准	fēibiāozhǔn
鬆脫~松脱~鬆脱	sōngtuō
鹹豬手~咸猪手~咸豬手	xiánzhūshǒu
麵包機~面包机~面包機	miànbāojī
雕鴞~雕鸮~鵰鴞	diāoxiāo
丹稜縣~丹棱县~丹棱縣	Dānléng Xiàn
云城區~云城区~雲城區	Yúnchéng Qū
仙遊縣~仙游县~仙游縣	Xiānyóu Xiàn
佈蘭森~布兰森~布蘭森	Bùlánsēn
信豐縣~信丰县~信丰縣	Xìnfēng Xiàn
南嶽區~南岳区~南岳區	Nányuè Qū
南豐縣~南丰县~南丰縣	Nánfēng Xiàn
印臺區~印台区~印台區	Yìntái Qū
叢臺區~丛台区~叢台區	Cóngtái Qū
台東市~台东市~臺東市	Táidōng Shì
周杰倫~周杰伦~周傑倫	Zhōu Jiélún
咸豐縣~咸丰县~咸丰縣	Xiánfēng Xiàn
哈囉德~哈罗德~哈羅德	Hāluódé
國臺辦~国台办~國台辦	Guó-Tái-Bàn
大餘縣~大余县~大余縣	Dàyú Xiàn
宋干節~宋干节~宋乾節	Sònggānjié
宜豐縣~宜丰县~宜丰縣	Yífēng Xiàn
寶豐縣~宝丰县~寶丰縣	Bǎofēng Xiàn
岱嶽區~岱岳区~岱岳區	Dàiyuè Qū
崑士蘭~昆士兰~昆士蘭	Kūnshìlán
嶽塘區~岳塘区~岳塘區	Yuètáng Qū
嶽麓區~岳麓区~岳麓區	Yuèlù Qū
廣豐縣~广丰县~廣丰縣	Guǎngfēng Xiàn
張勳~张勋~張勛	Zhāng Xūn
後龍鎮~后龙镇~后龍鎮	Hòulóngzhèn
新豐縣~新丰县~新丰縣	Xīnfēng Xiàn
新豐鄉~新丰乡~新丰鄉	Xīnfēng Xiāng
於田縣~于田县~于田縣	Yútián Xiàn
於都縣~于都县~于都縣	Yúdū Xiàn
東豐縣~东丰县~東丰縣	Dōngfēng Xiàn
檯安縣~台安县~台安縣	Tái'ān Xiàn
民豐縣~民丰县~民丰縣	Mínfēng Xiàn
永豐縣~永丰县~永丰縣	Yǒngfēng Xiàn
沃羅湼日~沃罗涅日~沃羅涅日	Wòluónièrì
海澱區~海淀区~海淀區	Hǎidiàn Qū
海豐縣~海丰县~海丰縣	Hǎifēng Xiàn
清豐縣~清丰县~清丰縣	Qīngfēng Xiàn
漢臺區~汉台区~漢台區	Hàntái Qū
瀋陽~沈阳~沈陽	Shěnyáng
瀋陽市~沈阳市~沈陽市	Shěnyáng Shì
灣裡區~湾里区~灣里區	Wānlǐ Qū
甕安縣~瓮安县~瓮安縣	Wèng'ān Xiàn
甦仙區~苏仙区~蘇仙區	Sūxiān Qū
甦家屯區~苏家屯区~蘇家屯區	Sūjiātún Qū
當涂縣~当涂县~當塗縣	Dāngtú Xiàn
石臺縣~石台县~石台縣	Shítái Xiàn
礄口區~硚口区~硚口區	Qiáokǒu Qū
祿豐縣~禄丰县~祿丰縣	Lùfēng Xiàn
範縣~范县~范縣	Fàn Xiàn
綏稜縣~绥棱县~綏棱縣	Suíléng Xiàn
臺灣省~台湾省~台灣省	Táiwānshěng
興隆臺區~兴隆台区~興隆台區	Xīnglóngtái Qū
華東師範大學~华东师范大学~華東師范大學	Huádōng Shīfàn Dàxué
西豐縣~西丰县~西丰縣	Xīfēng Xiàn
豐南區~丰南区~丰南區	Fēngnán Qū
豐台區~丰台区~丰台區	Fēngtái Qū
豐寧~丰宁~丰寧	Fēngníng
豐寧縣~丰宁县~丰寧縣	Fēngníng Xiàn
豐滿區~丰满区~丰滿區	Fēngmǎn Qū
豐潤區~丰润区~丰潤區	Fēngrùn Qū
豐澤區~丰泽区~丰澤區	Fēngzé Qū
豐縣~丰县~丰縣	Fēng Xiàn
豐都縣~丰都县~丰都縣	Fēngdū Xiàn
豐鎮~丰镇~丰鎮	Fēngzhèn
豐鎮市~丰镇市~丰鎮市	Fēngzhèn Shì
豐順縣~丰顺县~丰順縣	Fēngshùn Xiàn
貞豐縣~贞丰县~貞丰縣	Zhēnfēng Xiàn
達坂城區~达坂城区~達阪城區	Dábǎnchéng Qū
金臺區~金台区~金台區	Jīntái Qū
錢鐘書~钱钟书~錢鍾書	Qián Zhōngshū
鍾祥~钟祥~鐘祥	Zhōngxiáng
鍾祥市~钟祥市~鐘祥市	Zhōngxiáng Shì
長豐縣~长丰县~長丰縣	Chángfēng Xiàn
陸豐~陆丰~陸丰	Lùfēng
陸豐市~陆丰市~陸丰市	Lùfēng Shì
雨花臺區~雨花台区~雨花台區	Yǔhuātái Qū
霑益縣~沾益县~沾益縣	Zhānyì Xiàn
餘干縣~余干县~余干縣	Yúgān Xiàn
餘慶縣~余庆县~余慶縣	Yúqìng Xiàn
餘杭區~余杭区~余杭區	Yúháng Qū
餘江縣~余江县~余江縣	Yújiāng Xiàn
鬱南縣~郁南县~郁南縣	Yùnán Xiàn
麟遊縣~麟游县~麟游縣	Línyóu Xiàn
龍遊縣~龙游县~龍游縣	Lóngyóu Xiàn

OK so the topic of variants is more complicated than it should be to say the least😊
The first thing to note is that “traditional” and “simplified” does not really apply to a word, but to a character.  But we can't just have a character normalisation table that says for example “every time you see 里 in Simplified, it’s 裡 in Traditional” because it isn’t—it’s 裡 in Traditional only in the specific instances where it means “inside”, which is not always.  Similarly, there are Traditional characters that might or might not map to specific Simplified characters depending on their context.  There are plenty of character mappings that really do work 100% of the time, which is why I have the --post-normalise option on my Annotator Generator—that reduces the download size of my Android apps, because I can eliminate alternate forms of most words just by feeding all input characters through a normalisation table before starting to split, but this does not work on all characters, so I still need to handle the others.  Thankfully, most Chinese text does not mix up Simplified and Traditional characters at random in the same word—it’ll be 为什么 (Simplified) or 為什麼 (Traditional), but not usually 为什麼 (Simplified first character, Traditional last character)—well that specific example can be handled by my normalisation table, but if it couldn’t then it's usually safe to pretend that there exist Simplified Chinese words and Traditional Chinese words, and hence have "Simplified" and "Traditional" fields at a word level in dictionaries.  Which also means software doesn't have to have a normalisation table—if you don't, you'll just have to ship a bit more data, and you just might not cope so well with that one-in-a-million page where someone mixes Traditional and Simplified in the same word, usually due to some very old Traditional-to-Simplified conversion software having gone wrong.
Now, enter variant characters.  Unlike traditional and simplified, the variant characters really do get mixed in with non-variant ones almost at random (but usually on Traditional pages though: it's rarer to get variants on Simplified pages).  So if we have a 5-character entry and 2 variants exist for each of 3 of those characters, then in theory there are 27 possible variations of that word—it's that bad.  Thankfully though, the normalisation table does a much better job of ironing out the variants—and I haven't really found I needed to add so many "variant" entries since I implemented the table.  The variant entries I did add were based on words I found in real texts (rather than "theoretically this is possible")—the process goes "try to read a text, oops it's getting split wrongly, can I add an entry to fix that".  It's possible that some of those entries can now be removed if they'll be handled properly by the table anyway, but I didn't go out on a "crusade" to remove them all: after all, not all software has a normalisation table, and those entries are versions that I've actually seen in real text so we might as well keep them.  (If you give Annogen a table, it automatically applies it to all the input text and de-duplicates the resulting rules, so it's not bothered by too many variants.)  But on the other hand I've not been collecting so many new variants recently.
Also: usually when I put "variant" I meant "this word contains at least one variant character", but occasionally I just meant "this is a really weird way of writing the word but I've seen it done".  At some point I should probably check through and clarify which entry is which.
In the case of 干淨/乾淨 the "variant" part is the second character, 淨.  The "normal" version of this (at least in this word) would be 净 in Simplified, 凈 in Traditional—one less little stroke in the middle of the left-hand side, easy to miss.  So the logic I applied was "well, looking at the rest of the word, i.e. the first character, 干 is simplified and 乾 is traditional, so I will put 干淨 into "simplified" and 乾淨 into "traditional", and "variant" into the definition.  Actually the labels "traditional" and "simplified" make less sense in the presence of variants (we are very much backward-fitting data into a format that wasn't originally designed for it), but at least we can make them apply to the non-variant part of the word.
In the case of 怎麽, we're using 麽 U+9EBD instead of 麼 U+9EBC.  Tiny difference in strokes and only one digit different in Unicode numbers; I even have a book whose paper form has 麼 but whose electronic form has 麽, so I'm suspecting the variant 麽 arose from a typo in some old-character-set-to-Unicode conversion table that the publisher's software was using (but if publishers are putting this out then we do need to recognise it when it happens, typo or not—I'm not saying we have to recognise every typo that ever happens, but really common ones, such as ones arising from little bugs in publishers' character-set conversion tables that then got used in many books, might be worth addressing, hence the 怎麽 and 多麽 entries).  Now, Wenlin's zidian lists the "wrong" U+9EBD 麽 as being a simplified character, and says its traditional equivalent is, guess what, 麼 U+9EBC.  So we could view this word as being "a weird way of writing the Simplified word 怎么" that's equivalent to normal Traditional 怎麼.  So I decided to put the variant form into the Simplified field in this case (putting it into the Traditional field would probably make Wenlin 3 not accept the entry, although I haven't actually tried this), and the Traditional field is just a copy of the normal word's Traditional field.

I researched, scratch that, I asked ChatGPT, it looks like in ideal simplification world, there should be no spelling variants of a word that should arise or be created anymore. So with 干淨 for a simplified-using person, either the person did not get the memo and still continue using 淨 instead of 净, or just chosen 淨 for various reasons. It is also a possible that kind of spelling is coming from a traditional-using person. Like with the word Taiwan, even Taiwan people themselves are using a simple version of 臺; though they keep 灣 for wan1, they also use 台 for 台灣. 台灣 spelling is considered a variant in Taiwan, and is not a variant in simplified writing of mainland China, thus it is not slotted to simplified column in CC-CEDICT. Even for people in Taiwan, they see the convenience in using simplified versions of some characters, e.g., 台, I guess 干淨 can also be written by someone from Taiwan, so it is possible that 干淨 variant is apt to be in traditional column instead
CC-CEDICT
臺灣 台湾 [Tai2 wan1] /Taiwan/
台灣 台湾 [Tai2 wan1] /variant of 臺灣|台湾[Tai2 wan1]/

CedPane:
台灣 台湾 [Tai2 wan1] /Taiwan/

First inquiry:

Second inquiry:

Third inquiry:

Fourth inquiry:

Maybe these are the reasons why as far as I can tell, that most variants in CC-CEDICT are in traditional column. It can also be attributed to CC-CEDICT volunteers doing deletions of typos and misspellings, no matter how common they are in a writing system. Misspellings and typos aside, it can't be discounted that variants still do arise in simplified writing; as what detailed by ChatGPT, variants also come from regional and differences in cultural practices and beliefs, and also from government-led initiatives, like in 2013

Although some new Simplified characters were indeed invented in the 1950s, many had been around for centuries before that, just not favoured by the "educated"

True, reminds me of this topic The TRUE Origins of Simplified Chinese. Instead of thinking that simplified characters were simplified, it's more accurate to think that some traditional characters were complexified from their simple form, some simplified characters were already there since time immemorial and some of them predates the considered "traditional"
Cloud:
"Simplified" 云 = 1,200 BC
"Traditional" 雲 = 200 BC
爱 was there since Jin dynasty

I still think it's a bit artificial to try to shoehorn variant forms into "simplified" and "traditional" columns. If I were defining the format again from scratch, maybe I'd have a list of versions of the word, with 2 extra bits on each item to flag which item(s) are common in simplified and which item(s) are common in traditional, some both, some neither. What we doing with the current format is a compromise because the format makes us label everything as "simplified" or "traditional" and there's no column for "we don't have enough data to meaningfully say whether this is simplified or traditional".

Agree, slotting a variant writing in either column is prone to misinterpretation


Is this package still valid for useContext?

Hi Kent,
Is this package still valid ?
Is there a way to merge this functionality to @testing-library/react ?
Or is it already done?

I wouldn't recommend using this package. Use React Testing Library and follow the examples in the docs for testing context.


Update site to announce 3.5.0 release

Right now it still reflects the 3.4.0 release.

I was going to tackle this small issue, but it seems as if the site/config.toml has already been updated and the website seems to already be showing the 3.5.0 release

closed by https://github.com/mitre/hipcheck/pull/263


biotin transport parent

is biotin both a vitamin and a cofactor?

There is some inconsistency anyway... metabolism has only vitamin parentage:

When I look at the above diagrams, I see both parentage in both diagrams.

ok its fine. It seems biotin is both a vitamin and a cofactor?


Support fixed with for table icon columns if reasonable

🧹 Tech Debt
The table icon column currently supports fractional width/sizing. An icon column really seems better suited to a fixed width, since icons are a standard size. However, the minimum column width is quite large if you reserve space for all the elements that appear in the header. We need to determine whether there is some better way to support fixed widths for icon columns.
Note that there is another issue #1515 that requests support for more than just a single icon in an icon column. If we generalize to supporting text + icon(s), it could affect how we approach this issue.

@m-akinc is this the same as #1332? Or a subset of it?

Let's treat this as the work to update the icon column specifically after #1332 generally addresses the issue of fixed-width columns.


Can we use stim to derive a circuit for lattice surgery protocol?

Hi,
I am planning to build a circuit under lattice surgery protocol, which cannot be automatically generated by Stim apparently. I would want to pick up brains about what would be suggested to achieve the end with Stim? Furthermore, is it possible for me to get an error model out of the circuit so that I could pass it to decoders like PyMatching?
I know it's a very generic question, but would you be so kind as to input any idea. I really appreciate whatever advice/suggestion.
Thanks and regards,

I usually build circuits by first building the patches of stabilizer "tiles" that are going to be measured, and then using that tile data either to produce direct stabilizer measurements via MPP or a proper circuit decomposition. Lattice surgery has a sequence of patches: first two qubits, then one long rectangular qubit from the fusion, then split back to two qubits. If you write methods that take a before patch and an after patch, and do the transition by reset/measure-ing appropriate data qubits, you can basically just chain it all together into something that works.
A very simple noise model to make is to apply DEPOLARIZE1(p) on every qubit whenever there's a TICK, and to put TICK between layers of operations.

I usually build circuits by first building the patches of stabilizer "tiles" that are going to be measured, and then using that tile data either to produce direct stabilizer measurements via MPP or a proper circuit decomposition. Lattice surgery has a sequence of patches: first two qubits, then one long rectangular qubit from the fusion, then split back to two qubits. If you write methods that take a before patch and an after patch, and do the transition by reset/measure-ing appropriate data qubits, you can basically just chain it all together into something that works.
A very simple noise model to make is to apply DEPOLARIZE1(p) on every qubit whenever there's a TICK, and to put TICK between layers of operations.

Thanks! I was also wondering if we can generate a detector error model for circuit level noise using stim that is compatible with PyMatching as a decoder for this protocol?
In lattice surgery, (say rough merge), the Z boundary stabilizers at the merging boundaries become random after merging. For that reason, I think we would need to 'allow gauge detectors' when generating the detector error model. After splitting, I also realize we need to use the intermediate data qubit measurements along with the Z boundary stabilizer measurement outcomes after the split (for smooth split). Is there anything else that would need to be included in the detector annotation to generate an stim detector error model suitable for PyMatching? The thing that worries me specifically about the suitability of PyMatching are these gauge detectors. Since I am including measurement errors, I was thinking the input to PyMatching might not be just that.

As a strong rule of thumb, you never need gauge detectors. I kinda wish I'd never added them.
Yes, you will be able to define detectors during lattice surgery and yes they will produce a detector error model that pymatching can decode. It is okay for there to be fewer detectors during some of the transitions, in the same way that it's okay to have fewer detectors in the first round because half of the stabilizers haven't been projected yet. A good rule of thumb is that the number of detectors (plus the number of observables) should exactly equal the number of measurements that can be predicted, when you evaluate the measurements one by one.

Closing as not-a-bug.


(maint) Add note about comma delimiting supported checksum types

Add note about "Values must be comma-separated" like we do for tags and
reports settings.

ping @MikaelSmith @jtappa

:+1:
The travis failure is spurious and unrelated to this PR.

:+1:

@MikaelSmith updated:
$ bundle exec puppet doc -r configuration
...
### supported_checksum_types

Checksum types supported by this agent for use in file resources of a
static catalog. Values must be comma-separated. Valid types are md5,
md5lite, sha256, sha256lite, sha1, sha1lite, mtime, ctime.

ping @MikaelSmith


Building on RPi/ARM with miniaudio results in errors

I'd forgotten to put this in the previous PR, but when building or RPi (and apparently other 32-bit/ARM/Linux systems : https://github.com/raysan5/raylib/issues/2452) libatomic is needed.
Also for reasons that I didn't investigate, libdl is needed too.
The fix is to adding -ldl  -latomic to LIBS in Makefile.
I lightly tested this on a RPi3 last night.
Simple fix, and I can PR this if you need.

Conditional added to Makefile


Fixed vs absolute Universal nav

As discussed in https://github.com/freeCodeCamp/freeCodeCamp/pull/39580#discussion_r489477744 Cypress has a hard time with absolutely positioned elements.  Also, fixed seems more natural for a nav, since it always stays at the top of the viewport (and that seems to be the point of fixed).
Is there anything I'm missing or can we move to position: fixed and click({ force: true }) -> click()?
cc: @ahmadabdolsaheb @Twaha-Rahman

Yikes - looks like I missed that discussion. I went thru the other comments and it seemed the PR was just waiting to merged.
I assume it's something we can still fix (haven't read the whole context yet)?

I assume it's something we can still fix

Yeah, it's not urgent, though.  As far as I know it's fine to use click({ force: true }) it's just a hint that something slightly odd is happening. In this case Cypress automatically scrolls the button into view before clicking and then warns because the button ends up covered by the nav.
It would be better if we didn't have to force things (it's fine right now, but I think it's a bad habit to get into).  position: fixed should resolve this, but I don't know if a straight replacement absolute -> fixed will have any side-effects.

@ojeytonwilliams  Have you tried using fixed and running Cypress without force locally?

I have, yes.  All the tests pass once you use fixed and stop forcing.  I'll create a draft PR so people can take a look.


Better build failure error handling

The current "Build failed" handling can hide relevant error information:
https://github.com/broccolijs/broccoli/blob/7e5048dec8823f937f0d59f57478f5f50559c6c8/lib/cli.js#L53-L59
For instance, UglifyJS has detailed information about parse errors that doesn't get shown by Broccoli.
We could call toString on the error, but in this case we'd get a double stack trace since UglifyJS adds the trace to toString. I wonder if we should hide the trace by default and then allow for a --trace flag. This is common practice in some other libraries.

I absolutely agree this should be improved. ember-cli's has been, and we are planning to role that work back in here.
The code has all changed since this was opened, so closing this for now.


0.6.1 release copy updates

update:

public site
app store pages

@tvanderstad you gotta update the public site folder manually https://github.com/lockbook/lockbook/tree/master/public_site

[ ] disappear the following files:


[Flaky test] PinotHelixResourceManagerTest.testSegmentReplacement is flaky

Example run: https://github.com/apache/pinot/actions/runs/3317031114/jobs/5479461727

There are 2 root causes:

The cluster setup is not correct. We cannot mix single-tenant and multi-tenant in the same cluster. PinotHelixResourceManagerTest shouldn't use the shared cluster setup
Segment deletion is done using a separate thread with delay. That is causing the timeout.

#9735 Should help with the timeout because we no longer need to wait for the segments to be deleted from the property store


[Admin] Publish

Docs Build status updates of commit 64ee500:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

README.md
:white_check_mark:Succeeded

docs/excel/excel-add-ins-error-handling.md
:white_check_mark:Succeeded
View

docs/overview/office-add-in-availability.md
:white_check_mark:Succeeded
View

docs/reference/requirement-sets/powerpoint-api-1-1-requirement-set.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel

Docs Build status updates of commit 64ee500:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

README.md
:white_check_mark:Succeeded

docs/excel/excel-add-ins-error-handling.md
:white_check_mark:Succeeded
View

docs/overview/office-add-in-availability.md
:white_check_mark:Succeeded
View

docs/reference/requirement-sets/powerpoint-api-1-1-requirement-set.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel