Bump version for release

The current process is just to commit this directly to master

The branch is protected now so a PR is required.


[WIP] Adding i32 and randint, randint_like Tensor methods only for CPU

Firstly, great work on this library, I'm very interested to see it grow!
I was looking for a way to generate tensors with uniform random integers, including negative values.
Similar methods found in PyTorch
torch.randint
torch.randint_like
However I'm quite unsure if this is at all something you would like to support in your framework, since it required incorporating a new DType i32. (Unless there is some really basic conversion of tensors from the existing rand method I completely missed)
Please note my Rust experience is minimal, so this is a work in progress. I just wanted to know if this is something that would be considered at some point to include since there are some use cases for generating these kind of Tensors. However if there is no obvious need please IGNORE & close this PR.
If you would consider this for inclusion, I will continue writing tests for all the cases and also implement the Cuda backend of this.
    let a = Tensor::randint(0u8, 255, (8,), &Device::Cpu)?;
    let b = Tensor::randint(0u32, 1000, (6,), &Device::Cpu)?;
    let c = Tensor::randint(-100i32, 100, (4,), &Device::Cpu)?;
    let d = Tensor::randint_like(&a, 0i32, 1000);
    let fl = Tensor::rand(0.0f32, 1., (4,), &Device::Cpu)?;
    let err = Tensor::randint(0i32, -10, (2,), &Device::Cpu);

Yields
a: CpuTensor[195, 206, 250, 167, 35, 109, 156, 66; u8]
b: CpuTensor[600, 151, 443, 678, 824, 474; u32]
c: CpuTensor[-49, -86, 84, 37; i32]
d: Ok(CpuTensor[453, 545, 42, 103, 757, 483, 198, 913; i32])
fl: CpuTensor[0.01507771, 0.58171165, 0.7638751, 0.83642375; f32]
err: Err(RandIntBoundsInvalid { lo: 0, up: -10 })

Error if up is less than lo
Error: the upper bound value -10 must be greater than the lower bound value 0

I am also in the process of looking into setting a manual seed for the RNG for CPU and Cuda. I would like to build on this for testing purposes to ensure the same "random" values are tested consistently.
I see the current Cuda backend has a fixed seed (at the speed of light) :)
let curand = cudarc::curand::CudaRng::new(299792458, device.clone()).w()?;

Any comments / feedback would be appreciated, also no worries simply closing this if not needed.

Thanks for submitting this. What would be your specific use cases for i32 tensors?
It's a bit tricky to introduce new dtypes as they end up adding code for all backends (cuda, cpu, mkl, accelerate, and probably more to come) so there will be some maintenance burden down the road. E.g. the main reasons for having u8 is representing boolean tensors and for u32 to represent token ids, maybe we'll need more but we have to be careful before commiting to support them, to be fair we might actually remove f64 at some point as there isn't much of a clear use case for it at the moment.

Thanks for the quick reply! I fully understand not wanting to clutter with frivolous types. I am actually busy trying to port the TimesNet model from https://github.com/thuml/Time-Series-Library/tree/main
...and purely for mocking FFTransforms I wanted to create random integer Tensors to mimic selected top_k periods before a real implementation of FFT. So not really a valid use case for model building.
I initially just adapted the current rand method and used only u32, which works fine (I only need >0 values) but thought I might parity match the PyTorch methods randint and randint_like. Might have gone overboard, but it gave me a good spin through the code base.
Would you consider not having the i32 type added, but having a way to still create uniform random integer Tensors? Although then just in range 0 to max u32/usize?
Also, would you be in support for adding manual (configurable) seed config for RNG?
No worries closing this then, I'll perhaps submit a much lighter weight PR for just randint using existing u32?
Cheers! 👍


D435 frame rate changes with respect to ambient lighting

Required Info

Camera Model
D435

Firmware Version
<IP_ADDRESS>

Operating System & Version
Ubuntu 16.04

Kernel Version (Linux Only)
4.15

Platform
Lattepanda Alpha

SDK Version
2.22.0

Language
C++

Segment
Robot

Issue Description
The frame rate of D435 stream (both color & depth) are not constant when the external lighting varies. We have a external strobe LED to illuminate the scene and when the intensity is high, we see that frame rate goes high (6 fps) compared to 3.5 fps when illumination is very low. See the attachment for more details. For our requirement, we need constant fps on both the streams. Any pointers related to this issue would be really helpful.
Thank you in advance!
D435 settings:

Color: 1920x1080 @ 6 fps
Depth: 1280x720 @ 6 fps
Using recorder to record the stream in bag file.
I have tried disabling both auto exposure and auto white balancing. But no improvements.
We record this streams when the system is under full load. e.g 400% cpu consumption. The recorded bag file also has this fps issue.

Code:

Delay is calculating in the code by following piece of code, prev_time is 0.167 when the lighting intensity is high and it does to 0.367 - 0.500 when the intensity is low

if (boost::iequals(name, "Stereo Module")){
         sen.open(depth_stream);
         sen.start([&](rs2::frame f){
              printf("Time: %f\n", f.get_timestamp() /1000 - prev_time);
              prev_time = f.get_timestamp() / 1000;
          });
 }

The auto exposure and white balancing are disabled by using the following code,

void set_controls(rs2::device dev, ros::NodeHandle n){
        int expo = 400, gain = 128, wb = 3700;
        bool  auto_expo = false, auto_wb = false;
        for (auto sen: dev.query_sensors()){
                auto name = sen.get_info(RS2_CAMERA_INFO_NAME);
                if(boost::iequals(name, "RGB Camera")){
                        sen.set_option(RS2_OPTION_ENABLE_AUTO_EXPOSURE, auto_expo);
                        sen.set_option(RS2_OPTION_EXPOSURE, expo);
                        sen.set_option(RS2_OPTION_GAIN, gain);
                        sen.set_option(RS2_OPTION_ENABLE_AUTO_WHITE_BALANCE, auto_wb);
                        sen.set_option(RS2_OPTION_WHITE_BALANCE, wb);
                }else if (boost::iequals(name, "Stereo Module")){
                        sen.set_option(RS2_OPTION_ENABLE_AUTO_EXPOSURE, false);
                        sen.set_option(RS2_OPTION_EXPOSURE, 5000);
                }
        }
}

Attachment details:

First two images corresponds to high intensity (as per setup) scenario of color & depth images.
Second two images corresponds to low intensity.

You can enforce a constant FPS speed by leaving auto-exposure enabled but disabling the 'Auto-Exposure Priority' option.
https://github.com/IntelRealSense/librealsense/issues/5290

@MartyG-RealSense ,
Will try the option and let you know. Just curious,  Wont disabling the auto-exposure give constant fps?

You could disable auto-exposure and set your own values manually, though it may affect depth performance for the reasons discussed in the link below,
https://github.com/IntelRealSense/librealsense/issues/1957#issuecomment-400715579

I tried setting it for depth stream. But it fails.
try{
    sen.set_option(RS2_OPTION_AUTO_EXPOSURE_PRIORITY, false);
}
catch(...){
    std::cout << "Setting failed"<< "\n";
}

And with manual exposure, the problem still persists.

@MartyG-RealSense
Also I tried for color stream for which I was able to set this value using the same code. But the problem still persists. I used auto exposure and disabled RS2_OPTION_AUTO_EXPOSURE_PRIORITY.

Generally, RS2_OPTION settings are set to false or true with a 0 or 1, where 0 = false and 1 = true.  For example, to disable:
sen.set_option(RS2_OPTION_AUTO_EXPOSURE_PRIORITY, 0.f);

@MartyG-RealSense , I have tried your suggestion. Still the problem persists.

If you have turned off auto-exposure, did you set a manual exposure value that is appropriate for the FPS speed that you are using, as described in the advice linked to earlier please?
https://github.com/IntelRealSense/librealsense/issues/1957#issuecomment-400715579

Yes. I set the value of exposure to 400 (~25fps).

I wonder if the sudden changes in light conditions caused by the LED might be saturating the IR imager, in the same way that a stream may degrade or freeze if it captures a burst of sunlight (by looking up at the sky or experiencing a bright ray reflected off a surface such as a glass door).

Is there a way we could handle this? such that we can get consistent fps.

You could apply a physical IR filter to the camera.  This could take the form of a bulky external filter or a micro-thin filter film placed over the IR lens on the front of the camera.
Another approach may be to program the camera to reset automatically if an event that degrades performance occurs.  Assuming that the LED will be strobing between low and high constantly though, prevention (filtering) is probably better in this particular case, otherwise you might have to reset the camera repeatedly.
The subject of physical filtering with cover materials is discussed in detail in the link below.
https://forums.intel.com/s/question/0D50P00004O1gOtSAJ/where-can-we-obtain-cover-material-and-gaskets-for-custom-mounting-of-the-d415-stereo-depth-module

@MartyG-RealSense , Thank you for your suggestion. Will try!


Link to the GitHub page

could you please add a dedicated section that leads to GitHub page to check if there are new updates? I thought so since it is difficult to find the page given the poor capacity of Google indexed the your GitHub page

I'm trying to make this app available also on Play Store, it might take a week or two. If this procedure goes wrong I will certainly add the update option inside the app.


Feature request: BApp Store

You can use extensions from the BApp Store by using a custom configuration file .
You can manually start up Burp Suite , install the extensions , export the extensions settings and then load those settings into the burp rest api using the config flags OR by changing the default configs manually .


Production env

nodemon will not run in production environment.

Discusssing environments, variables (if needed) and testing strategies before implementation might be a better approach.

Maybe as following:
add script:
{
  "scripts": {
    "start": "tatsy start",
    "build": "tatsy build",
  }
}

export NODE_ENV=production
yarn build

if production is nodemon and watcher will not work.
yarn start

https://github.com/tsepeti/tatsy/blob/master/packages/tatsy/bin/tatsy#L11


[DO NOT MERGE YET] Cherry-pick commits required for swift-3.0-branch Foundation integration

Integrates changes made on master into the Swift 3 branch. These are required for branching swift-corelibs-foundation for Swift 3.
Not to be merged until similar changes are ready to land for swift #4528, swift-corelibs-xctest #170, and libdispatch #165.

LGTM


Case-insensitive search not working for Umlauts

Describe the Bug
"Öl", "Ölkanne", "Ölkanister", "Ölkreide" cannot be found if you search for "öl" in the search bar.
If you search for "Kanne", "Kanister", "Kreide" or "Öl" (with capital "Ö") it can be found.

Seems to be fixed. @juliawohlhueter Can you verify that?

Since this problem can only be reproduced locally and not on the production server anymore, let's close this issue for now.


Interference between function calls

I'm running into a problem where replacing a JS function with a bindgen/Rust one in either of two places works properly, but combined produces bogus results. These are called repeatedly in a loop. Even if the second one is called but not saved, this anomaly occurs. I suspect it may be due to memory overlapping. The Book mentions .free(), but this does not appear to work on the output Float32Arrays, nor the functions themselves.
Rust code:
#[wasm_bindgen]
pub fn fn1(θ: Vec<f32>) -> Vec<f32> {
    ...
}

#[wasm_bindgen]
pub fn fn2(θ: Vec<f32>) -> Vec<f32> {
    ...
}

As expected, these functions accept a JS array of numbers, and return a Float32Array.
When only one Rust function is invoked, the contents of the Float32Array are the same, but accessories printed by the JS console are not:
JS - buffer: ArrayBuffer(64) byteOffset: 0
Rust - buffer: ArrayBuffer(35454976) byteOffset: 1245216
When both are invoked, the contents differ from the JS results.

Thanks for the report! Do you have a snippet I can reproduce with? This may be a use-after-free if something is deallocated too eagerly in JS perhaps, although it could certainly also be a bug in the generated bindings!

It's here, but kind of a mess. I'll post here if I find a solution.

Neat! I was able to poke around, but @David-OConnor I didn't see anything weird per se, was there a particular sequence of steps needed to trigger the bug?

Looping through the funcs multiple times seems to be what triggers it.

Ah I'm still not having much luck with a reproduction :(
If you get a chance though and manage to narrow it down I'd love to help debug!

I've narrowed it slightly: I was incorrect about the loop being required to trigger it. Eg the example TS example bug_tester func above will trigger it with just the two rust function calls. I believe the lib.rs in the repo above, in combo with the boilerplate required to call the funcs from JS is enough to reproduce.
Scenarios:
Call rust/WASM func A alone: Returns result A
Call rust/WASM func B alone: Returns result B
Call func A, then func B: Both return result B
Call func B, then func A: Both return result A

@David-OConnor hm I'm still not entirely sure what's going on, can you provide a minimal example that removes a lot of the extra boilerplate which reproduces in a standalone fashion? That'll help me poke around and try to see what's what!
For example functions that return Vec<f32> look like this in the generated JS code:
export function foo() {
    const retptr = globalArgumentPtr();
    wasm.foo(retptr);
    const mem = getUint32Memory();
    const ptr = mem[retptr / 4];
    const len = mem[retptr / 4 + 1];

    const realRet = getArrayF32FromWasm(ptr, len).slice();
    wasm.__wbindgen_free(ptr, len * 4);
    return realRet;

}

The slice() should already be baked in and data copied out?

Updated Rust Nightly and bindgen cli and... the issue went away!

Ok great! Let's assume fixed then!


Reformat the code

We should probably check that formatting is ok in CI

Oh I just saw the issue :D


Lookup previous build using build id and re-use any parameters

When using the generic-webhook-plugin, webhook payloads are parsed (via jsonpath) and injected into the original build as parameters.  When re-requesting a check from github, we need the ability to look up the parameters of the original build so that the build has the parameters from the original build.  Otherwise empty/default parameters would cause the build to fail (even which git hash we check out is driven by a parameter).
In order to accomplish this, we use the jenkins externalized build id as the external_id when publishing the check.  When the check is re-triggered, we are able to look up the original build and re-inject the parameters.
I believe this may be a generic solution to https://github.com/jenkinsci/github-checks-plugin/issues/223.  Our issue is that instead of a single parameter, we have 10-20 parameters so we needed a solution which is able to re-populate those parameters.
I realize there are risks with changing the mechanism by which we look up the job.  What I would like some feedback on is whether this change should be compatible with the original intent of the plugin (via a multibranch pipeline).  There is also a risk that the original build has fallen off the history and can no longer be looked up, but it's unclear to me how big of an issue that would be in practice.

Taking generic webhook plugin out of the picture here, did re-populating parameters work before or was that just missing?

That was always missing.  The existing implementation launches a new build from the job id stored in the external_id checks field.  I'm guessing this ONLY would have worked using multi-branch?  I believe this PR would extend the use-case of this plugin to a regular pipeline.
However, the reason I mentioned generic-webhook-plugin is because I don't know what other context parameters would be used when initially triggering a job from jenkins.  We are migrating to github from an environment (bitbucket) where we utilized parameters extensively.  Generic-webhook-plugin allows us to keep these parameters and map the webhook payload to the existing parameters we have making our migration path much simpler.

concept seems fine, if you can fix the build and testing passes we can take it

concept seems fine, if you can fix the build and testing passes we can take it

Absolutely, will do.

Looking at the GitHubChecksPublisherITest.java failures I seem to have a lack of understanding of what it means to publish a check "from a job".  There are quite a few conditionals in that file and specific testing of the checks coming from a job.
In my mental model, a check would ALWAYS be published from within a specific run/build of a job, not the job itself so this distinction is throwing me off a bit.  Can anyone help enlighten me as to what I'm missing here?
        if (fromJob) {
            return GitHubSCMSourceChecksContext.fromJob(job, urlProvider.getJobURL(job), scmFacade);
        }
        return GitHubSCMSourceChecksContext.fromRun(run, urlProvider.getRunURL(run), scmFacade);

I think the initial Queued check is done before the run exists and it's set to the job.
@XiongKezhi do you remember?

I think the initial Queued check is done before the run exists and it's set to the job.
@XiongKezhi do you remember?

I think I see the difference between QUEUED and the other status checks here: https://github.com/jenkinsci/checks-api-plugin/blob/0a83c62e4f728c6b57018dc36b3fa23ac8850c0f/src/main/java/io/jenkins/plugins/checks/status/BuildStatusChecksPublisher.java#L143.  QUEUED seems to use the fromJob() as you mentioned so thanks for that pointer.
Digging deeper it seems that this plugin has two functions to resolve the SHA used for the check, one for the job and one for the run: https://github.com/jenkinsci/github-checks-plugin/blob/1c4caf9289437bfe54dc304e50d485d24c56e6d3/src/main/java/io/jenkins/plugins/checks/github/GitHubSCMSourceChecksContext.java#L114
What I can't quite wrap my head around is how the function which gets the SHA from the job is guaranteed to match the SHA from the run within a Github pull request context.  This is especially confusing when the Job's HEAD/SHA is dynamic based on an incoming parameters like ours.  Can you give an example of where the Run/Job configuration is guaranteed to have the same SHA?
Appreciate the guidance here.

Might have answered my own question by continuing to dig.
Using the github branch source plugin, each Pull Request actually shows up as it's own job: https://ci.jenkins.io/job/Plugins/job/github-checks-plugin/view/change-requests/
In this case, I can understand how both the job and the run would have the same hash since the job is configured using the PR branch.

I don't understand your question to be honest. But hopefully you figured out what you needed

Have you manually tested this works via ngrok, smee or something?
Code looks good apart from the minor build issues

Yes, we have this installed in a jenkins instance and it is working as we expect.

Can you check the build please, 2 pmd issues

Can this be merged at this point?


DBZ-4563 Misc updates to fix build errors and update content.

DBZ-4563
Updates to address downstream build errors and tweak content.
Tested locally in Antora and in a downstream build.
The changes in this PR should be backported to 1.7.

Applied to main (=1.9), 1.8, and 1.7.


Replicate NSAffineTransform logic for rotation to AffineTransform

AffineTransform was modified previously to alter the rotation logic, this unfortunately did not account for composition of matrices. This change replicates the logic in NSAffineTransform for rotation.
This addresses:
rdar://problem/33510242

@swift-ci please test and merge

@swift-ci please smoke test and merge


fix: enable Nearby selection for Construction Heuristics

Refactors construction heuristics configuration in order to properly enable nearby selection.
Introduces documentation for configuring nearby in CH.
Also addresses some problems with the CI which were identified while working on this PR.

@zepfred Comments resolved, please review.


FTS14EM - Visu (Status remains unknown):

Hi,

I can currently control FSR14_4x via home-assistant-eltako.
Only for the FTS14EM I do not get the status displayed in HA.
I can do it in FHEM.

Upper rotary switch position: 10
Lower rotary switch position: UT 1
Port 5

Config
eltako:
  gateway:
    - id: 1
      base_id: FF-00-00-00
      device_type: fgw14usb
      devices:
        binary_sensor:
        - id: 00-00-10-15
          eep: F6-02-01
          name: FTS14EM - KG-S1 - Signal 5 (Frei)
          #device_class: presence
          #invert_signal: False

logger:
  default: info
  logs:
    eltako: debug

EEP: F6-02-01 is also set up by default in FHEM when FHEM scans the Eltako bus.
Logging Message (It looks as if the signal is detected by HA.):
2024-01-15 20:25:52.653 DEBUG (Thread-2) [eltako] [Gateway] [Id: 1] Received message: <RPSMessage from 00 00 10 15, db0 = 70, status = 0x30 (T2, N, 0 repetitions)>
2024-01-15 20:25:52.656 DEBUG (SyncWorker_12) [eltako] [Binary Sensor] Send event: eltako.gw_1.btn_pressed.sid_00-00-10-15, pressed_buttons: '["RT"]'
2024-01-15 20:25:52.657 DEBUG (SyncWorker_12) [eltako] [Binary Sensor] Send event: eltako.gw_1.btn_pressed.sid_00-00-10-15.d_RT, pressed_buttons: '["RT"]'
2024-01-15 20:25:56.784 DEBUG (Thread-2) [eltako] [Gateway] [Id: 1] Received message: <RPSMessage from 00 00 10 15, db0 = 00, status = 0x20 (T2, U, 0 repetitions)>
2024-01-15 20:25:56.786 DEBUG (SyncWorker_23) [eltako] [Binary Sensor] Send event: eltako.gw_1.btn_pressed.sid_00-00-10-15, pressed_buttons: '[]'
2024-01-15 20:25:56.787 DEBUG (SyncWorker_23) [eltako] [Binary Sensor] Send event: eltako.gw_1.btn_pressed.sid_00-00-10-15.d_, pressed_buttons: '[]'

Visu (Status remains unknown):

Do you have any idea what I should configure?
With eep: D5-00-01 it gets even worse.

Hello @LHBL2003,
So now you can use for switch telegrams F6-02-01 and F-02-02 and for contact telegrams you can use D5-00-01. If it's wrongly configured the warning will tell you that message type and eep does not fit together.
I think in your case (FTS14EM) you can leave the configuration with eep F6-02-01.

I get no signal in the visualization. Is there anything else I need to consider?
FTS14EM is set as shown Pic above. +E5 is triggered.
Preparation

Homeassistant is completely up-to-date.
I deleted the HAC and downloaded it again to prevent any problems.

Test 1

Test 2

Test 3

Sorry the pictures for the test were not uploaded correctly. I have just updated it.

Hallo @LHBL2003,
can you test with newest release V1.3.4?

Oh yes! You've found the problem ;)
I get a status (Rock)

Well then I can start adding FHEM. That was the last interface point I was missing :)
Thank you very much for your help.

Perhaps this will help you to understand why the EM modules communicate so differently. In my case it says 13/17 on the back.


jQuery is not defined

I keep seeing this error in the console, and it's preventing my JS to run:
Uncaught ReferenceError: jQuery is not defined
Here's the code where it's breaking:
var jQ, href, ipc;

if (window['browser-plus'] == null) {
  ipc = require('ipc');
  href = location.href;
  if (href.startsWith('data:text/html,')) {
    href = null;
  }
  ipc.sendToHost('startup', {
    href: href,
    title: document.title
  });
  jQ = jQuery.noConflict();

Please check the latest patch.


Two clinical BERT repos?

Hi,
Is this repo from the same team as this or are they completely different?

These are two independent projects. This repository corresponds to https://arxiv.org/abs/1904.03323, which will be presented at the Clinical Natural Language Processing (ClinicalNLP) Workshop at NAACL 2019: https://clinical-nlp.github.io/2019/program.html.
The repository you linked to corresponds to https://arxiv.org/abs/1904.05342.

Thank you for your reply. In the paper it says "For pre-training ClinicalBert, we randomly sample 100,000 notes from mimic-iii.". Does this mean that the pre-trained weights that are available for download were trained on a random sample of 100,000 notes? Or do you have a BERT trained model that is trained on all of the MIMIC notes (over 2 million)?

Thank you for your reply. In the paper it says that you used tensorflow for your experiments. Can we use the pretrained weights with pytorch? More specifically, do the weights just correspond to the architecture which can effectively be loaded using pytorch?

Yes, you can use the models with pytorch. We converted the models to pytorch using the code provided by the Pytorch-Pretrained-BERT repo. All you will need is  pytorch_model.bin and bert_config.json if you want to use pytorch.


Atom.Object.defineProperty.get is deprecated.

atom.workspaceView is no longer available.
In most cases you will not need the view. See the Workspace docs for
alternatives: https://atom.io/docs/api/latest/Workspace.
If you do need the view, please use atom.views.getView(atom.workspace),
which returns an HTMLElement.
Atom.Object.defineProperty.get (/Applications/Atom.app/Contents/Resources/app/src/atom.js:55:11)
StatusBarSummaryView.render (/Users/mattcorb419/.atom/packages/linter/lib/statusbar-summary-view.coffee:11:21)

Closing as dupe of #343.


13th issue

Please always provide the GitHub issue(s) your PR is for, as well as test URLs where your change can be observed (before and after):
Fix #13
Test URLs:

Before: https://main--impala--mkclawson.hlx.page/Drafts/Meet/index-blog
After: https://13th-issue--impala--mkclawson.hlx.page/Drafts/Meet/index-blog

Will be rather working on first on the below -
https://13th-issue--impala--mkclawson.hlx.live/Drafts/Meet/blog/article1
https://13th-issue--impala--mkclawson.hlx.live/Drafts/Meet/blog/article2
https://13th-issue--impala--mkclawson.hlx.live/Drafts/Meet/blog/article3
https://13th-issue--impala--mkclawson.hlx.live/Drafts/Meet/blog/article4
And post that proceed further with the AutoBlocking.

Will be rather working on first on the below -
https://13th-issue--impala--mkclawson.hlx.live/Drafts/Meet/blog/article1
https://13th-issue--impala--mkclawson.hlx.live/Drafts/Meet/blog/article2
https://13th-issue--impala--mkclawson.hlx.live/Drafts/Meet/blog/article3
https://13th-issue--impala--mkclawson.hlx.live/Drafts/Meet/blog/article4
And post that proceed further with the AutoBlocking. Today spent most of the time understanding the template mechanism for any of the page.


Switch build-std to use --extern

Switch build-std to use --extern flags instead of --sysroot.
This is mostly a revert of #7421. It uses the new extern flag options introduced in https://github.com/rust-lang/rust/pull/67074. It avoids modifying the extern prelude which was the source of the problem of https://github.com/rust-lang/wg-cargo-std-aware/issues/40.
Closes https://github.com/rust-lang/wg-cargo-std-aware/issues/49
Reopens https://github.com/rust-lang/wg-cargo-std-aware/issues/31

r? @alexcrichton
(rust_highfive has picked a reviewer for you, use r? to override)

@bors: r+

:pushpin: Commit 1c779ac5d4ebcdc66778e06995bfc8ce6d79a10c has been approved by alexcrichton

:hourglass: Testing commit 1c779ac5d4ebcdc66778e06995bfc8ce6d79a10c with merge 662a965c58a187e001bf1ed9d8b2913d5a2f988b...

:sunny: Test successful - checks-azure
Approved by: alexcrichton
Pushing 662a965c58a187e001bf1ed9d8b2913d5a2f988b to master...


Unable to retrieve trait info in callback evaluator

Steps to reproduce
Use an evaluator in a callback. e.g.
    after(:build) do |contact|
      contact.company ||= build :company
    end

Expected behavior
I expect to be able to query the evaluator to determine which traits (if any) were used to inform the creation of the model.
Actual behavior
The evaluator has data on the build strategy, instance, cached_attributes and overrides.
System configuration
factory_bot version:  5.1.1
rails version:  <IP_ADDRESS>
ruby version:  2.5.7

This is arguably more of a feature request than a bug, but it would be super useful to be able to modify the callback behaviour based on traits.

I think what you are describing is possible using a combination of traits and transients:
FactoryBot.define do
  factory :object do
    transient do
      with_message { false }
    end

    trait :with_message do
      transient do
        with_message { true }
      end
    end

    after(:build) do |object, evaluator|
      if evaluator.with_message
        puts "This message only printed when you use the `:with_message` trait"
      end
    end
  end
end

As for adding information specifically about traits to the evaluator, I don't think that is something we are likely to do. The purpose of traits is to group attributes together so they can be applied all together. The purpose of the evaluator is to hold all the values of the attributes (including the transient ones). Adding the traits themselves to the evaluator would muddy the purpose of both objects.
Hopefully the solution with traits + transients will work for you. Let me know if you have any questions.
Thanks!

I wanted the same, and I thought I'd describe my use case:
If two traits are both set, a third value needs to be present.
E.g. if a Lookup has both the traits :manual and :verified, we should also set verified_by_user. (But not if it's verified but not manual, or manual but not verified.)
I can probably solve this with transients per above, but being able to check for the traits in an after(:build), or even better, being able to declare attributes for combined traits would be ideal.

Actually, the suggestion above doesn't work together with "default traits":
 factory :lookup do
   transient do
     foo_trait { false }
   end

   foo

  trait(:foo) do
     transient do
       foo_trait { true }
     end

    state { "foo" }
  end
end

FactoryBot.build(:lookup) will build a "foo" lookup, but with foo_trait set to false. Presumably because the trait transient is trumped by the top-level transient.

I ended up doing it this way:
after(:build) do |instance, evaluator|
  if instance.manual? && instance.verified? && !evaluator.passed_in?(:verified_by_user) && !evaluator.passed_in?(:verified_by_user_id)
    instance.verified_by_user = FactoryBot.build(:user)
  end
end

This relies on passed_in? that we define elsewhere:
class FactoryBot::Evaluator
  def passed_in?(name)
    # https://groups.google.com/g/factory_girl/c/MyYKwbq76d0/m/JrKJZCgaXMIJ
    __override_names__.include?(name)
  end
end


Declare s1_loc sensor locations

(declare-fun s1_loc () Real)
(declare-fun s2_loc () Real)

Resolved.


Feature/terra3 97 alert based on task count

Please review my PR.
For example, we are using CloudWatch predefined metrics as of now.

This PR is included in version 1.5.0 :tada:


Upgrade to Websocket doesn't ignore disabled 'typed_per_filter_config' for this route

Title: Upgrade to Websocket doesn't ignore disabled 'typed_per_filter_config' for this route
Description:
We have a configuration where we have two http filters: basic_auth and router. We also have a set of routes:

/: all request to the root must be authorized through basic auth
/disable-basic-auth: for this route we use typed_per_filter_config to disable basic auth filter

This configuration works as expected:
curl http://localhost:8080/
User authentication failed. Missing username and password.%

Request to the root without credentials rejected
curl -u user:password http://localhost:8080
OK%

Request to the root with correct pair of username and password succeeded.(OK is direct_response from envoy)
curl http://localhost:8080/disable-basic-auth
OK%

Request without credentials to the endpoint with disabled basic authorization also works fine.
By analogy with those endpoints we have two endpoints for WebSocket connections with upgrade_configs and upgrade_type equal to websocket:

/ws: endpoint with configured upgrade_configs
/ws-disable-basic-auth: same upgrade_config but with typed_per_filter_config to disable basic auth filter

Request to the first Websocket endpoint finishes with 401 Unauthorized as expected because we didn't disabled basic auth for this endpoint.
websocat ws://localhost:8080/ws
websocat: WebSocketError: WebSocketError: Received unexpected status code (401 Unauthorized)

Request to /ws-disable-basic-auth is expected to be successfully passed to the upstream, but unfortunately it is not.
websocat ws://localhost:8080/ws-disable-basic-auth
websocat: WebSocketError: WebSocketError: Received unexpected status code (401 Unauthorized)

Repro steps:

Save config from Config section into envoy.yaml file
Create docker-compose.yaml file with following content:

services:
  websocat_server:
    image: ghcr.io/vi/websocat
    command: [ "-s", "<IP_ADDRESS>:8082" ]
    ports:
      - 8082:8082
    networks:
      my_network:
        ipv4_address: <IP_ADDRESS>

  envoy:
    image: envoyproxy/envoy:v1.30.4
    command:
      [
        "envoy",
        "-l",
        "trace",
        "-c",
        "/etc/envoy/envoy.yaml"
      ]
    volumes:
      - .envoy.yaml:/etc/envoy/envoy.yaml
    ports:
      - 8080:8080
      - 9902:9902
    depends_on:
      - websocat_server
    networks:
      my_network:
        ipv4_address: <IP_ADDRESS>

networks:
  my_network:
    ipam:
      config:
        - subnet: <IP_ADDRESS>/16

Run docker-compose up -d
Run locally websocat ws://localhost:8080/ws-disable-basic-auth or curl equivalent curl -v -H "Sec-WebSocket-Version: 13" -H "Sec-WebSocket-Key: bKAazDmMg16GANGcKoHGFg==" -H "Connection: Upgrade" -H "Upgrade: websocket" http://localhost:8080/ws-disable-basic-auth

Expected result: basic_auth filter is disabled for websocket calls to /ws-disable-basic-auth endpoint
Actual behaviour: websocket calls to /ws-disable-basic-auth endpoint require basic auth
Admin and Stats Output:
server_info.json
cluster.log
stats.log
Config:
admin:
  address:
    socket_address:
      address: <IP_ADDRESS>
      port_value: 9902
static_resources:
  listeners:
  - address:
      socket_address:
        address: <IP_ADDRESS>
        port_value: 8080
    filter_chains:
    - filters:
      - name: envoy.filters.network.http_connection_manager
        typed_config:
          "@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
          stat_prefix: typed-per-filter-config-for-ws
          route_config:
            name: typed-per-filter-config-for-ws
            virtual_hosts:
            - name: app-ws
              domains:
              - "*"
              routes:
              - match:
                  prefix: "/disable-basic-auth"
                direct_response:
                  status: 200
                  body:
                    inline_string: "OK"
                typed_per_filter_config:
                  envoy.filters.http.basic_auth:
                    "@type": type.googleapis.com/envoy.config.route.v3.FilterConfig
                    disabled: true
              - match:
                  prefix: "/ws-disable-basic-auth"
                route:
                  cluster: service_ws
                  upgrade_configs:
                  - upgrade_type: websocket
                typed_per_filter_config:
                  envoy.filters.http.basic_auth:
                    "@type": type.googleapis.com/envoy.config.route.v3.FilterConfig
                    disabled: true
              - match:
                  prefix: "/ws"
                route:
                  cluster: service_ws
                  upgrade_configs:
                  - upgrade_type: websocket
              - match:
                  prefix: "/"
                direct_response:
                  status: 200
                  body:
                    inline_string: "OK"
          http_filters:
            - name: envoy.filters.http.basic_auth
              typed_config:
                "@type": type.googleapis.com/envoy.extensions.filters.http.basic_auth.v3.BasicAuth
                users:
                  inline_string: |-
                    user:{SHA}W6ph5Mm5Pz8GgiULbPgzG37mj9g=
            - name: envoy.filters.http.router
              typed_config:
                "@type": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router
  clusters:
  - name: service_ws
    type: STATIC
    load_assignment:
      cluster_name: service_ws
      endpoints:
      - lb_endpoints:
        - endpoint:
            address:
              socket_address:
                address: <IP_ADDRESS>
                port_value: 8082

Logs:
I attached two logs files:

basic-auth-bug.log contains logs for the problematic case when basic_auth filter is presented in the configuration
no-basic-auth.log contains logs for case when there is no basic_auth filter in the configuration and request is passed to the upstream

Thank you for the reproduction @DvoryankinEvgeny . ISTM like a bug, possibly here:
https://github.com/envoyproxy/envoy/blob/f79b881883e862bc0f7dc7f09d3bc811fb0944f6/source/common/http/filter_manager.cc#L1571
Where we create the upgraded filter chain and not setting the route info.
I wonder if you flip the filter to be default off but enabled for the routes if that would be a hacky workaround.

Thank you for the reproduction @DvoryankinEvgeny . ISTM like a bug, possibly here:
https://github.com/envoyproxy/envoy/blob/f79b881883e862bc0f7dc7f09d3bc811fb0944f6/source/common/http/filter_manager.cc#L1571
Where we create the upgraded filter chain and not setting the route info.
I wonder if you flip the filter to be default off but enabled for the routes if that would be a hacky workaround.

Hello Kevin,
Thank you for the response.
I am quite novice with the envoy, so I am struggling with making basic_auth disabled by default. If I add disabled: true like this:
http_filters:
  - name: envoy.filters.http.basic_auth
    disabled: true
    typed_config:
      "@type": type.googleapis.com/envoy.extensions.filters.http.basic_auth.v3.BasicAuth
      users:
        inline_string: |-
          user:{SHA}W6ph5Mm5Pz8GgiULbPgzG37mj9g=

then envoy start fails with error
Empty route/virtual host per filter configuration for envoy.filters.http.basic_auth filter
Could you please help with configuration?

@KBaichoo hi,
I think I found the problem. It seems to me, that the root case is here:
https://github.com/envoyproxy/envoy/blob/189dd4700f823f2cbbef482c61d50a34e16ff4f2/source/extensions/filters/network/http_connection_manager/config.cc#L810-L811
We pass an instance of Http::EmptyFilterChainOptions to the call of Http::FilterChainUtility::createFilterChainForFactories().
Implementation of Http::EmptyFilterChainOptions::filterDisabled() always returns a default-constructed absl::optional<bool>, so when we come to the FilterChainUtility::createFilterChainForFactories() call,
https://github.com/envoyproxy/envoy/blob/189dd4700f823f2cbbef482c61d50a34e16ff4f2/source/common/http/filter_chain_helper.cc#L17-L26
we call Http::EmptyFilterChainOptions::filterDisabled() to check if a filter is disabled, and since it always returns a default-constructed absl::optional<bool> we think, that all filters are enabled.
As one of the possible solutions I tried to extend the signature of the createUpgradeFilterChain() method declared here
https://github.com/envoyproxy/envoy/blob/189dd4700f823f2cbbef482c61d50a34e16ff4f2/envoy/http/filter_factory.h#L116-L119
with a new parameter const Http::FilterChainOptions& option = Http::EmptyFilterChainOptions{}.
In the implementation of HttpConnectionManagerConfig::createUpgradeFilterChain I passed this new parameter option into the call Http::FilterChainUtility::createFilterChainForFactories instead of Http::EmptyFilterChainOptions here https://github.com/envoyproxy/envoy/blob/189dd4700f823f2cbbef482c61d50a34e16ff4f2/source/extensions/filters/network/http_connection_manager/config.cc#L810-L811
In FilterManager::createFilterChain() moved up a little bit creation of FilterChainOptionsImpl option https://github.com/envoyproxy/envoy/blob/189dd4700f823f2cbbef482c61d50a34e16ff4f2/source/common/http/filter_manager.cc#L1582-L1583 and passed this option into createUpgradeFilterChain call here https://github.com/envoyproxy/envoy/blob/189dd4700f823f2cbbef482c61d50a34e16ff4f2/source/common/http/filter_manager.cc#L1569-L1570
After all these manipulation my tests started to work as expected :)
So, I have two questions:

Is it appropriate fix? Do you see any problems?
Could you please suggest a proper place for my integration tests? Right now I put them into test/extensions/filters/http/basic_auth/basic_auth_integration_test.cc just because there already were some tests for basic auth.

I created a draft PR to show what I actually just to change. Hope it will simplify understanding.
https://github.com/envoyproxy/envoy/pull/35292


Add Show / Hide option for Codebase display

The data displayed in the Codebase window can be so long that it interferes with getting quickly to the rest of the Project UI data.
This issue is for SCIO v32.3.0.
We should have Hide / Show all options like we have for the Project Data window. That was implemented for https://github.com/nexB/scancode.io/pull/667. I am not sure whether the same technique will work for the Codebase window because is is dynamic file tree.

#844 is a dupe of this:

Improve perceived display performance of projects graphs and stats on home page

It can take a long time to display the graphics at the bottom of a project page for large codebase with many packages and resources.
I think we should revisit when and how these are computed and displayed.

we could pre-compute and cache these computation when a project scans are complete
we could display these only on request with a click on a toggle button
we could display these automatically for small projects (say with less than 5K resources) and display on demand otherwise

@pombredanne I don't see the relation between #800 (codebase panel max-height) and #844 (projects graphs)
Let's have both issues.


Add ILI9341 and use display-driver-hal

The PR adds ILI9341 support. I've marked it as a draft PR because it also uses the unreleased display-driver-hal to test it's API. The offset calculation is also disabled at the moement, because I didn't have an appropriate display to test it.
The new Orientation type uses a builder like interface:
let display = Builder::ili9341_rgb565(interface)
    .with_orientation(Orientation::new().rotate(Rotation::Deg270).flip_horizontal())
    .init(&mut delay, Some(display_reset))
    .unwrap();

IMO this is easier to use, because you can easily tweak the orientation by adding a rotate or flip_vertical/flip_horizontal commands. Perviously it was only possible to mirror around one axis and the user had to add the necessary rotation manually if they wanted to mirror around the other axis.

Driver works on ESP32, tested with M5 Core Fire and Wokwi. Color channels are also correct for RGB565. 👍

Looks good. NOTE: I'm also in the middle of https://github.com/almindor/mipidsi/pull/44 but I think the orientation change would be easier to get in first.

I can finish the PR if you want to merge it before #44, but this would also mean that display-driver-hal needs to be released on crates.io before the next release of mipidsi.

I can finish the PR if you want to merge it before #44, but this would also mean that display-driver-hal needs to be released on crates.io before the next release of mipidsi.

What if we split this into 2 PRs then? get the model in ASAP, and then we can do the orientation separately.

What if we split this into 2 PRs then? get the model in ASAP, and then we can do the orientation separately.

OK, I'll prepare another PR without the orientation changes.

The ILI9341 model has already been added in #45 and the rest of the changes are now included in #80.


[Bug]: Multiselect dropdown do not show options

Is there an existing issue for this?

[X] I have searched the existing issues

Description
Multi-select dropdown not rendering options
Steps To Reproduce
1 . Create google sheets datasource
2. Create a query on it.
3. Choose command fetch many
4. Scroll down to columns and click on it
5. It will not show any options.
Public Sample App
http://uqi.appsmith.com/projectioncomponentissue/page1-623abe446424322bbfd16bea
Version
Cloud

UQI related issue


figures sharpness

Hi,
The figures plotted by spatialdata is not as clear as that of squidpy (perhaps because the scatter point size is too small, but I didn't find where to adjust the point size), and spatialdata_plot is a lot more slowly than squidpy when plotting. how to improve it ?
Here's figures from spatialdata tutorial: https://spatialdata.scverse.org/en/latest/tutorials/notebooks/notebooks/examples/squidpy_integration.html

@LucaMarconato
I have tried the latest spatialdata_plot, now the default method is datashader. Here is the figure generated by datashader:

And this is generated by matplotlib:

It is expect to be the same except the running time, but as you can see the two figures differs a lot !  what is more strange is that the running time of datashader is 180s, comparing with 105s of matplotlib. It seems that datashader is even more slowly than matplotlib. There are 250,000 cells in my dataset.

Then I changed the region from "cell_circles" to "cell_boundaries", the figures looks clearly. Is it better to plot "cell_boundaries" instead of "cell_circles" ?
sdata["table"].obs["region"] = "cell_boundaries"
sdata.set_table_annotates_spatialelement("table", region="cell_boundaries")
sdata.pl.render_shapes("cell_boundaries", color="n_counts").pl.show()

Another little issue:  Now there are no x_axis and y_axis labels on the figures.

Thanks for the details.

The performance problem of datashader is being addressed here: https://github.com/scverse/spatialdata-plot/pull/309.
The difference in plot is being investigated here: https://github.com/scverse/spatialdata-plot/issues/311, please follow the discussion there for updates.

Another little issue: Now there are no x_axis and y_axis labels on the figures.

I could not reproduce, please open a second issue for tracking this other problem and add some details in which code you used. In the plots I made the ticks are rendered correctly.

Is it better to plot "cell_boundaries" instead of "cell_circles" ?

Yes, it is better to plot the cell_boundaries as cell_circles are approximations of the cells. Nevertheless, plotting the second is generally faster, so for quick glances at the data is probably preferred.

Thanks for the details.

The performance problem of datashader is being addressed here: speed up datashader by using canvas size equal to image size #309.
The difference in plot is being investigated here: Wrong colors when using method='datashader' #311, please follow the discussion there for updates.

Another little issue: Now there are no x_axis and y_axis labels on the figures.

I could not reproduce, please open a second issue for tracking this other problem and add some details in which code you used. In the plots I made the ticks are rendered correctly.

I don't know which plot is the correct one, could you tell me the datashader or matplotlib should be used now ? Or the issues will be fixed next release ? If so, I well wait to the next release.

We are trying to fix the issue by the next release. I would suggest to use matplotlib until then. CC @timtreis


PanelResizeHandle doesn't trigger cursor change on hover after changing disabled state

Right after changing the disabled prop of a PanelResizeHandle from true to false, the data-resize-handle-state doesn't update on hover.
Reproduce

render <PanelResizeHandle disabled={true} />
change disabled to false
hover over the PanelResizeHandle.

Expected
the cursor changes to a resize and the data-resize-handle-state attribute changes from inactive to hover
Actual
The cursor doesn't change and the data-resize-handle-state attribute is still inactive

NOTE: Clicking anywhere on the page fixes this. Resizing itself is not broken, just the hover state.

I am willing to look into this and PR if welcome

Hey @Sam-Apostel! Pull requests for things like this are always welcome. As are some kind of runnable repro case (Code Sandbox, or a GitHub project that I can checkout and run)

Running in this also, when first loading your example page, you may reproduce this by

visiting page first time
go back to "Home"
select another example page (eg "nested groups")
hover over resize handles
no "resizable" action being indicated by cursor

Since this is my first time working with your great library, I'll see if I can look into this later! 😉


Compatibility with phpdotenv v2

We should probably not insist on v3, to allow the latest version of the bugsnag php library to be installed in every application.

Hi @GrahamCampbell - thanks for this! We will look to get this merged.

Any movement here? This change is needed so the latest version of Bugsnag can be installed in Laravel 5, which depends on phpdotenv v2.

Thanks Graham. We've fixed via https://github.com/bugsnag/bugsnag-php/pull/551.


fs.readFileSync is not a function

Hi, looks like this package isn't working well with react, any plans to make it compatible with react?
Thanks!

Hi,
thanks for the suggestion. The fs api is removed, you are able to use with react. The latest release (version: 4.0.4) is already available on npmjs.


Update ember-lodash

That release includes https://github.com/mike-north/ember-lodash/pull/104 and https://github.com/mike-north/ember-lodash/pull/105, which fixes #1084 (duplicate of https://github.com/mike-north/ember-lodash/issues/103 and https://github.com/ember-cli/ember-cli/issues/7001)

@rwjblue tests are failing in npm@2 based containers, because of https://github.com/broccolijs/broccoli-debug/pull/6 :)

Just updated npm to at least v3 in Travis in this PR, to fix the failing tests and get this fix shipped asap. Hope that is ok, don't think support for npm v2 is required anymore?

Oh well, some tests failed again, but unrelated to this PR (Chrome not responding). A rerun should make them green hopefully...

restarted them

@samselikoff thanks for merging! Could we get a bugfix release with this?

Also would love a bugfix release for this. You da best @samselikoff


[Syntax Highlighting] nano text editor

Hey there, I made a quick draft of cooklang spec syntax highlight for the nano text editor. Feel free to copy it under a cooklang repo!
It kinda works, the only issue being the ingredients and cookware requiring brackets even for one word items. I just couldn’t get my mind around regexp to make it work.

@le-jun, thanks a lot! I listed your project in syntax highlighting section https://github.com/cooklang/spec/commit/9959ab29b2ddf5500dd5c3a51c784a55c2fc2cc1.


[2-github-basics/] Instruction Misleading

Describe the bug
In github-basic
Miss git branch -M main in Step 10 Connect your local Git repo with GitHub,
and in Step 11 After git push -u origin master got following error

Another issue is that

"Replace repository_name with your GitHub URL." is misleading.
To Reproduce
Steps to reproduce the behavior:

Go to 'https://github.com/microsoft/Web-Dev-For-Beginners/tree/main/1-getting-started-lessons/2-github-basics'
Follow the instructions till Step 11 Send local files to GitHub
Cannot get the expected result

Expected behavior

Screenshots

Desktop (please complete the following information):

OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]

Smartphone (please complete the following information):

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 22]

Additional context
The fix should be running  git branch -M main  before git remote add origin ...

hi, we've had this comment before. We are assuming that folks have 'main' as the default branch selected, however sometimes this seems to not be the case. I think I'll add a little note to this effect in the lesson. Keeping this open until I make the change or someone can introduce a PR.

Hi, I am a beginner and  I would like to correct the instruction

Describe the bug
In github-basic
Miss git branch -M main in Step 10 Connect your local Git repo with GitHub,
and in Step 11 After git push -u origin master got following error

Another issue is that

"Replace repository_name with your GitHub URL." is misleading.
To Reproduce
Steps to reproduce the behavior:

Go to 'https://github.com/microsoft/Web-Dev-For-Beginners/tree/main/1-getting-started-lessons/2-github-basics'

Follow the instructions till Step 11 Send local files to GitHub

Cannot get the expected result

Expected behavior

Screenshots

Desktop (please complete the following information):

OS: [e.g. iOS]

Browser [e.g. chrome, safari]

Version [e.g. 22]

Smartphone (please complete the following information):

Device: [e.g. iPhone6]

OS: [e.g. iOS8.1]

Browser [e.g. stock browser, safari]

Version [e.g. 22]

Additional context
The fix should be running  git branch -M main  before `git remote add origin ...
`

Thank you for fixing the issue I had.


Add option for showing URL instead of opening the release in the default browser

My default browser is not the one I use for Github (long story). Opening the default browser is a nice default action but I'd (personally) like to alias release to release -U or something where release would instead just display the URL to navigate to directly in the CLI.

Would be happy to accept a PR for this! Adding a label.


tf.name_scope has no effect when used with tf.cond and autograph

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): Yes
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): macOS 10.15.5 Beta
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device: n/a
TensorFlow installed from (source or binary): binary
TensorFlow version (use command below): 2.1.0
Python version: 3.6.8
Bazel version (if compiling from source): n/a
GCC/Compiler version (if compiling from source): n/a
CUDA/cuDNN version: n/a
GPU model and memory: n/a

Describe the current behavior
Using tf.summary.scalar in a method that is called in tf.cond logs the scalar without the name_scope. The results are different than when eager execution is used.
Describe the expected behavior
tf.name_scope should be used.
Standalone code to reproduce the issue
Eager Execution
import tensorflow as tf

def test_summary():
    with tf.name_scope('MyScope') as scope:
        mynum = tf.convert_to_tensor(43.9, name=scope)

        def log_mynum():
            tf.summary.scalar('mynum', data=mynum)
        tf.cond(tf.math.equal(mynum, 43.9), true_fn=log_mynum,
                false_fn=lambda: None, name='tb-mynum')

        log_mynum()

with tf.summary.create_file_writer('./logs').as_default():
    tf.summary.experimental.set_step(0)
    test_summary()

Autograph
import tensorflow as tf

@tf.function
def test_summary():
    with tf.name_scope('MyScope') as scope:
        mynum = tf.convert_to_tensor(43.9, name=scope)

        def log_mynum():
            tf.summary.scalar('mynum', data=mynum)
        tf.cond(tf.math.equal(mynum, 43.9), true_fn=log_mynum,
                false_fn=lambda: None, name='tb-mynum')

        log_mynum()

with tf.summary.create_file_writer('./logs').as_default():
    tf.summary.experimental.set_step(0)
    test_summary()

Other info / logs
n/a

Could you try this in nightly? 8c1ead8 partially fixes this by propagating the parent name_scope. Although, I think there might still be a difference between graph and eager mode because graph mode adds an additional name_scope "cond". We should reconcile those.

I just ran on tf-nightly and I got the following warning:
2020-04-23 15:07:04.707011: W tensorflow/core/grappler/optimizers/loop_optimizer.cc:906] Skipping loop optimization for Merge node with control input: MyScope/tb-mynum/branch_executed/_7

However, the TensorBoard output for autograph was the same as the eager execution output.
As for the additional name_scope, I don't see it in the TensorBoard output, but on 2.1.0 I do remember seeing that a "cond" op is added to the graph (which makes sense).

Thanks for trying that. I have a fix that should make the eager tensorboard consistent with the graph one. I am testing it out.

@sumanthratna Could you please try on latest stable version of tf 2.5 or 2.4.1 and let us know if this is still an issue.Thanks!

@sumanthratna Could you please try on latest stable version of tf 2.5 or 2.4.1 and let us know if this is still an issue.Thanks!

I just tried on tf 2.5.0 and the results have not changed since https://github.com/tensorflow/tensorflow/commit/8c1ead8d919c7536c3d8f52fbab44e1dfcd9fd79 was merged. It appears to be the same issue that @saxenasaurabh described in https://github.com/tensorflow/tensorflow/issues/38756#issuecomment-618571584.
Eager

Autograph
when running, I see this in stdout:
2021-07-13 17:19:49.308004: I tensorflow/compiler/mlir/mlir_graph_optimization_pass.cc:176] None of the MLIR Optimization Passes are enabled (registered 2)
2021-07-13 17:19:49.342490: W tensorflow/core/grappler/optimizers/loop_optimizer.cc:906] Skipping loop optimization for Merge node with control input: MyScope/tb-mynum/branch_executed/_7

Was able to reproduce the issue with Tf 2.9.1 please find the gist. Thank you!

Hi @gadagashwini ,
To confirm , the issue you were seeing is not the same as the very original post (that the name_scope of cond didn't show in tf.function mode), but rather the missing graph in eager mode, is that right?

Hi @gadagashwini ,
Got some findings:

In eager mode we only see one graph in the summary because both calling tf.summary.scalar directly and from tf.cond use the same scope prefix, namely "MyScope/".  Hence, the summary was written twice, with the same name and value, so we only saw one graph.
This is an intentional behavior in the internal version of name_scope (code) to ignore the name argument in tf.cond(... , name='tb-mynum'). From the above name_scope's code, we can see by default eager mode doesn't preserve op level name_scope.

Note that the op level name_scope was set by using ops.name_scope, different from the public API tf.name_scope that adds the name prefix regardless of eager mode or not.  This ticket's original issues was about the public scope and it was fixed earlier.

Therefore, it is not just tf.cond, but in general all TensorFlow ops don't add prefix to the name_scope, in eager mode. If you want to debug or output summary in eager mode, please be aware of this behavior and, if need, use tf.name_scope to expand name scopes explicitly.
As this is the designed behavior, we don't have plan to change it now and will close this ticket as won't fix. Let us know if you have any further questions. Thanks!


Export test metrics to Prometheus

As described in the Send test metrics to a remote write endpoint section here, we need to run k6 script with the --out flag and define the Prom endpoint url.
I don't see how to do it in the helm chart, no related keys are defined in the CRD.
Surely we don't have control to add the flag in the k6 run command.
Is this feature configurable in the chart ? If yes how ? otherwise can it be planned for next release?
Thanks and regards

It's all part of CRD: arguments and env vars for k6 are configured per TestRun. You can check these sections in Readme for examples:

https://github.com/grafana/k6-operator/blob/main/README.md#using-extensions → arguments field
https://github.com/grafana/k6-operator/blob/main/README.md#k6-cloud-output → runner.env field

TBH, this question looks more suitable for the forum :slightly_smiling_face:


Proxy improperly records some counts and latencies

Currently, the proxy records the following metrics:

metric
meaning

request_total
number of request trailers sent

request_duration
time spent sending a request payload

response_latency
the time between the request headers being sent and the response trailers being received

response_total
number of complete responses sent

I think it's preferable to measure latency as the time between the request headers being sent and the time being the response headers being received. This avoids treating large payloads and sparse streams as "slow" in terms of latency. This is how our load balancer will measure latency.
I think we should increment request_total at the time of request headers being sent. Otherwise, there is no way to account for this pending work in the system.

(1) poses a small challenge: we cannot properly include classification labels on latencies, because classification may require letting the response stream complete (or fail).
I propose the following changes:

we move request_total counting to the head-of-request
we record the latency as the time between request head and response head, but we report the latency only when the response has completed and the stream is properly classified.

Note that when I refer to trailers, I don't necessarily mean literal http trailers -- I mean end-of-unidirection-stream, as opposed to headers at the start of such a stream.

I think we should address this before pursuing latency-aware load balancing.  My loose plan of attack is the following:

Restructure event-processing logic so that we can start by measuring latency between request and response. This is a necessary first step, since we currently are only able to record a latency value after we've classified the whole stream as a success for failure; and we currently separate success and failure latencies.
Introduce a new telemetry event type that is emitted either on all data reads or only the first read.
Change the reported latency to use this new measurement.

I'd also be happy to work on some of these changes, if you like.


integration tests: Support for running within Docker.

With this change, integration tests can run using Docker with zero dependencies:
$ git clone https://github.com/docker/swarm.git
$ swarm/test/integration/run_in_docker.sh

The environment to run the tests (containing docker, go and bats) is pulled and the code+tests are injected through a volume.
The environment was built with test/integration/Dockerfile
By default run_in_docker.sh will run all tests but you can specify which tests to run, for instance:
$ test/integration/run_in_docker.sh constraints.bats affinities.bats

A similar script, run.sh is also available and works exactly like run_in_docker.sh except that it runs the tests directly and is now recommended over running bats directly.

Hey @jfrazelle, does this work for Jenkins?
/cc @vieux @abronan

Also, very important: Tests are failing right now. This is very work in progress but I'd need @vieux @abronan and @jimmyxian help to figure out why they are not working.

Replaces #651

Using vfs the tests don't slow down by much and the environment is more reproducible on every host.
STORAGE_DRIVER=aufs bats test/integration/constraints.bats  3.75s user 1.17s system 13% cpu 37.104 total
STORAGE_DRIVER=vfs bats test/integration/constraints.bats  4.05s user 1.39s system 13% cpu 40.089 total

Depends on #700

@aluzzardi OK, i will test all api integration test.

so this swarm/test/integration/run.sh bash command would need to be run in a container
what we are trying to avoid is if someone makes a pr changing that bash script to rm -rf / etc
so ideally i need something like:
docker build blah blah
docker run blah blah

its how all the other projects are set up

@jfrazelle I'll look into this.
One thing though: Since we need --privileged (like other projects do I suppose), I still can mount / and rm -rf the heck out of it, it will just take me 2 lines instead of 1 ;)
I'm also worried about performance - the tests already take half an hour to run.

well ya but it removes that in the container not on the host ;)

docker/docker tests take like 12-15 min so i mean up to you, it can't hurt

Well...
$ docker run -it --privileged debian:jessie bash
root@1b01bc4b5967:/# mount /dev/sda1 /mnt/
root@1b01bc4b5967:/# ls /mnt/
[this is my host and I can wipe it out]

@jfrazelle How does this look?
Humans can just use run.sh
Jenkins can directly use test_runner.sh from a container.
For performance, the image is not built but rather pulled and the code is injected through a volume:
git clone <...>
docker pull dockerswarm/swarm-test-env
docker run --rm -t --privileged -v <git root>:/go/src/github.com/docker/swarm ./test_runner.sh
echo $?

cool will try

cant push until it's merged :) (it's an automated build)
How about we merge this as is if you agree on the concept? I still have some work to do before we can put it on jenkins (some tests are SLOW and some are broken)

yeah totally :)
On Mon, May 4, 2015 at 2:10 PM, Andrea Luzzardi<EMAIL_ADDRESS>wrote:

cant push until it's merged :) (it's an automated build)
How about we merge this as is if you agree on the concept? I still have
some work to do before we can put it on jenkins (some tests are SLOW and
some are broken)
—
Reply to this email directly or view it on GitHub
https://github.com/docker/swarm/pull/696#issuecomment-98850596.

let me know when ready :)
On Mon, May 4, 2015 at 2:31 PM, Jessica Frazelle<EMAIL_ADDRESS>wrote:

yeah totally :)
On Mon, May 4, 2015 at 2:10 PM, Andrea Luzzardi<EMAIL_ADDRESS>wrote:

cant push until it's merged :) (it's an automated build)
How about we merge this as is if you agree on the concept? I still have
some work to do before we can put it on jenkins (some tests are SLOW and
some are broken)
—
Reply to this email directly or view it on GitHub
https://github.com/docker/swarm/pull/696#issuecomment-98850596.

Ready!
On Mon, May 4, 2015 at 2:32 PM, Jessie Frazelle<EMAIL_ADDRESS>wrote:

let me know when ready :)
On Mon, May 4, 2015 at 2:31 PM, Jessica Frazelle<EMAIL_ADDRESS>wrote:

yeah totally :)
On Mon, May 4, 2015 at 2:10 PM, Andrea Luzzardi <
<EMAIL_ADDRESS>wrote:

cant push until it's merged :) (it's an automated build)
How about we merge this as is if you agree on the concept? I still have
some work to do before we can put it on jenkins (some tests are SLOW and
some are broken)
—
Reply to this email directly or view it on GitHub
https://github.com/docker/swarm/pull/696#issuecomment-98850596.

—
Reply to this email directly or view it on GitHub
https://github.com/docker/swarm/pull/696#issuecomment-98854518.


Handle snapshot date in milestoning property mapping creation

What type of PR is this?
Bug
What does this PR do / why is it needed ?
This PR fixes the issue with snapshot milestoning not being handled when creating embedded property mapping for 'milestoning' property.
Which issue(s) this PR fixes:
Other notes for reviewers:
Does this PR introduce a user-facing change?
No

Depends on https://github.com/finos/legend-pure/pull/614


Adding import  of 'uno.css' in SvelteKit's __layoute.svelte file causes error only in Safari.

Hello. When i do usual import of uno.css like import 'uno.css' in __layoute.svelte of SvelteKit, i get  strange "Cannot access uninitialized variable" error directly in browser window, not in console, but this is only in Safari. After doing some HMR change, Vite renders page  and works ok, but after doing full reload page, error comes again.  Chrome and Firefox are working normally. Putting this import not in __layout.svelte but into index.svelte for example - also works as expected even in Safari.
So i found a kind of solution to dynamically import uno.css in __layout.svelte and get it working in Safari:
import { onMount } from 'svelte';

onMount(async () => {
	await import('uno.css');
});

but im not sure im doing right.
for testing and reproduction purposes https://github.com/dioxine/svelte-unocss.git
my setup:
NodeJS v16.13.0
SvelteKit v1.0.0-next.272
Safari v15.3
macOS Catalina v10.15.7

Fixed.

Hello. When i do usual import of uno.css like import 'uno.css' in __layoute.svelte of SvelteKit, i get strange "Cannot access uninitialized variable" error directly in browser window, not in console, but this is only in Safari. After doing some HMR change, Vite renders page and works ok, but after doing full reload page, error comes again. Chrome and Firefox are working normally. Putting this import not in __layout.svelte but into index.svelte for example - also works as expected even in Safari. So i found a kind of solution to dynamically import uno.css in __layout.svelte and get it working in Safari:
import { onMount } from 'svelte';

onMount(async () => {
	await import('uno.css');
});

but im not sure im doing right.
for testing and reproduction purposes https://github.com/dioxine/svelte-unocss.git
my setup: NodeJS v16.13.0 SvelteKit v1.0.0-next.272 Safari v15.3 macOS Catalina v10.15.7

Yes, it solves the bug with Safari, but unfortunately it has a side effect, FOUC.


[#139696025] Complete rendering related photos on PhotoDetails page.

Major

New state: tag. Holds the first tag that comes back from getPhotoDetails().
getPhotoDetails() action uses thunk to call getRelatedPhotos with the tag state (const tag = getState().photos.tag;) after the initial response.

getRelatedPhotos is called with the first tag that comes back from the response.

RelatedPhotoGallery is passed state.photos.relatedList (array of photos that comes back from getRelatedPhotos()) and maps it to render Images > Image in a grid below the comments.

Minor

Changed all function prop types to .isRequired.

I guess because I continued working on my branch after it was merged, it's showing all my previous commits that were dealt with. Should I just remove this pull request, make a new branch, and then push that? Let me know. @melaniebrgr @merlinex

Continuing with that thought, it's not that many things but I can make a new branch and push if you think that's cleaner @merlinex . If we keep this, I think the same circleci tests are failing that we looked at @melaniebrgr.

Yeah, these failing tests were fixed and merged into @merlinex's PR, so they should be fixed for this one if you rebase.

Remember, you can check to make sure your tests pass before pushing by running npm run test in terminal.

I think I introduced some problems while rebasing this branch. 82deb78 makes fixes to get relatedPhotoGallery working again.


Warn user if they have provided information that will not be used

@zaikunzhang This should be a quick one. There will be tests for these statements added in the Python bindings PR.

Hi @nbelakovski ! Thank you for proposing this.
I do believe we should raise an error here, not a warning. Obviously, the inputs are wrong. It is not ideal to initiate the algorithm, since the function evaluations are expensive.
For your reference, see
PRIMA/matlab: https://github.com/libprima/prima/blob/v0.7.2/matlab/interfaces/private/preprima.m#L242-L254
PDFO/Python: https://github.com/pdfo/pdfo/blob/v2.0.0/python/pdfo/_common.py#L595-L605
Note the following:

Indeed, we should always refine the problem before sending it to the algorithms. After the refinement, the problem dimension and type may change. It may happen that the "raw" problem does not match the proposed algorithm but the "refined" one does. In that case, ideally, we should continue without raising any warning.

For example, consider that the user wants to use bobyqa or lincoa to solve the following problem.
$$\min f(x, y) \quad \text{s.t.} \quad x = 1, sin(x) + y \le 1.$$
This raw problem is nonlinearly constrained, and hence cannot be solved by the proposed algorithm. However, it can obviously be refined as
$$\min f(1, y) \quad \text{s.t.} \quad y \le 1 - sin(1).$$
This refined problem can be solved by the proposed algorithm.

Obviously, the above-mentioned refinement is too complicated to be done in Fortran or C. They should be done only in Python/MATLAB/Julia/R (see the above-mentioned Python and MATLAB code for your reference). In C, as you proposed, we should check the raw problem directly without doing any refinement.

Thanks.

P.S.: Who on earth would solve a problem like
$$\min f(1, y) \quad \text{s.t.} \quad y \le 1 - sin(1)?$$
Answer:

Mathematically, we cannot forbid users from doing so.
(More important) As a solver developer, we should keep the following facts in mind:
a) The problem we solve is likely only a small subproblem in the user's project.
b) The user may use our solver to solve a sequence of small subproblems rather than only one.
c) The user is not necessarily a human. It is probably another piece of code.
Keeping these facts in mind, think about a piece of code that invokes our solver to solve
$$\min f(x, y) \quad \text{s.t.} \quad a_n \le x \le b_n, x+y \le 1, \quad n = 1, 2, ...$$
where ${a_n}$ and ${b_n}$ both become virtually equal to $1$ for modestly large $n$.

OK, do you think it would be sufficient to change it from if (condition) {fprintf(stderr, "message\n");} to assert(condition && "message\n");?

Is there any other way to raise an error ?
Assertions are not friendly and they work only if we are debugging.
Thank you.

C doesn't have exceptions, so assert is the only option if you want to prevent the program from continuing. I notice that MATLAB's error throws an exception, and in the Python code an exception is raised, so this behavior is consistent with those two.

C doesn't have exceptions, so assert is the only option if you want to prevent the program from continuing. I notice that MATLAB's error throws an exception, and in the Python code an exception is raised, so this behavior is consistent with those two.

Yes, I recall this after some searching. We should return with an error code, right?
https://stackoverflow.com/questions/2891766/how-can-i-throw-an-exception-in-c

Yes we could do that, what do you want to call the new error code?

Yes we could do that, what do you want to call the new error code?

What about problem_solver_mismatch or prob_solv_mismatch? You may choose one according to the style of other codes and adjust the upper/lower case accordingly.
Thanks.

@zaikunzhang changes made, please re-review.

cannot use them

What about "cannot handle them"?

"cannot handle them" sounds like the algorithm is fragile and is likely to do weird things if the extra info is provided, when in fact it won't even get the info at all. So in a sense it can handle them, it just can't do anything with them.

"cannot handle them" sounds like the algorithm is fragile and is likely to do weird things if the extra info is provided, when in fact it won't even get the info at all. So in a sense it can handle them, it just can't do anything with them.

If I am writing or reading a paper, "NEUWOA cannot handle constraints" sounds much better than "NEWUOA cannot use constraints". The latter does not really make sense to me ...

"cannot handle them" sounds like the algorithm is fragile and is likely to do weird things if the extra info is provided

The bounds etc are not "extra info", but part of the problem. Once we realize what is the definition of the problem, I guess it will be clear that the algorithm does "do wired things".
A different but related discussion is https://github.com/libprima/prima/pull/102#issuecomment-1779284321 .

when in fact it won't even get the info at all.
This is the implementation, but, mathematically speaking, what really happens is that they cannot understand the info and ignore it.

Should we worry about the segfault at https://github.com/nbelakovski/prima/actions/runs/7444420673/job/20250795340 ?

OK, I've changed it to "cannot handle them"

Should we worry about the segfault at https://github.com/nbelakovski/prima/actions/runs/7444420673/job/20250795340 ?

It's fixed, it was coming from data.c and if you look at the changes I made to that file it will be clear why it was segfaulting.

OK, I've changed it to "cannot handle them"

Should we worry about the segfault at https://github.com/nbelakovski/prima/actions/runs/7444420673/job/20250795340 ?

It's fixed, it was coming from data.c and if you look at the changes I made to that file it will be clear why it was segfaulting.

Thank you @nbelakovski . I have not more comments. This can be merged if @jschueller has nothing to add.


Add EpochRandomSeedDataPipeCreator

Codecov Report
Patch coverage: 100.00% and no project coverage change.

Comparison is base (37bcc47) 100.00% compared to head (961fe0c) 100.00%.

Additional details and impacted files
@@            Coverage Diff            @@
##              main       #34   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           20        23    +3
  Lines          272       310   +38
  Branches         9        10    +1
=========================================
+ Hits           272       310   +38

Impacted Files
Coverage Δ

src/gtvision/creators/datapipe/__init__.py
100.00% <100.00%> (ø)

src/gtvision/creators/datapipe/base.py
100.00% <100.00%> (ø)

src/gtvision/creators/datapipe/random.py
100.00% <100.00%> (ø)

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Feature: Saving the type of posts displayed in the feed in the config

Fixed by 33d0a00 commit

Fixed by 33d0a00 commit


added service_sdk_mappings

Added service_sdk_mappings as suggested in #6.

(if different formatting for single value lists is preferred let me know. I chose this one because conveniently it is the output of json.dumps(obj, indent=4)


[CI] Update docker images tag to 20240105-165030-51bdaec6

This is to integrate changes in #16336

not sure about the CI failures...

this seems related to ci gpu error. CI has cuda 11.7 installed while the docker image has 11.8, which can be run until the Nvidia updates on base image on November. We need to update the AMIs for GPU workers. @tqchen


'Open Screenshot' takes incomplete webpage screenshots.

The problem that I mentioned, occur only in the case of really long webpages. The bottom part of extremely long webpages are not obtained. :(
It works perfectly for comparatively shorter ones. :)
Please enable 'Open Screenshot' to take screenshots of extremely long webpages. :)

Duplicagte of #18


firebase analytics for ios not working

I am using the latest version, it is 4.0.5, and follow the getting started, when build the following error occured:
Configuration fails. It may be caused by an invalid GOOGLE_APP_ID in GoogleService-Info.plist or set in the customized options.

Hi @Shaboo!
I created a new project, tested Firebase Analytics and worked ok for me. Can you create a new GoogleService-Info.plist and try again, please? Double check that the Bundle ID is the same between Info.plist and GoogleService-Info.plist.
If the issue persists, can you upload a test case? That would make things easier.
Thanks in advance!
Greetings,
Israel Soto.

I have already done that and it worked with no errors,
thanks

Glad to read that, closing this now. If something else happens related to this, feel free to reopen this issue.


Chart[Network Node]: Add support for rendering an optional PrometheusOperator ServiceMonitor resource definition

User Story
As an engineer,
I need

to capture metrics from the node software and other components which support a Hedera network deployment.

So that

I can reliably determine the operational state of the network and make a pass/fail determination for a given test.

Requirements

Implement an optional ServiceMonitor definition for the network node container gated by a boolean flag defined as a chart value.

https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/user-guides/running-exporters.md#servicemonitors

There should only be a single ServiceMonitor which handles all network node pods using a label selector.

:tada: This issue has been resolved in version 0.7.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Bug fixes from swiping

Fixes for:
Preventing swipe from getting stuck when swipeThreshold position not reached;
Set the state to the starting position of the modal, preventing animating from where the swipe stopped;
Remove event listener for back button when swipe to close

Thanks @TheNerdGuyLulu

Thanks @TheNerdGuyLulu.
@maxs15 when can I expect a new release with this fix in?

I want to check everything, to be sure it doesn't introduce other bugs.
I'll do that this week-end.

Sounds great, thanks @maxs15 !

Released in v2.0.0 !


net: lwm2m: Allow Bootstrap server to close DTLS connection

Allow Bootstrap server to close the DTLS connection immediately after receiving Ack to Bootstrap-Finnish command.
This is not an error as either parties are allowed to tear down the connection.
This behaviour was seen they tried Zephyr's client against IoTerop’s ALASKA server.

Fixed the typo.
I also removed the #ifdef ...BOOSTRAP around the enum that defines bootstrap states. It is much cleaner to write the checks using IS_ENABLED() instead of if-deffing various cases, because those enum values don't exist.


feat(restclient): configure whether you want a got or ky client

#168  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @pevisscher and the rest of your teammates on  Graphite


Add etec.txt

Hello,
I would like add my school etec.txt.
Thanks,

@fatimamarques etec.txt I am sorry, I have to close the request without merging, because you made a mistake in a request and did not specify any filepath. Please ensure that you are familiar with this repository rules located at the bottom of this page and make a new correct request. Thank you for your understanding!

@fatimamarques I am sorry, the domain etec.sp.gov.br is removed from our trusted domains list because it was abused in the past. If you are the student of this school, please enroll to GitHub Student Developer Program. Then apply for JetBrains educational subscription with your GitHub account (GitHub tab at https://www.jetbrains.com/shop/eform/students).


Arc position formula is incorrect, causing wrongly detected levels at player level 30 & 31

Currently the following formula is used to calculate the position of the level marker on the arc:
public static double GetLevelAngle(double level, int playerLevel) => (Constants.CPMultipliers[level] - 0.094) * 202.037116 / Constants.CPMultipliers[playerLevel];
This is incorrect, as it assumes that the dot is at the end of the arc when level == playerLevel. However, the dot will be at the end when level == (playerLevel + 1.5).
I believe the correct formula is:
public static double GetLevelAngle(double level, int playerLevel) => (Constants.CPMultipliers[level] - 0.094) * 180.0 / (Constants.CPMultipliers[min(playerLevel, 39.0) + 1.5] - 0.094);
I'm not sure if 180.0 is indeed exact (the arc doesn't look exactly like a perfect semicircle to me), or whether the min() is really needed around the playerLevel clamp (I have no screenshots from level 40 accounts to check - I'm assuming it's needed since the max allowed pokemon level is 40.5, which is already attainable at player level 30; levels 41 and 41.5 are unimplemented), but it certainly looks like a more accurate predictor of where the dot will appear.
A few extreme examples, all of which represent fully powered-up pokemon (Pl = player level, Po = pokemon level):
Pl 1.0, Po 2.5 => old formula:<PHONE_NUMBER> (off the scale, extreme overshoot)
Pl 4.0, Po 5.5 => old formula:<PHONE_NUMBER> (extreme undershoot)
Pl 31.0, Po 32.5 =>old formula:<PHONE_NUMBER> (slight undershoot)
All of this come out to exactly 180 with the new formula.
A real-life, not-fully-powered case:
I'm level 31, and have a pokemon powered up to level 30. Go on Tap wrongly detects it as level 31.5 (slight overshoot), manually adjusting to where the circle most closely matches the dot yields level 31 (barely perceptible overshoot). Manually adjusting to level 30 shows significant undershoot.
Automatic detection: Pl 31.0, Po 31.5 => old formula:<PHONE_NUMBER>, new formula:<PHONE_NUMBER>
Manual adjustment: Pl 31.0, Po 31.0 => old formula:<PHONE_NUMBER>, new formula:<PHONE_NUMBER>
Correct level: Pl 31.0, Po 30.0 => old formula:<PHONE_NUMBER>, new formula:<PHONE_NUMBER>
Notice how close the old formula for level 31 is to the new formula for level 30 - just barely higher, consistent with the almost undetectable overshoot seen after manual adjustment.
From reading the code, it looks like the GetLevelAngle function is only used for drawing the feedback circle & dot; actually detecting the dot position is done separately. If you can, please let me know where that code is located, and what formula it's currently using.

I've pushed this commit into my fork, which should hopefully fix the issue: https://github.com/Googulator/goontap/commit/1b1b55236de904e576a1dacd8c0f90d3315276a2
Don't consider this a pull request yet, I'm still testing the changes.

Hi Googulator, the GetLevelAngle is actually used to detect pokemon level using the detected angle, amd to show the feedback.

Level detection : https://github.com/jbatonnet/goontap/blob/master/GoOnTap.Android/Interaction/InteractionSession.cs#L532
Feedback position : https://github.com/jbatonnet/goontap/blob/master/GoOnTap.Android/Interaction/InteractionSession.cs#L397
The first one detect which level angle is the closest one to recognized angle.

The formula used here is taken from The Silph Road javascript calculator. I'll try to get your commit to run it against my screenshot set.
I was aware of such issues with higher level, but I did not take the time to fix the formula.
Anyway, thank you for your work.

I don't know if my test set is consistent, but your formula doesn't seem to detect correct values for a few screenshots. Do you have a specific screenshot set to test the formula against ?

No screenshot set, I tested on a live device. I was unable to compile the Windows test application.

Just pushed an update in my repo. I changed arc reading to a 0.1° resolution (1° isn't enough at player level 31 and up, as level 31 and 31.5 Pokemon get angles of 177.52 and 178.35 respectively, both rounding to 178). This enabled dropping the half-degree offset I introduced in an earlier patch, which likely caused test failures in some borderline cases.

I merged your PR to ArcPrecision branch on my repo. It still gives me incorrect results on my Pokemons, detecting each one 0.5 lvl less than it should.
Here is an example, I'm level 24 and my Flareon is lvl 25.5 :

My algorithm has some issues detecting high level pokemons, but yours seems to be buggy on low level players. I can't release it directly.

I'll try to setup a CI with unit tests to work on this issue.

Here we go : https://ci.appveyor.com/project/jbatonnet/goontap
Everytime you try to do a PR or you push to my repo, the tests will run and check the image processor against some reference screenshots stored here : https://bitbucket.org/TheDju/goontap.test
I used a different repo not to mess with licenses.
As you may see, GitHub shows a little badge using CI :

You can click it and see what happened, in this case :

Feel free to submit more screenshots, I will do the same.

Submitted another PR, this time all of your testcases appear to pass.
The CI test seems to have problems pulling from the correct repo, and fails early after not finding the correct revision.

I think we're good now. I fixed all CI issues and I now use XUnit. Appveyor shows test results correctly :

I added some more test screenshots I used before, and fixed the last one. You should add your screenshots too.

You should do a last check, but I think I should be able to release this version soon. Thank you :)

Testcases.zip
Attached the testcases I used.
"Googulator" contains my own screenshots at level 32.
"VLFPH" sent his level 37 screenshots (normal vs overpowered Dragonite) on Reddit to my call for screenshots.
"Rokes"'s single level 38 screenshot comes from a public Reddit thread about an overpower exploit.
Finally, the level 39 "ProdigiesNation" screenshots come from this youtube video.

There is one failing test with your screenshots :

Looks like I misnamed that file. It's my perfect-IV Venusaur, which is indeed level 33, not 33.5 (just checked, it says "Need more Bulbasaur candies", not "Trainer level is too low", if I click "Power up").
Feel free to rename it.


fix: updated new function template to use the latest version of deno std module

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 57.071%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
3495

Relevant Lines:
6124

💛  - Coveralls


updating docs

Changelog

Updating .readthedocs.yaml for docs deployment configuration
Adding requirements.txt for readthedocs deployment

Reason:-
due to some bug readthedocs was failing.
reference:-
https://twitter.com/readthedocs/status/1507388916013314048

@DrakeEntity


read file slow after work cached some data

Alluxio Version:
2.9.0/2.9.1
Describe the bug
alluxio deployed with 1 master and 3 workers (use NVME as cache storage);
UFS is s3, mounted on /;  there are about 1.3 million files, and 140 GBs size;
loadMetadata and concurrent read files via fuse;
at the beginning, the speed can be reach 30~70MB/s (without preheating, data needs to be pulled from s3, this speed is acceptable), after worker caches certain data (according to fsadmin report, the amount of data is about 20GB), the read speed is drastically reduced to dozens to hundreds KB/s;
remount the fuse, cached files can guarantee high reading speed, and uncached data access is very slow;
master/worker cpu usage is not high;
Expected behavior
reading speed is stable
Additional context

alluxio master/worker/fuse in k8s cluster, and s3 is a public service outside the cluster, and all are intranet environments.
work use MEM as cache storage has no such problem.
when there is an exception, the s3 service has been tested separately and there is no exception.
async-profiler: profiler.zip

@LuQQiu could you help take a look at this?

AmazonS3Client.getObject - amazonaws.SystemDefaultDnsResolver.resolve takes 20% of CPU, and lock profiling  also show this part has locking issue
https://stackoverflow.com/questions/38483595/inetaddress-getbyname-extremely-slow

Supposedly yes. As long as the file /etc/nsswitch.conf contains files, k8s will use /etc/hosts/ first.

@ssz1997 @wwq2333 is this issue solved?


Can't select area on second monitor

Hi,
I had tried select area on second monitor but i can't interact. Selective area only limits main screen.
Thanks.

Thanks for the feedback! Yes, I am aware of that limitation and consider screen selection feature in the future.

did it get fixed?


Add Chapter While Sorting

Describe the feature you'd like
The ability to create a new chapter while in the sort screen.
Describe the benefits this feature would bring to BookStack users
Would smooth workflow when organizing loose documents with different contexts.
Additional context
I have found that I frequently have to back out of the sort screen to create a new chapter while organizing documents. It'd be great to have the ability to create a new chapter without leaving the sort screen. Maybe this goes the same for organization from a shelf level as well.

Thanks @lithium-ap for this request. I can see how this would be really useful.
Think the sort screen needs a bit of an overhaul really along with one-click common sort options.

just want to mention that there is also issue #519


Does 'expected outbound throughput' specify only outgoing (sending) or also incoming (receiving) traffic?

Quote:

Expected outbound throughput and the number of network interfaces supported by each VM size is detailed in Azure Window and Linux VM sizes.

I need to know the maximum incoming network throughput for certain VM sizes, but the docs only mention outbound throughput. Please clarify:

Does outbound throughput mean outgoing (sending) traffic from the VM, or all traffic that has its source or destination outside of the VM (sending and receiving)?
In case outbound means only outgoing traffic, is there an expected throughput for incoming traffic? If so, it would be very helpful to have this in the docs. If not, e.g. because incoming traffic is less predictable, this would also be helpful to find in the docs. That way, I can stop looking and start testing.

In my concrete example:
The NCasT4_v3-series docs say the NC8as_T4_v3 has 8 Gbps or 1GB/s. Does that mean that it can send up to 1GB/s of data and there is no spec for receiving, or does the 1 GB/s expected throughput also applies for receiving data on the VM?

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

ID: c7c054b7-422c-c3b0-fc8e-91314231ee0c
Version Independent ID: 42825540-2137-92e3-08b0-0dbd84089eda
Content: Azure virtual machine network throughput
Content Source: articles/virtual-network/virtual-machine-network-throughput.md
Service: virtual-network
GitHub Login: @asudbring
Microsoft Alias: allensu

@maximilianpalm , thank you for your feedback. We have assigned this to the content owner/author for review.
@asudbring , Could you please provide your insights here?

I found the following comment under TCP/IP performance tuning for Azure VMs:

Ingress is not metered or limited directly. But there are other factors, like CPU and storage limits, that can affect a virtual machine’s ability to process incoming data.

Does this mean that a VM with NC8as_T4_v3  VM with a 8 Gbps expected outbound throughput could receive more than 8Gbps?

By now, I tested enough to know the answer: Ingress traffic is not limited by the specified network throughput of the respective VM SKU.
Example: VM SKU D16as_v5 has 12500 Mbps specified outbount throughput.
export AZCOPY_CONCURRENCY_VALUE=64  # optimum from previous bench run
export AZCOPY_BUFFER_GB=14  # optimum from manual testing
azcopy bench $CONTAINER_URL --file-count 1 --size-per-file 500G --delete-test-data=false --block-size-mb 20

Result: around 12000 Mbps
time azcopy copy $BLOB_URL /dev/null

Result:<PHONE_NUMBER>00 bytes in 98s = 43826 Mbps
Also, I now found the sentence regarding ingress traffic mentioned above on the site Azure virtual machine network throughput, I seem to have overlooked it earlier. Issue can be closed.


staticpublishqueue breaks on SSL sites

Due to the way paths are referenced, utilising site-wide SSL causes complete site failure due to previously relative paths being referenced as absolutes with static publish.
For example /themes/ becoming http://domain.com/themes/theme/* causing load failures from a different domain.
Would be nice to introduce better handling of this...

I tried specifying static_base_url in config, but found this didn't work when the cache was build via sake.
I found it worked only when I set the following in my config files.
Director:
    alternate_protocol: 'https'


Missing property: minecraft:behavior.go_home

Missing documentation on the property: on_failed
From the bee

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

ID: a6415fb7-7f86-5251-f4f1-c868b4131b66
Version Independent ID: 38b52aac-f638-6f47-2d9f-a7eca06a5514
Content: minecraft:behavior.go_home
Content Source: creator/Reference/Content/EntityReference/Examples/EntityGoals/minecraftBehavior_go_home.md
Product: gaming
GitHub Login: @v-josjones
Microsoft Alias: v-josjones

This is live. Thanks!