Understanding variables inside the code

Hello!
I read your paper "Advantages of Bilinear Koopman Realizations for the Modeling and Control of Systems with Unknown Dynamics", and I was trying to figure out your code to be able to use it with my project. I wanted to be sure that I understand names of variables correctly, so I was wondering if you could tell me if the x value in /datafiles/arm-3link-markers-noload-50trials_train-10_val-5.mat file (e.g. train{1,1}.x) is notation for location of the end of each link, just like you used it in your paper, or something else?

Thank you very much in advance! I really like your work and I hope it will be useful to me, too.

Hello!
Thank you for your question and interest in our work. There is a discrepancy between the names of variables in the paper and in the code. The variable that describes the Cartesian coordinates of the ends of each link as in the paper is actually 'y'.
The only fields of this data struct that are actually used to identify the Koopman models are 'u' (the input) and 'y' (the output). All of the other fields are just included for plotting/animation purposes.
For reference, here is what each variable represents:
-t: time
-alpha: joint angles
-alphadot: joint velocities
-x: alpha and alphadot combined, i.e. x = [ alpha , alphadot ]
-w: end effector load (not used in this paper)
-u: input, i.e. applied joint torques (as in the paper)
-y: output, i.e. location of the end of each link in Cartesian coordinates (called x(t) in the paper)
-params: Collection of parameters, e.g. link lengths, masses, etc.
We apologize for the confusion and thank you for pointing this out! Please let us know if anything else is not clear and we will do our best to explain and/or fix the issue.
Best,
Dan

Dear Dan,
Thank you so much for the clarification, I really appreciate it! This will make it much easier for me to use your code with my system. I will for sure let you know in case I encounter any other problem in understanding your project.
Good luck with your work!
Regards,
Amila

Hello!
I ran again into an issue with understanding variables. In your paper and answer to this issue you say that u is input, i.e. applied joint torques (as in the paper), but in your code you define u as 'Desired joint angle for all joints in each module' (this is what you wrote as a comment in Arm.m, line 211).  After plotting both u from train{1,1} and joint angles alpha, I noticed that joint angles follow the trajectory of input u, meaning that indeed u is reference for joints, rather than joint torques.
Now, I am really confused since your paper and your answer don't support my opinion on u being reference joint angles.
I would really appreciate it if you could help me with this issue.
Regards,
Amila

Hi Amila,
Apologies, you are correct and this is an error on my part! The joint torques applied to the arm are actually proportional to the difference between u and the joint angles (alpha), i.e.
joint_torques = Ku * ( u - alpha )
If you would like to change u so that it represents joint torques instead, you could modify Arm.m, line 212 to be:
input = -kron( u , ones( obj.params.nlinks , 1) );   % vector of all joint torques
Sorry for this discrepancy in the description. I've added a note to the ReadMe file and will update the paper to reflect this difference.
Best,
Dan

Hello Dan,
Thank you so much for your answer!
I have just one more question; is there a reason for using only location of the end of each link as the output in y, and not also velocity of the end of each link?
Regards,
Amila


Truncate options in subset 1,2,3 picklists to 10 characters

DMEDS would like to display subset labels within the subset 1,2, and 3 picklists at the top of the heat map.  They will provide the text labels within the dataset by putting the text label in the appropriate subset column.  A couple examples are Cohort 1 or Freeze 1.  Since we will be accepting text instead of just having the options as "All" or "1" we need to truncate the labels once they exceed 10 characters so that they don't take up too much horizontal space.

This is a data issue and data should be handled upstream of the renderer.  The data guidelines.


Missing data with attenuation or HRTF

Hello,
I'm trying to use the steam-audio to spatialize a sine wave.
I use the following code :
#include <iostream>
#include <cmath>
#include <utility>
#include <chrono>
#include <algorithm>
#include <fstream>
#include <iterator>
#include <vector>

#include <steam_audio/phonon.h>

std::vector<float> createSineWave(float freq, int sample) {
    std::vector<float> raw;
    int amp = 1.f;

    for (int i = 0; i < sample; i++) {
        /* Sine Wave */
        raw.push_back(amp * sin(2.f * 3.14 * (freq / 44100) * i));
    }
    return raw;
}

void save_output_audio(const std::string filename, std::vector<float> outputaudio)
{
    std::ofstream file(filename.c_str(), std::ios::binary);
    file.write(reinterpret_cast<char*>(outputaudio.data()), outputaudio.size() * sizeof(float));
}

std::vector<float> load_input_audio(const std::string filename)
{
    std::ifstream file(filename.c_str(), std::ios::binary);
    file.seekg(0, std::ios::end);
    auto filesize = file.tellg();
    auto numsamples = static_cast<int>(filesize / sizeof(float));
    std::vector<float> inputaudio(numsamples);
    file.seekg(0, std::ios::beg);
    file.read(reinterpret_cast<char*>(inputaudio.data()), filesize);
    return inputaudio;
}

int main(int argc, char** argv){
    auto inputaudio = createSineWave( 440.f, 44100);
    save_output_audio("outputaudio2.raw", inputaudio);
    IPLhandle context{nullptr};
    std::cout << "Creating Context: " << iplCreateContext(nullptr, nullptr, nullptr, &context) << std::endl;
    auto const samplingrate = 44100;
    auto const framesize    = 256;
    IPLRenderingSettings settings{ samplingrate, framesize };
    IPLhandle renderer{ nullptr };
    IPLHrtfParams hrtfParams{ IPL_HRTFDATABASETYPE_DEFAULT, nullptr,0};

    std::cout << "Creating Binaural Renderer: " << iplCreateBinauralRenderer(context, settings, hrtfParams, &renderer) << std::endl;

    IPLAudioFormat mono;
    mono.channelLayoutType  = IPL_CHANNELLAYOUTTYPE_SPEAKERS;
    mono.channelLayout      = IPL_CHANNELLAYOUT_MONO;
    mono.channelOrder       = IPL_CHANNELORDER_INTERLEAVED;

    IPLAudioFormat stereo;
    stereo.channelLayoutType  = IPL_CHANNELLAYOUTTYPE_SPEAKERS;
    stereo.channelLayout      = IPL_CHANNELLAYOUT_STEREO;
    stereo.channelOrder       = IPL_CHANNELORDER_INTERLEAVED;

    IPLhandle scene{ nullptr };

    IPLhandle environment{ nullptr };

    IPLSimulationSettings simulationSettings;
    simulationSettings.sceneType = IPL_SCENETYPE_PHONON;
    simulationSettings.maxNumOcclusionSamples = 128;
    simulationSettings.numRays = 1024;
    simulationSettings.numDiffuseSamples = 1024;
    simulationSettings.numBounces = 3;
    simulationSettings.numThreads = 1;
    simulationSettings.irDuration = 0.1f;
    simulationSettings.ambisonicsOrder = 1;
    simulationSettings.maxConvolutionSources = 8;
    // simulationSettings.bakingBatchSize // not used
    simulationSettings.irradianceMinDistance = 0.01f;

    std::cout << "Creating Environment: " << iplCreateEnvironment(context, NULL, simulationSettings, scene, NULL, &environment) << std::endl;

    IPLhandle effect{ nullptr };
    std::cout << "Creating Binaural Effect: " << iplCreateBinauralEffect(renderer, stereo, stereo, &effect) << std::endl;

    IPLhandle directSoundEffect{ nullptr };
    std::cout << "Creating Direct Sound Effect: " << iplCreateDirectSoundEffect(mono, stereo,
            settings, &directSoundEffect) << std::endl;

    std::vector<float> outputaudioframe(2 * framesize);
    std::vector<float> attenuationaudioframe(2 * framesize);

    std::vector<float> outputaudio;
    IPLAudioBuffer inbuffer{ mono, framesize, inputaudio.data() };
    IPLAudioBuffer outbuffer{ stereo, framesize, outputaudioframe.data() };
    IPLAudioBuffer attenuationbuffer{ stereo, framesize, attenuationaudioframe.data() };

    auto numframes = static_cast<int>(inputaudio.size() / framesize);
    IPLVector3 listenerPosition {100.f, 0.f, 100.f};
    IPLVector3 listenerAhead {1.f, 0.f, 0.f};
    IPLVector3 listenerUp {1.f, 0.f, 0.f};

    IPLDirectivity sourceDirectivity {0.f,1.f};
    IPLDistanceAttenuationModel distanceAttenuationModel {IPL_DISTANCEATTENUATION_INVERSEDISTANCE,10.f};
    IPLAirAbsorptionModel airAbsorptionModel {};
    IPLSource source { IPLVector3{115.0f, 0.f, 100.f},
                       IPLVector3{1.0f, 0.f, 0.f},
                       IPLVector3{1.0f, 0.f, 0.f},
                       IPLVector3{1.0f, 0.f, 0.f},
                       sourceDirectivity,
                       distanceAttenuationModel,
                       airAbsorptionModel
                     };

    IPLDirectSoundPath directSoundPath = iplGetDirectSoundPath(environment,
                                                               listenerPosition,
                                                               listenerAhead,
                                                               listenerUp,
                                                               source,
                                                               0.f,
                                                               10,
                                                               IPL_DIRECTOCCLUSION_NONE,
                                                               IPL_DIRECTOCCLUSION_RAYCAST);

    IPLDirectSoundEffectOptions directSoundEffectOptions {IPL_TRUE, IPL_FALSE,IPL_FALSE,IPL_DIRECTOCCLUSION_NONE};

    for (auto i = 0; i < numframes; ++i)
    {
        iplApplyDirectSoundEffect(directSoundEffect, inbuffer,directSoundPath,directSoundEffectOptions , attenuationbuffer);
        iplApplyBinauralEffect(effect, renderer, attenuationbuffer, IPLVector3{ 1.0f, 0.f, 0.f}, IPL_HRTFINTERPOLATION_NEAREST,1.f, outbuffer);
        std::copy(std::begin(outputaudioframe), std::end(outputaudioframe), std::back_inserter(outputaudio));
        inbuffer.interleavedBuffer += framesize;
    }
    iplDestroyDirectSoundEffect(&directSoundEffect);
    iplDestroyBinauralEffect(&effect);
    iplDestroyEnvironment(&environment);
    iplDestroyBinauralRenderer(&renderer);
    iplDestroyContext(&context);
    iplCleanup();
    save_output_audio("outputaudio.raw", outputaudio);
    return 0;
}

The first sound is the sinewave without effect and the second one is with attenuation.
As you can see on the second picture, there are less data, the sound is shorter.

It's the same problem with HRTF but also the sound wave is flat at the beggining.
The length of the flatten part variates with framesize : if framesize is shorther, the flatten part is shorter.

Pictures of the sound wave with attenuation and HRTF.
Is it normal to have missing data with those two effect ?
Why can I do for the flatten part with HRTF ?
https://github.com/Johan-David/steamaudio
You can find the raw sound files on this github link.

These are excellent questions:

The output audio isn't actually shorter, it's just that the loop needs to run for a couple more iterations. For simplicity, the sample program in the Steam Audio docs runs the loop for (int) (inputaudio.size() / framesize) iterations. But if inputaudio.size() is not an integer multiple of framesize, this will ignore the last few samples of inputaudio. To process these, you should run the loop for one more iteration, passing these last few samples of input in a zero-padded buffer of size framesize. Also, there will be one more frame of output, due to the length of the HRTF, so you should run the loop for yet another iteration, with a zeroed out input buffer, to get that last frame.

To prevent artifacts when HRTFs change, we apply a Tukey window to the input audio, with 25% overlap. This means that there is a slight lag (25% of the frame size) before the output actually starts. This is the flat part that you're seeing, and is by design.

Hope this helps!

Thank you very much for the help !


Upgrade "leveldb" package to version from upstream master

The upstream leveldb (https://github.com/google/leveldb) added Windows support recently.
Please merge recent upstream changes to https://github.com/hunter-packages/leveldb and tag new release.

Please merge recent upstream changes to https://github.com/hunter-packages/leveldb and tag new release

Latest release tag 1.20 is already in https://github.com/hunter-packages/leveldb You want latest master?

You want latest master?

Yes.

Done: https://github.com/hunter-packages/leveldb/tree/hunter-1.20-9ce3051

Does it require any additional changes to CMake to be compatible with Hunter?
I will try to add it to Hunter now.

Does it require any additional changes to CMake to be compatible with Hunter?

I don't know. If no additional changes needed then you can use upstream archive:

https://github.com/google/leveldb/archive/9ce30510d482f5b2fa2965201453f0fc914f700c.zip

There is no need to maintain a fork.

Yes, for some reason the last release was March 2017 despite a lot of progress since then.
It looks like it already supports exporting a target, with a namespace too so the fork probably isn't needed.

https://github.com/google/leveldb/pull/648

This change is not needed.

https://github.com/google/leveldb/pull/647

Yes, that's something useful.

Are you sure the include isn't needed?
I just tried to add it in to Hunter directly and none of the configs mentioned the include directory.

Are you sure the include isn't needed?

CMAKE_INSTALL_INCLUDEDIR is defined for all platforms. This configuration will work everywhere:

https://cgold.readthedocs.io/en/latest/tutorials/install/layout.html

If it's not working, then the problem is about missing GNUInstallDirs or somewhere else, not in CMAKE_INSTALL_INCLUDEDIR variable.

Are you sure the include isn't needed?

CMAKE_INSTALL_INCLUDEDIR is defined for all platforms. This configuration will work everywhere:

https://cgold.readthedocs.io/en/latest/tutorials/install/layout.html

If it's not working, then the problem is about missing GNUInstallDirs or somewhere else, not in CMAKE_INSTALL_INCLUDEDIR variable.

You mean need to add include(GNUInstallDirs) before the
target_include_directories(leveldb
  PUBLIC
    $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>
    $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
)

?

You mean need to add include(GNUInstallDirs) before the

@Invincibl-e Yes


APP-7101 Add machines in org count to fragments APIs

Overview
Send the number of machines in the current org that are using a fragment.
Notes
I'm a little hesitant about this approach of modifying the fragment message itself because the fragment itself has no inherent connection to a "current org". If we one day want to reuse the message Fragment outside of the context of an org, this value will be invalid / irrelevant. What do we think of another message FragmentWithOrgUsage ? This would force us to add it as a duplicate field though to avoid a breaking change. We could also consider making the machines_in_org_count value optional
message FragmentWithOrgUsage {
  Fragment fragment = 1;
  int32 machines_in_org_count = 2;
}

// or

message FragmentWithOrgUsage {
  string fragment_id = 1;
  int32 machines_in_org_count = 2;
}

Added @ethanlookpotts as a reviewer for proto opinions


Updated KNN example to current version of NiaPy.

I replaced pygal with matplotlib for generating the boxplot, otherwise it should work the same as the old example, with similar results.

Nice, thanks @zStupan!


Publish on Hackage

Can it be published on Hackage?

I can, but would you be interested in pushing it to hackage?   I don't have sufficient time to maintain it to a comfortable level and I regard hackage as a commitment to the community.

Potentially yes. I am just starting using it seriously in production, so I may want/need to put some effort to it anyway (although I still hope that it would "just work" :))).
Let's come back to this matter once again a bit later :)


[ShareSheet] connection invalidated

Unable to share after getting the picture at the bottom sheet.

Can you please elaborate more, if possible, please help us to reproduce it or give us a repo that can simply reproduce the error. Please also provide more information about your package version, flutter version, and so on.

Same here on iOS when sharing file

I get the same error by simply running  this with a path pointing to a video file in application Document directory :
return Share.shareFiles(
      [message.path],
    );

I'm running the app on an iPad.


Barback should load multiple transformers with the same class from the same isolate

 Issue by nex3
Originally opened as dart-lang/sdk#19261

Not only would this be more efficient, it would handle the following edge-case behavior correctly:
    // package1 pubspec
    transformers:
    - package2
      some: configuration
    // package2 pubspec
    transformers:
    - package2
      different: configuration
The version of package2's transformer that package1 sees should have the same code as the version loaded by package2, but currently it will have the post-transformation code instead.

 Comment by nex3

Fixed in dart-lang/sdk@040bc714161ecbd74752bd88cdad3dd947705321.

Added Fixed label.

 Comment by nex3

Added Started label.


Multi-GPU training

Hi all,
I'm trying to run a multi-gpu training by running the following command:
CUDA_VISIBLE_DEVICES=1,3 python ./jerex_train.py --config-path configs/docred_joint
after the run is launched I see memory allocation for device 0 (i.e. CUDA 1), but not on device 1. I have tried with batch_size > 1 as well.
I guess some modifications are needed in the cfg file, specifically in the following section:
distribution:
  gpus: [0, 1]
  accelerator: ''
  prepare_data_per_node: false

How can that be solved?
My env is as described in your requirements.txt file.
Thanks.

problem solved by modifying the cfg
accelerator: 'dp'


"Rimefeller" Compatibility Issues

Describe the bug
Rimefeller - Do Until X orders on refiners dont stop on X and produce lots of errors in the debug log
UPDATE: The error only seems to occur when the bill is set to look everywhere instead of in a specific stockpile zone
Steps to reproduce the behavior (VERY IMPORTANT)

Get Rimefeller and Rimthreaded
Build any refiner, connect it with pipes to a full chemfuel tank, build a resource console, set a do until X bill and connect all to power
get a colonist to man the resource console so the refiners turn on
check debug log

Error Log
Player.log
Save file
https://drive.google.com/file/d/1qdCu8yVhs0pKJFgu_O6iR-nJKU8dt0NA/view?usp=sharing
Screenshots

Mod list (Preferably a RimPy compatible list.)

Harmony
Core
Royalty (optional)
Mod Manager (By Fluffy)
Rimefeller
RimThreaded

Tested using provided test save.
Issue occurs as stated on 1.3.2, but seems to be fixed in the 2.0.7 preview. However, when I try to manually make another pawn prioritize work on the console, the pawn already there does not leave, instead both just stay there and use the console, with both pawns displaying the "using the resource console" action message. This does not produce an error, and does not happen without Rinthreaded. Without RT, the original pawn stops using the console. It even happens with many pawns. I did not notice any effect on gameplay, the extraction speeds seemed the same. However, I have never used Rimefeller before so I don't really know what is supposed to happen. I would appreciate it if someone who has experience with the mod can verify my findings.

Tested using provided test save.
Issue occurs as stated on 1.3.2, but seems to be fixed in the 2.0.7 preview. There are no error spam when loading the test save with 2.0.7.
However, when I try to manually make another pawn prioritize work on the console, the pawn already there does not leave, instead both just stay there and use the console, with both pawns displaying the "using the resource console" action message. This does not produce an error, and does not happen without Rinthreaded. Without RT, the original pawn stops using the console. It even happens with many pawns. I did not notice any effect on gameplay, the extraction speeds seemed the same. However, I have never used Rimefeller before so I don't really know what is supposed to happen. I would appreciate it if someone who has experience with the mod can verify my findings.

The pawns should not stack up at the resource console, only one is required to have the refineries work


Request Field ID (GUID) (8000) in Warehouse Shipment Header

Hi,
We need ID(GUID) field(8000) same like in Purchase Header and Sales Header, need in Warehouse Shipment Header also.
This would be helpful for our extension.

You can add this field using table extension if needed


[BUG] Impossible to use themes

The exported parts of library do no't conform the example and documentation. It is possible to define theme using ThemeProvider but default property/method on default export is not defined. It is not possible to call this:
import styled from 'vue-styled-components';

const Foo = styled.default('div', {})`
  background: 'red';
`

const Bar = styled.default`
  background: 'blue';
`

Sorry, why are you using default if you are importing styled directly?
styled.default should be called on require, dynamic import, library referenced via inline script.


How to match multiple anchors with one class?

How to match multiple anchors with one class?

you can modify the matching logic here:
https://github.com/poodarchu/Det3D/blob/master/det3d/core/anchor/target_assigner.py#L80

you can modify the matching logic here:
https://github.com/poodarchu/Det3D/blob/master/det3d/core/anchor/target_assigner.py#L80


feat: Add Directive and DirectiveType

Prerequisites checklist

[x] I have read the contributing guidelines.

What is the purpose of this pull request?
Add Directive class to @eslint/plugin-kit. (Extracted from the core.)
What changes did you make? (Give an overview)

Added a Directive class to @eslint/plugin-kit to be used when implementing SourceCode#getDisableDirectives()
Added a DirectiveType type to @eslint/core
Changed Directive#node to be type unknown instead of object to force consumers to type cast the value before using it.
Added tests for Directive

Related Issues

Is there anything you'd like reviewers to focus on?

Oops, correct!


pub.dartlang.org needs some g+ love

This issue was originally filed by<EMAIL_ADDRESS>
How about some +1 buttons on those packages?

This issue has been moved to dart-lang/pub#217.


⚠ Fetchers has degraded performance

In 48f684d, Fetchers ($STATUS_URL) experienced degraded performance:

HTTP code: 200
Response time: 505 ms

Resolved: Fetchers performance has improved in b5e770d.


Fix callback condition in Select filter

The filter changed callback will be called less often, and in particular it will not be called when the options object has changed but has the same entries. This should fix issue #1187
This is only a proposition, and other strategies are possible. In particular, I implemented the comparison function because the options object is always flat. It is also possible to use an external package like deep-equals or similar.

is try to fix https://github.com/AllenFang/react-bootstrap-table/issues/1174?

Yes this would also fix #1174

@BenoitAverty, thanks 👍  I'll merge it ASAP.

Released on v3.3.0, thanks your contribution.

You're welcome, it's the least I can do :)


Show Create channels tip to admin

Summary
UX for when a first user went through tips was weird because you could "Browse Channels" but there wouldn't be any there. The first admin will now have the option to "Create a channel" instead - button takes you directly to the new channel flow.
Ticket Link
https://mattermost.atlassian.net/browse/MM-28806
Related Pull Requests
n/a
Screenshots

/cherry-pick cloud-beta

Cherry pick is scheduled.


Connector service fails to start on Windows reboot

Service startup type is set to Automatic but upon reboot I get the following error in the event viewer:
FATAL While starting XMPP, failed to get access token (password): Post https://accounts.google.com/o/oauth2/token: dial tcp: GetAddrInfoW: No such host is known.
Starting the service manually from services.msc works fine with no errors.
Maybe service is starting before networking is up?
Connector installed via msi on Windows Server 2012 R2

We have heard of similar problems in Linux. You can try adding a dependent service to the Cloud Print service. Currently, the connector only depends on the Print Spooler. If this leads to a solution, then we can make the change permanent for future users by modifying the code, so please follow up on this issue.

http://stackoverflow.com/questions/3194737/wait-for-network-configuration-to-be-complete-in-windows-service-startup
http://serverfault.com/questions/24821/how-to-add-dependency-on-a-windows-service-after-the-service-is-installed

I'm working on a pull request with a number of enhancements to the Wix MSI build including a dependency on Tcpip.


treewide: Remove uses of crossConfig and add strictDeps

Backport of #40529
I carefully kept the definition of crossConfig in the stdenv adapter, as removing it would be a breaking change.
Motivation for this change
Besides the general idea of back-porting simple cross fixes, strictDeps is needed to make some large Haskell apps build. Yes, this can already be accomplished with crossConfig = true, but that is awful to teach and not really a public interface.
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option build-use-sandbox in nix.conf on non-NixOS)
Built on platform(s)

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Fits CONTRIBUTING.md.

CC @srhb @TravisWhitaker

Going to wait for the dust to settle a bit on #40529 first.

These sort of hundred line changes are not 18.03 material.


Making DNA truly unique

The DNA was not truly unique before I made this change.

@Tubaleviao  could you expand why it wasnt unique before the change

I ran the original code making some tests a couple of times with different images and I ended up getting different images with the same DNA.


[added] warningPrefix option

warningPrefix allows one to specify an optional prefix to be added
to the failure message.
This allows us to filter out just the react-a11y errors from our console log.
Thanks,
Matt and Caroline

Looks good. What say you @angus-c?


Cannot use %load loading python files in Jupyter Notebook editor

Bug: Notebook Editor, Interactive Window, Editor cells

Steps to cause the bug to occur

Actual behavior
running [%load sample.py]  in a cell could failed to load python file.
The content in the cell didn't change and on bugs are reported.
Expected behavior
It can run well in browsers , lines of sample.py will be appended in the cell.

Your Jupyter and/or Python environment
Please provide as much info as you readily know

Jupyter server running:  Remote
Extension version: 2020.5.80290
VS Code version: 1.45
Setting python.jediEnabled: true
Python and/or Anaconda version: 3.6.7
OS: Windows | Mac | Linux (distro): Ubuntu Server 16.04
Virtual environment: conda

Developer Tools Console Output

Extension Host] Info Python Extension: 2020-05-26 20:39:04: Finished waiting for idle on (kernel): cf5ac630-6175-4c22-9cfb-e3679088198d -> idle
console.ts:137 [Extension Host] Info Python Extension: 2020-05-26 20:39:18: Executing cell NotebookImport#2
console.ts:137 [Extension Host] Info Python Extension: 2020-05-26 20:39:18: Submitting code for a99c91cd-361c-4c77-a74f-cf9b6d1b3e9d
console.ts:137 [Extension Host] Info Python Extension: 2020-05-26 20:39:18: Kernel switching to busy
console.ts:137 [Extension Host] Info Python Extension: 2020-05-26 20:39:18: Kernel switching to idle
console.ts:137 [Extension Host] Info Python Extension: 2020-05-26 20:39:18: Finished execution for NotebookImport#2
console.ts:137 [Extension Host] Info Python Extension: 2020-05-26 20:39:18: Finished executing cell NotebookImport#2
Microsoft Data Science for VS Code Engineering Team: @rchiodo, @IanMatthewHuff, @DavidKutu, @DonJayamanne, @greazer

Fixed for VSCode-Insiders native notebooks only as part of set_next_input work in #4566

Is this behind an experiment? Doesn't work for me with old webview. Trying native now.

Oh I believe you mentioned it was native only. Validated.


Test automation approach

Following-up the discussion with the @savudani8 about the e2e testing of our stack, I would like to ask what do you think is the best way to replace the manual testing. The 2 approaches to consider are:

Proper end-to-end integration testing of the UI with lib making calls to the parachain and returning real values to the UI. There would be a need to write utils that overwrite the parachain storage (similar to those done in this PR https://github.com/interlay/interbtc-api/pull/437).

Mocking the lib for the UI tests, so there won't be need to run parachain locally and overwrite its values. This will also make the tests run faster, because it won't wait for the response from the chain. This approach would require writing mocks for the lib methods.

In my opinion 2nd option is better because it requires less effort, is more understandable and maintainable (function mocking vs storage overwriting) and more light-weight. Also, we are already testing the interaction of the lib with parachain in the lib repo. On the other hand, 1st approach is more robust as it integrates all layers of the stack.
What are your thoughts on this please?
@nud3l @alexbleau @bvotteler cc @tomjeatt @danielsimao @savudani8 @crypto-engineer

Normally I am a proponent of integration testing the entire stack, but in this case we probably don't need triplicate integration testing (firstly on the parachain, then on the lib, and again on the UI). In turn if this were a monolithic product I could see an argument in favour of perhaps moving tests out of the lib and into the UI, but in our case the lib is in fact meant to also function as a standalone product and therefore does need tests.
In view on this I think option 2 does make the most sense for the UI. We've already integration tested the lib - UI tests can then focus on only testing the UI itself.

Similar to the other layers in the stack, I think both approaches serve their goal and should be mixed. Unit tests with mocked calls and e2e tests based on the state-setting tool Peter is working on makes the most sense to me. Would help reduce the man-hours spent on release testing.

Normally I am a proponent of integration testing the entire stack, but in this case we probably don't need triplicate integration testing (firstly on the parachain, then on the lib, and again on the UI). In turn if this were a monolithic product I could see an argument in favour of perhaps moving tests out of the lib and into the UI, but in our case the lib is in fact meant to also function as a standalone product and therefore does need tests.
In view on this I think option 2 does make the most sense for the UI. We've already integration tested the lib - UI tests can then focus on only testing the UI itself.

@theodorebugnet I'm not suggesting to replicate integration tests. Rather, to use this PR and ensure that the most critical interactions with the parachain are successful. e.g.: burn redeeming, premium redeeming, collecting rewards, depositing / withdrawing vault collateral, all using the buttons / elements in the UI. The number of e2e tests would be very small, check Peter's PR: https://github.com/interlay/interbtc-api/pull/437

@peterslany other than the e2e tests, what testing strategy would you suggest for the UI?

Good question @tomjeatt :+1:
I think that e2e tests should quite nicely replace the manual testing needed during the release. Other than that, I suggest creating unit tests for components and hooks that would test the functionality of the core dApp components in isolation (these could run as pre-commit hook if the tested component changed so we catch the bugs early). What do you think about it/do you have any other suggestions? :)

Thanks for opening this thread, many good points here already!
My points:
The UI should use approach 2 in almost all cases and mock the lib. Why?

As @bvotteler mentioned, e2e tests rely on infrastructure being available. I would also add that only if a test breaks on our testnet e2e it might not break in production/break in different ways. Hence the added runtime of the test/slowing down our dev efforts is not worth adding this extra hurdle.
The UI is the key component for users to interact. We are currently looking to speed up development work on that side, so testing should consider that. Introducing long-running, hard-to-debug e2e tests is not how we get to increase our dev speed. The foundation of testing needs to be isolated UI tests first, and then we can think about adding more e2e tests later on.

From a testing strategy point of view, the UI tests should test that:

Code implemented/changed in the UI is working as intended: This means that buttons, tables, etc. are visible, placed correctly, errors are caught, etc. The tests are isolated to the code that is being written in the UI.
Lib is assumed to be working: the only level of integration testing we need is to check that the lib is being called correctly. But that should to 99% be ensured by TS checking for correct types. In the 1% where we might change underlying logic in the lib, we can eventually add specific tests, but I don't see a need for that at the moment.

If we have these tests in place, we can stop manual release testing.

Would also recommend to have a skim/read through: https://martinfowler.com/articles/practical-test-pyramid.html
Specifically:

If a higher-level test spots an error and there's no lower-level test failing, you need to write a lower-level test
Push your tests as far down the test pyramid as you can

So before we start thinking about e2e tests, let's make sure we can control changes in the UI first. Similarly, @gregdhill @theodorebugnet and me discussed shifting some of the lib code to parachain RPC calls in an effort to reduce the lib tests to get back to a pipeline that completes in sub-10 minutes.

That all sounds very sensible

Would also recommend to have a skim/read through: https://martinfowler.com/articles/practical-test-pyramid.html
Specifically:

If a higher-level test spots an error and there's no lower-level test failing, you need to write a lower-level test
Push your tests as far down the test pyramid as you can

So before we start thinking about e2e tests, let's make sure we can control changes in the UI first. Similarly, @gregdhill @theodorebugnet and me discussed shifting some of the lib code to parachain RPC calls in an effort to reduce the lib tests to get back to a pipeline that completes in sub-10 minutes.

That all sounds very sensible - @peterslany what I'd suggest (at a very high level) is that we write user driven component tests, using React  with React testing library or Cypress. Last time I checked Cypress had some very promising looking component testing tools, although they were in beta. That was a while ago though, so hopefully they're into production now.
Generally speaking, UI components don't lend themselves to unit testing, so component testing is a better fit, and they tend to be easier to write. We should test utilities (assuming they're pure functions), but I don't think we need to write unit tests for functions which are scoped to a component, and would be covered by the component test.
We already have visual testing through Chromatic so we don't need snapshot testing.
That would give us a bit of a fat pyramid, but this has tended to  be a better and more maintainable approach than writing unit tests for the UI.


~!TENNIS/LIVE!!Coco Gauff vs Qinwen Zheng Live Streams Free On Tv Channel 09 NOV 2024

So, the finalists for the WTA Finals Championship match are locked and now it is the time for the trophy clash. It is going to be a blockbuster match between reigning Olympic champions Qinwen Zheng and the world no 3 Coco Gauff.
Coco Gauff and Qinwen Zheng did not enter the WTA Finals as favorites. Yet, the season-ending championship tournament has been full of exciting play and surprises.
It resulted in the youngest pair of finalists at the season-ending championships since Serena Williams and Maria Sharapova in 2004. Luckily, both players are entering the final match healthy and playing at a high level.
Gauff, 20, and Zheng, 22, are the youngest pair of finalists at the season-ending championships since Serena Williams and Maria Sharapova in 2004. Both have enjoyed a strong surge through the end of the year. Zheng has won a tour-leading 31 matches since Wimbledon, including Olympic gold in Paris. Gauff has dropped just two matches since the US Open, winning her second WTA 1000 title at the China Open last month and now becoming the youngest WTA Finals finalist since Caroline Wozniacki in 2010.
While Aryna Sabalenka has already clinched the year-end WTA World No. 1 spot, there are still rankings, prize money, and bragging rights on the line.
Gauff and Zheng are scheduled to play at 11:00 a.m. EST on Saturday, November 9. Fans in the United States can watch the match on the Tennis Channel. Fans from anywhere in the world can check out the WTA website for more detailed television listings.
Instead of the odds-on favourites, Aryna Sabalenka or Iga Swiatek playing the title round of WTA Finals 2024, we have 20-year-old Coco Gauff taking on 22-year-old Qinwen Zheng with the prestigious trophy at stake. The latest result has been a hallmark of the unpredictable season extending to the WTA Finals event. Sabalenka fell in the last four while defending champ Iga Swiatek could not make it past the round-robin stage.
Gauff defeated No. #2 ranked Iga Swiatek, 6-3, 6-4, in the round-robin stage on Tuesday. The American followed it up by overpowering No. #1 ranked Sabalenka in Friday’s semifinals, 7-6 (4), 6-3.
It is expected to be a mouth-watering clash as both the women have shown tremendous form in this season-ending tournament. Gauff and Zheng both swept aside challenges from strong opponents in the semifinals with straight-set victories.
The Olympic champion Zheng beat Barbora Krejcikova 6-3, 7-5 and Gauff downed world's top-ranked player Aryna Sabalenka 7-6(4), 6-3 in Saturday's semifinals.
While Gauff and Zheng have known each other for many years, they have only played once at the tour level. Earlier this year, Gauff defeated Zheng in straight sets at the Italian Open semifinals: 7-6(4), 6-1. However, that was one match on a clay court. Tomorrow's match is on a hard court indoors.

cv

frgrfdg


feat: implement telegram bot plugin

This PR add Telegram Bot support inside the Memos. Core features include:

Support both text and photo message, include multiple photo message.
One Telegram Bot need for whole Memos Server, every user can bind there Telegram UserID in UserSettings of Memos .
Pull mode of Telegram Bot, which works on your office LAN or home NAS.

Because it's a large PRs, so some features will be added in next version, such as:

Webhook mode of Telegram Bot, which for people who cannot touch Telegram API.
Support message other than text and photos, such as File Message, Location Message, etc.

I have rebase the branch into latest main, and fix all the golang static check failure.


LICENSE?

Hi, when the paper is released or earlier, can you add a license text for the code?
I'm from Godot Engine so I would prefer that it is MIT-license compatible.
Amazing work.

Glad to hear you're interested!
I simply forgot to include a license! Just added one in 18a959a
As you have guessed, an update is coming very soon with the final release of the paper, keep an eye our for it! :)

👍


BUG: Buttons in hamburger menu

Is there an existing issue for this?

[X] I have searched the existing issues

What happened?

Minor bug

The border of buttons in the hamburger menu touching each other, I think there should be some space between them.
Add ScreenShots

What browser are you seeing the problem on?
No response
Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'23 contributor
[X] I want to work on this issue

please assign me this issue under Gsooc'23


about tuning process

I am currently working on a module, following your project exactly. I do not have any electronic knowledge, so I do not understand the tuning that you explained very well. If you are okay with it, could you please explain the tuning process in detail? Thank you.

honestly this was my second ever project and I never really followed through on the explanation. I will try to redo the whole thing soon and make it more usable but for your build ill try to find a solution. I'll get back to you next week

thank you for the answer :)
I did tunning process on my own. Is this correct?
5v to 3.3v (scale down)
Vin(5v) *(R21(33k)/R21(33k)+R19(18k) = Vout(A)
5v:1 - Av:a(AD_CH1_calb) (in my case AD_CH1_calb = 0.971)
3.3v to 5v(scale up)
5v/3.3v = 1.51515
0.51515 = 5k(adjustable)/6.5k
set the 5k trim pot value( in my case around 3.5k)
when cv in volatage around 4.5v to 5v
When a cv in value reaches around 4.5v to 5v, it becomes the same high value. Is this normal?


Update top plugin to v0.9.4

The challenges I have in using the V3 API is the inability to access the needed information in an efficient manner.   E.g.   To get isolation segment information for all org/spaces I can call two APIs /v2/apps and /v2/organization.   These APIs return iso seg info.   However with v3 api I need to call /v3/isolation_segments/:guid/relationships/organizations and /v3/isolation_segments/:guid/relationships/spaces for every iso seg -- which is far more calls then is reasonable to support this plugins functionality.    There are other examples of this as well, iso seg is just one example.

hi @kkellner ,
On the V3 api, we've been handling cases like this with include query parameters.  You can see an example on the list apps endpoint: http://v3-apidocs.cloudfoundry.org/version/3.74.0/index.html#list-apps
Would a include parameter for orgs and spaces on the /v3/isolation_segments satisfy your use case?

First, I think I need to understand how the "include" works.   I've tried this:
cf curl "/v3/spaces?include=org"
{
   "errors": [
      {
         "detail": "The query parameter is invalid: Unknown query parameter(s): 'include'",
         "title": "CF-BadQueryParameter",
         "code": 10005
      }
   ]
}

API info:
      "cloud_controller_v3": {
         "href": "https://api.system.example.io/v3",
         "meta": {
            "version": "3.70.0"
         }
      },

Am I doing something wrong?
As for the isolation segment relationship inclusion (assuming I can figure out how it works), would be perfect if I can get this info from orgs (for the default assigned isolation segment) via /v3/organizations and for space (for the currently assigned iso segment if not default) via /v3/spaces
The next thing I ran into when looking at updating to V3 API is getting "staging" info -- really I just want to know if a newly pushed app is still in staging.  The was available in the /v2/apps output as a field:
"package_state": "STAGED",

This would show PENDING if staging has not completed.   I use this info to give visual feedback if a droplet has not yet been created.   I know V3 has moved staging info into /v3/droplets.  Would it be crazy to have an include in /v3/apps` to include droplet info?   Maybe that would be too much info and/or to expensive of call to make.

@kkellner - This feature became available in 3.71.0.  We would simply include the associated iso segments in the included section of Org and Space

What are your thoughts about "droplets" included in /v3/apps?  Is that too much info to include?

I think its something we can evaluate. Its an established pattern in our API - so it boils down to if the include would impact performance.  We can discuss as team - but stay tuned.

Hi @kkellner we are creating a new v7 plugin interface and are developing new methods which call the v3 API. We noticed that you use the AccessToken method and wonder what your use case is? If we didn't support it on v7, what would you use instead? Thanks!

@abbyachau
There are two uses of AccessToken in this plugin:

It's a required param to FirehoseWithoutReconnect.  Example: dopplerConnection.FirehoseWithoutReconnect(subscriptionID, authToken).
https://github.com/ECSTeam/cloudfoundry-top-plugin/blob/aacf874506e8db31eeb7612b57d506e9e47a86d3/top/client.go#L269

Because the top plugin can run for many days, the token can expire.  When this happens, I call NewTokenRefresher which contains cliConnection.AccessToken() to refresh the token.
https://github.com/ECSTeam/cloudfoundry-top-plugin/blob/a4b69912b5d37ec9cad4da72062859b18768de02/top/tokenRefresher.go#L37

I am not familiar with the new API -- if the firehose API no longer needs a token param and if there is no token refreshing needed, then is sounds like it can be removed.  But these are big "ifs".

Thank you @kkellner appreciate the feedback. We'll reach out if we have any follow-up questions, thanks again!


feat: OL Crowding Heuristics Implementation

Asana task: Add logging to triptych app - pt 2
A lot of changes here are refactoring so that credo doesn't complain about too many parameters or functions having too many nested conditionals. The meat of this PR is in get_instance_using_dwell_time. The gist is that we wait for the train to be stopped at the previous station. Once it is stopped, we get the prediction for that particular part of the trip in order to get the predicted dwell time (departure_time - arrival_time). When now is >= to that time (minus 10 seconds just to give ourselves a little time before the train is supposed to leave), we want to show the widget. The original logic of the train being in transit to the current station will always take precedent. This is only to be used as an extra effort to show the widget a little sooner.

[ ] Tests added?

Once it is stopped, we get the prediction for that particular part of the trip in order to get the predicted dwell time (departure_time - arrival_time). When now is >= to that time (minus 10 seconds just to give ourselves a little time before the train is supposed to leave), we want to show the widget.

Before reviewing, I have questions on the PR description: do we need to calculate the dwell time? It's just the departure time minus 10 seconds.
Also, we don't want to show the widget in this case. We want to log to Splunk to say that "heuristic #1 was met" and include the crowding level at that time. Then we'll make a Splunk dashboard to answer these questions:

...for what % of trips does that heuristic log appear BEFORE we'd normally show the widget?
...what % of the time does the crowding level change between that heuristic log when the widget actually shows up?

I remember there being 2 heuristics to evaluate, and it seems like this PR only captures one. The second one is: two back-to-back readings of crowding are identical.
This might be TMI at this point, but rewriting the problem this way helped it click for me. We're trying to figure out if we we can have high confidence crowding predictions earlier than just "once the train has left a station". Can we have high confidence predictions when:

The train is scheduled to depart a station in 10s? (first heuristic)
Two back-to-back readings of crowding were identical? (second heuristic)

Before reviewing, I have questions on the PR description: do we need to calculate the dwell time? It's just the departure time minus 10 seconds.

This is definitely a case of me overthinking what we needed... That does seem exactly right so unless I run into problems with that, I will make that change.

Also, we don't want to show the widget in this case.

Guess I got too excited trying to add the widget to the screen more often 😅 . Easy to fix though.

I remember there being 2 heuristics to evaluate, and it seems like this PR only captures one. The second one is: two back-to-back readings of crowding are identical.

This reminds me that I had a concern about this heuristic at the time and completely forgot to communicate it. Are these for two consecutive screen refreshes or some other interval to be done in the background? Both I feel pose different challenges. Two consecutive screen refreshes seems like most screens will never have a chance to catch that (although if we are just logging, not really a big issue. Just may not be a heuristic most stations use). A background interval isn't really a problem, but will mean I need to spin up a different background process to track it.

Are these for two consecutive screen refreshes or some other interval to be done in the background?

Ah, I don't remember. Maybe ask Paul H? We decided during that heuristics meeting and I cannot at all remember which way we decided

Added an additional heuristic for consecutive crowing classes. Heuristic logic now live in their own function pick_heuristic. Dwell time logic is the same as before (except we look at departure_time instead of calculating it). New logic is simply log when two consecutive predictions have the same crowding classes.

Are these for two consecutive screen refreshes or some other interval to be done in the background?

which one did you end up choosing?

which one did you end up choosing?

2 consecutive screen refreshes. The time-based heuristic will always get priority just so we aren't forever looking for 2 consecutive classes that are the same. Each refresh that still isn't currently past that time will compare to the previous. If it's the same, log it. Otherwise, replace what is in the cache with the new prediction.

After our chat in Slack, I agree that these heuristics should be independent. That has been changed.


0.7 FINAL!

Well, now I have added PUNS of new stuff.
After 0.7-pre4, which gets released, when SnowballFlame sends me the new textures (==> DONE), I will make a compatible version of Reforged Integration again. (==> DONE)
And when Silvercatcher transferred the CnG-repo, I will make it compatible and maintain it, too. ==> Maybe later on
This is it!
This is the next HUGE update!
I love it already <3
Update 22-09-2016: Well, finished everything on that list. Waiting for new textures for Reforged Integration and bugs, that I can fix. :)

Released.


Add Introduction to Machine Learning Article

Add Introduction to Machine Learning Article as additional reference

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[ x My article does not contain shortened URLs or affiliate links.

If your pull request closes a GitHub issue, replace the XXXXX below with the issue number.
Closes #XXXXX

Congrats @logtata on your first pull request (PR)! 🎉
Thank you for your contribution to the page! 👍
We're happy to accept these changes, and look forward to future contributions. 📝


makefile/kvm: add dependency for copied files

Fixing problem with dependencies for parallel making two kvm images, found by @mzylowski on 40 cores environment.
ACTOOL was called before before all common files was copied to hypervisor-specific directories. So, it's simply adding STAGE1_COPY_IMAGE_FILES dependency for STAGE1_ACI_IMAGE rule if STAGE1_COPY_IMAGE_FILES exists. + removing redundant new-line signs.
cc @coreos/rkt-kvm-maintainers

LGTM

LGTM but @s-urbaniak, @krnowak could you look on this also?

LGTM, once green

FAIL: TestRktStop

Failure seems to be not connected to this change, still it desires additional issue.

@jellonek https://github.com/coreos/rkt/issues/3091

it's a known flage, hence merging


Step through TS editor code using source map

Currently, when you install the monaco-editor, the source map files are already been generated.
In source map we have ref file, like:
"file:///home/aeschli/workspaces/vscode/src/vs/base/common/diff/diffChange.ts",
What is the steps to add TS source files  and able to debug and step through the TS code in browser?
Thanks

The instruction is here:
https://github.com/Microsoft/vscode/tree/master/build/monaco
I was not able to build it on Windows 10 machine , did not have time to look at the issues, but it took a  few minutes to build it on Linux.
Just use a Monaco sample and use "Out-monaco-edior-core" folder from build and start debugging the ts files.


Dream Tunnel Entry

Entity that attaches to the side of a solid which, when dashed into, puts the Player in the DreamTunnel state.

Minimally implemented in #35
TODO:

[ ] Add Feather particles/functionality
[ ] Add support for PandorasBox DreamDash controller
[ ] Add Dreamblock activate/deactivate routines with two options:

[ ] Fade away and allow the overridden dashcollision
[ ] Use deactivated texture and block dashcollisions altogether

[ ] Add OneUse mode
[ ] Add interaction with DreamTunnelDash - Kill if active, stop if inactive


mha enhance

Type of Change
Fix bug
Description
exp in MHA will overflow in some case.
Expected Behavior & Potential Risk
the expected behavior that triggered by this PR
How has this PR been tested?
how to reproduce the test (including hardware information)
Dependency Change?
any library dependency introduced or removed

please benchamrk the performance data of
https://github.com/intel/neural-speed/pull/137 with this PR


Multi-threading/processing instruments

Integrating multithreading or multiprocessing into the Instrument class using ZMQ and/or queues

I'm closing this PR since we are transitioning instruments to InstrumentKit (#53, #94).


Queue take race condition

While investigating #438, I discovered a bug that I was able to narrow down to a race condition present in the current implementation of Queue. The consequence of the race condition is that elements may be removed from the queue out-of-order in which they were enqueued.
The race condition manifests here (https://github.com/scalaz/scalaz-zio/blob/master/core/shared/src/main/scala/scalaz/zio/Queue.scala#L166 between lines 166 and 167). When a taker thread reaches line 166, it offers a Promise callback for the taker to the takers queue. On line 167, unsafeCompleteTakers is invoked to remove any elements in queue that were added after the poll on line 155.
Imagine a taker thread T is at line 166 in its execution. From the perspective of T, another thread S concurrently enqueues an element A to queue. T adds its Promise to the takers queue on line 166.  Concurrently, right before T begins line 167 line 167, S offers another element B to the queue. The offer invocation finds the Promise that T enqueued to the takers queue, removes it and completes it with element B. Thread T now invokes unsafeCompleteTakers and observes that element A is available in queue, but the taker it enqueued to takers a line before has already been consumed. The offering of element A occurs causally before the offering of element B, but B is consumed first.
Here is a code example that illustrates this race condition:
for {
  queue <- Queue.bounded[Int](1)
  put    =  queue.offer(3).flatMap(_ => queue.offer(4))
  take   = queue.take.flatMap(a => queue.take.map(b => List(a, b)))
  _     <- put.fork
  list  <- take
} yield list

Over many executions, you may observe that list equals List(4, 3) instead of List(3, 4). I was looking for a simple fix to eliminate the race condition, but I didn't come across an easy solution. I think the invariant that needs to be satisfied is that either queue or takers can be non-empty, but not both.
This race condition also manifests for offer (https://github.com/scalaz/scalaz-zio/blob/master/core/shared/src/main/scala/scalaz/zio/Queue.scala#L96) but if Queue is not guaranteed to be fair to consumers, then it isn't a problem.
Let me know if you need more information or if I can help out with a fix in any way. :) @jdegoes I'm not sure who to ping for this, could you make sure the right people see it?

Hey, thanks for the detailed report. I'm the one who did this in the first place 😕
The queue is intended to be fair, even though it's getting tricky now that we use several mutable queues (the previous implementation was wrapping everything in Ref.modify so there was no concurrency, which means it was also much slower).
One thing we can do in offer is try to poll takers only if the queue is empty.
val pTakers = if (queue.isEmpty()) unsafePollN(takers, as.size) else List.empty

That way, if the queue is not empty, it will force enqueuing items so that right after unsafeCompleteTakers processes them in the right order.
I ran your code 10 million times and the issue didn't appear.

I tried that out too, didn't see any issues! 😄  Though, just to confirm, the race condition is still there, right?
As far as fairness is concerned, it makes sense that techniques that improve performance would degrade fairness. I can identify several sources of unfairness in the current implementation, and "fixing" them would definitely degrade performance. If a fair queue is desired, perhaps that could be exposed as another type or strategy?

Yeah I think there's still a very minimal chance that it happens.
I guess it's a compromise to find between fairness and performance. Another approach is Monix which is optimized for speed but with low fairness (no takers and putters queue, every taker and putter keep being retried without order until they can be processed).
I would say that the current implementation maintains both high performance and high fairness (but not absolute). If we find fixes like this one we should totally apply them, but if the performance penalty is too important it may be not worth it.
@jdegoes what's your take on this?

@ghostdogpr I agree. "High performance" and "high fairness" is the sweet spot for 90% of applications.

I included that fix in #443

Closed by #443


Add docs for RDS DB subnet groups

This adds documentation for RDS DB subnet group resources. Support for these
was added recently.

Support for these was added in #422.
Thanks @DoctahPopp871 for writing that code. Do these docs look all correct?

Great, thank you @zabacad.  This looks good to me.

Updated:

Adding missing underscore in type name.
Description is required.

This looks great ! @zabacad  thanks!


Integrity error when submitting instructor training application

If I enter a non-Eventbrite URL such as https://google.com, I get the warning that it must be an Evenbrite URL.  If I try an Eventbrite URL such as one listed on our calendar or if I leave that blank, I get an Integrity Error.
Integrity error on eventbrite_url field when submitting Instructor Training form:

@elichad  it looks like this change was made on the feature/instructor-training-form-updates branch.  Can we bring it in to the membership codes feature branch?


AutoHDR disabled while using Northstar

Bug
AutoHDR in Windows 11 does not activate when launching w/ Northstar and will only launch with vanilla TF|2.
Steps to reproduce

Run Northstar on any Windows 11 build with AutoHDR enabled in settings while using an HDR monitor.

Specifications

Northstar version:  <IP_ADDRESS>
Platform: Origin

What happens if you use -northstar? I.e. go to Origin, go to Titanfall2 properties, advanced settings, launch arguments, add -northstar and then launch Titanfall2.

I can confirm launching with -northstar resolved the issue.
Thank you, appreciate it!

Could be force-enabled by this: https://github.com/Choum28/AutoHDR
Northstar could add such a key to registry itself too presumably


Document the standard output file produced by python prepare scripts

Part of the process for loading states' files into the warehouse is to run them through a python script that is specific to that state. The script cleans up idiosyncratic data and normalizes the file to stage them for ingesting into the warehouse.
The standardized file columns can be found in PrepareUtils.py in src/main/python.
We need to document the meaning of each field in this output file to make it clearer how to write new prepare scripts.
I set up a google spreadsheet to maintain this data. You  can request an editiable link via slack.
One of the biggest things the script do is bust apart monolithic address strings into the Federal Geographic Data Committee standard for addresses using a python module called usaddress
Once we have this spec defied we need to go back and insure the Ohio, New York, and Florida loaders produce conformant output and then create a standard loader that will work with all such prepared files.

I'll take a loot at this while I'm working on the NC voter information.
If someone else wants to tackle this issue, feel free to take it.

yay me too! lots of people can help I think :-)

added a bunch, mainly for mailing address.


Challenge 141-160

-Added tags according with the difficulty of the exercise. -Added description tags.

Thank you for updating ShowBlockly in all these places.  Although, I also noted a couple places where ShowBlockly should stay false in File Changes.

Got it, I will work on that, thank you for the review.


stop progation on click event for filtering

When applying custom styles to the grid, I came across an issue where click on the filter button would cause the click on the tr and thus sorting immediately before displaying the filter. Stopping the vent propagation on the filter button solves the issue.

Do you have a repro? I don't see this happening on the web site and I already have short circuits on sorting.

I would need to spend quite a bit of time preparing a sample which I unfortunately don't have. If you feel it is already handled, then consider it a suggestion. Thanks for this awesome lib!

Okay, will close for now, but if you have a repro (can fork of off example pages for faster repo) feel free to contact me through issues.

I published a sample here:
https://www.elitecars.mx/Cars
open Chrome's developer tools and remove the stopPropagation() call in your javascript source (mvc-grid.js) -- hopefully this helps you see the effect.

It doesn't have filters though.

I see what is going on, you probably changed the grid partial to render custom icon, you can achieve the same with font awesome classes on button itself, instead of creating additional <i> child and it will work.
<button type="button" class="mvc-grid-filter fas fa-filter"></button>


The 1v1.lol hack not works

i checked every thing but still not works

If speed doesnt work then you have the wrong pid


SCSS lint doesn't support CSS modules

VSCode Version: 1.7.1
OS Version: OS X

SCSS lint doesn't support :global from CSS modules https://github.com/css-modules/css-modules
http://take.ms/KvmIM

duplicate of #14539


feat(operator): add retryWhen operator. closes #129

Merging. It's been up for a week, I guess there are no problems with it.


PSUBSCRIBE example

... if you want it. See this gist.
I thought you had a bug until I went and wrestled with the Redis docs for a while. But maybe that's not such a bad thing.

Who wrote this project documentation? It seems he wrote it just for been understood for himself. -_-' Dont make people think, write a test or example for any use case.

Who wrote this project documentation? It seems he wrote it just for been understood for himself. -_-' Dont make people think, write a test or example for any use case.


Not able to click angular webelement after upgrade

Hi,
Recently I have upgraded Chrome & started facing issue with Protractor tests. I am not able to click any webelement with click() function. No error displayed in console
I have to use javascript executor [browser.executeScript()] to click the webelement & it is working fine.
Current configuration I am using:
Chrome- V66
Protractor- 5.3.0
Selenium server standalone jar- 3.12.0
Chromedriver- 2.38/2.37
Jasmine- 3.1.0
Windows- 10
can anyone help me on this.

Hi, @stemkar123 ! Can you please provide test case example?

@IgorSasovets I have tried simple case as below. sendkeys() working fine but click() not working.
Spec:
describe('angularjs homepage todo list', function() {
it('should add a todo', function() {
browser.get('https://angularjs.org');
element(by.model('todoList.todoText')).sendKeys('write first protractor test');
element(by.css('[href="http://angular.io"]')).click();
});
});
Conf:
exports.config = {
seleniumAddress: 'http://localhost:4444/wd/hub',
directConnect: true,
specs: ['todo-spec.js'],
};

@stemkar123 , I modified your scripts and now all works as expected. So, try this code:
protractor.conf.js
'use strict';

exports.config = {
	directConnect: true,
	specs: ['todo-spec.js']
}

todo-spec.js
describe('angularjs homepage todo list', function() {
	it('should add a todo', function() {
		browser.get('https://angularjs.org');
		element(by.model('todoList.todoText')).sendKeys('write first protractor test');
		return browser.executeScript('document.querySelector(\'.hero>h2\').scrollIntoView(true)')
			.then(() => $('[href="http://angular.io"]').click());
	});
});

@IgorSasovets Thanks for looking into this. I have used modified code & works fine now. But the problem is I wont be able to change the click method throught the script as there are around 400+ test scripts & click is used number of times. :(
Also one observation: If I keep original code as it is & just add "directConnect: true" then also normal click() works fine. Code looks below:
Spec:
describe('angularjs homepage todo list', function() {
it('should add a todo', function() {
browser.get('https://angularjs.org');
element(by.model('todoList.todoText')).sendKeys('write first protractor test');
element(by.css('[href="http://angular.io"]')).click();
});
});
Conf:
exports.config = {
seleniumAddress: 'http://localhost:4444/wd/hub',
directConnect: true,
specs: ['todo-spec.js'],
};
I just want to understand what is the harm if I use "directConnect: true" in conf file.

Actually, when you're using directConnect option you don't need to specify seleniumAddress property. "directConnect: true" tells protractor to get selenium driver in its default location and use it. When you specified seleniumAddress, you tell protractor address of a running selenium server. Regarding number of tests, problem was not in click() function, element was just not visible to browser, that's why I used scrollIntoView.

@IgorSasovets  : the scroll into view should happen automatically right?  I'm facing similar issues after upgrading to latest driver files.

Hi, @arjun1092 ! Actually, not always (at least based on my experience). sendKeys() event has aditional focus action because you user can't input text in unvisible to him field. That's why we don't need to use scrollIntoView() when using this function. Same requirements for click() action. When you want to click on element you should see it, isn't it? But click() function doesn't include additional focus event (first time I faced with such behaviour more than 1 year ago), so you need to add scrollIntoView() function.
There is solution which allows you to click on element without scrollIntoView() function even if it isn't visible on part of screen but presented in DOM. You can just add small wrapper (or create separate function) where using browser.executeScript() perform click on element. Small example:
navigate to agular page, there is link "Try the new Angular" at top of the page with selector '.button.button-large.button-primary.has-shield.has-shadow'. Function looks like
function clickOnElement(elementSelector) {
   return browser.executeScript('document.querySelector(arguments[0]).click();', elementSelector);
}

To try this just navigate to angularjs page, scroll down to middle of page (link should be unvisible to you) and run
document.querySelector('.button.button-large.button-primary.has-shield.has-shadow').click()

in console. Same for input field (focus event example), navigate to top of this page and run
document.querySelector('input[placeholder=\'add new todo here\']').focus()

command to see result.

@IgorSasovets  : let me try this out in my repo. will give you an update by today EOD.

@arjunUnniumbath , any updates on this?

@IgorSasovets have you tried update Chrome to 67 version?

Hi, @CrispusDH ! Yes, I ran it on latest Chrome version but if we don't use additional scrollIntoView() event here, problem still exists.

Oh, this is not a problem. If button isn't visible you can't click on it. Think like a User, how he will click on a button? Firstly, he will scroll and then click. You should do the same. If protractor will scroll and click automatically I will suggest this behavior as a bug.

@stemkar123
What's the exact error message you are getting?
@CrispusDH
Chromdriver automatically scrolls to an element to click on it. This was broken on version  2.31 and was fixed in 2.32, see http://chromedriver.chromium.org/downloads
Based on the errormessage we can determine if it is a Protractor bug or a Chromedriver bug, most likely a Chromedriver bug.

@CrispusDH , did you read one of my comments to this issue? In previous comment I said the same. It's not my problem) I posted suggested solution.

@wswebcreation , here is error message:
 Message:
    Failed: unknown error: Element ... is not clickable at point (592, 28). Other element would receive the click:
...

      (Session info: chrome=67.0.3396.79)
      (Driver info: chromedriver=2.39.562713 (dd642283e958a93ebf6891600db055f1f1b4f3b2),platform=Mac OS X 10.12.6 x86_64)
  Stack:

@IgorSasovets
Tnx, ok, first step would be to check if the element is clickable when it is in the view, if it is then there is a problem with the Chromedriver behaviour.
Please file an issue on the Chromedriver site, because this is then not an issue with Protractor.
Tnx

@wswebcreation , I tested it and can confirm that element is clickable. Seem like there are some problems with chromedriver autoscrolling.

@wswebcreation I did not get any error message. Sendkeys() not working whereas click() was working perfectly.


Incomplete cert creation

I already generated couple of certs with these lines in wordpress months ago and everything is working fine:
-e VIRTUAL_HOST=domainname.com \
-e LETSENCRYPT_HOST=domainname.com \
-e<EMAIL_ADDRESS>\

Now I tried to add one more site but in 'certs' folder it creates 'domain_name folder' with only account_key.json and account_reg.json files in it.
I can access the site via HTTP so proxy is working, but when I enable https it breaks (500 Internal Server Error). When I review the cert from browser it looks like self signed cert. Showing only letsencrypt-nginx-proxy-companion tab without domain name. What could be the issue?
Thank you.

Your cert isn't generated most probably because of an authorization issue.
Please check the docs : https://github.com/nginx-proxy/docker-letsencrypt-nginx-proxy-companion/blob/master/docs/Invalid-authorizations.md
And the relevant issues : https://github.com/nginx-proxy/docker-letsencrypt-nginx-proxy-companion/issues?q=label%3A"Failing+authorization"+

AAAA record was pointing elsewhere. Thanks a bunch! This one is resolved.


Functional Testing Release Updates

In version v0.17.0 we introduced the ability to update KubeVirt using the KubeVirt operator. Part of our commitment there is to guarantee an update path between each KubeVirt release.
This functional test is meant to act as a guarantee that we don't inadvertently break the update path from the previous release to the trunk of master.
NONE

@rmohr @slintes The test has everything I wanted in it now. I removed WIP flag.
The thing I'm unsure about is how we track the previous release. At the moment I have a default release that is hard coded into the functest entrypoint script. Any thoughts on how we can accurately auto-update the latest release in a way that will keep us from having to remember to update that file each month?

@rmohr @slintes I think I solved how to detect the previous release.
git describe --tags --abbrev=0 "$(git rev-parse HEAD)"
if we're in a branch based off of master, it returns v0.18.0
If we're in a branch based off of release-0.17, it returns v0.17.2

@rmohr @slintes I think I solved how to detect the previous release.
git describe --tags --abbrev=0 "$(git rev-parse HEAD)"
if we're in a branch based off of master, it returns v0.18.0
If we're in a branch based off of release-0.17, it returns v0.17.2

Nice :+1:
But what do you think about my previous comment, that imho we need to test against the last patch release of the same + the last minor release? E.g. atm master and release-0.18 branches should test updating from 0.18.0 and 0.17.2, and release-17 branch updating from 0.17.2 and 0.16.3?

But what do you think about my previous comment, that imho we need to test against the last patch release of the same + the last minor release?

I think there are more test cases than just those two if we want to guarantee upgradability across previous minor/patch releases.
For example, a future 0.18.3 release potentially needs to test upgrades from 0.17.3, 0.18.2, and upgrades to a new release branch with patch release 0.19.3...
Then there's the argument of whether or not 0.18.3 should upgrade tested every patch release of the 0.17.0 and 0.19.0 releases.
The matrix explodes. Which might actually be necessary. I'm just not sure how to handle it yet or if that's something we should tackle immediately.

ping?

What is needed to get this (essential tc) merged?

I rolled this test into the https://github.com/kubevirt/kubevirt/pull/2401 API GA review as they are coupled to a certain extent.
If the API GA looks like it is being delayed and won't make it into the 0.19 release, I'll proceed with updating this PR to get the release testing in at least
I'm closing this PR for now as it is duplicated by #2401

Thanks!


When creating volume attachment failed, 'AccessProtocol' is empty

Is this a BUG REPORT or FEATURE REQUEST?:

Uncomment only one, leave it on its own line:
/kind bug
/kind feature

What happened:
When I failed to create volume attachment, 'AccessProtocol' was empty.
Storage driver needs to refer to 'AccessProtocol' in order to switch processing in deleting volume attachment.
Even in the case of an error, could you store the value of 'AccessProtocol'?
# osdsctl volume attachment list
+--------------------------------------+----------------------------------+--------+--------------------------------------+------------+--------+----------------+
| Id                                   | TenantId                         | UserId | VolumeId                             | Mountpoint | Status | AccessProtocol |
+--------------------------------------+----------------------------------+--------+--------------------------------------+------------+--------+----------------+
| e59c7b2a-34cc-4d3c-9930-7ad3b4260ed5 | e93b4c0934da416eb9c8d120c5d04d96 |        | 36325504-cb3d-4db8-a9f5-74704d46731f | /mnt       | error  |                |
+--------------------------------------+----------------------------------+--------+--------------------------------------+------------+--------+----------------+

What you expected to happen:
How to reproduce it (as minimally and precisely as possible):
Anything else we need to know?:
Environment:

Hotpot(release/branch) version:　development branch (1a13191)
OS (e.g. from /etc/os-release):
Kernel (e.g. uname -a):
Install tools:
Others:

@xxwjj PTAL, thx!

@xxwjj could you please reply to this issue?

@hirokikmr Can you give some logs about it. why does it failed when creating attachment? if it failed in controller,  the workflow does not go to driver, the attachement was just stored in database, so when you delete the attachemt just delete the entry in dabase.


fix(@angular-devkit/build-angular): shim node events builtin for dev server

The dev server requires a node 'events' builtin shim to function.  The dev server as written only currently works with package managers that hoist the events shim package to an accessible location.  Hoisting is unfortunately not standardized and the assumption within the dev server will not hold true for all package managers. The actual code is only accessed when hmr is enabled which allows the 'events' import to be ignored in the non-hmr case.
Closes #13680

Closing; as I am attempting to get this addressed directly in Webpack.


Memory issues

Has anyone run into memory leaks with this component. Seems like it's leaking quite a bit for me.
Shouldn't this do a buffer.reset() in the onDestroy()
https://github.com/angular-ui/ui-scroll/blob/master/src/ui-scroll.js#L208

@tosman My last experience with memory leaks was more than 1 year ago. And no potential dangerous entities were added to the library since that time.  By the way I've run my shallow memory tests (based on this demo) and found no leaks. Do you have repro?
Regarding buffer.reset(), 2 things that could be interested here are buffer element's scope destroying and removing buffer element from DOM. I believe, child scopes are being disposed automatically during parent's scope destroying. Also, I can't imagine situation when ui-scroll is destroyed while buffer items are still in DOM. So, a repro is needed to continue this story!


Parse playlist.xml and generate json file

As part of Create a Disabled tests pipeline, we need to parse playlist.xml in multiple repos and generate json file:

repo:
https://github.com/adoptium/aqa-tests
https://github.com/eclipse-openj9/openj9
parse playlist and generate json file. For example,

input: https://github.com/adoptium/aqa-tests/blob/c81d573e3ee749b457ec10e7e4aaec69f513e34c/openjdk/playlist.xml#L153-L160
output:

[{
"JDK_VERSION" : all,
"JDK_IMPL" : "openj9",
"TARGET" : "jvm_native_sanity",
"GIT_ISSUE" : "https://github.com/eclipse-openj9/openj9/issues/10757",
"PLATFORM" : "all"
},{
"JDK_VERSION" : all,
"JDK_IMPL" : "ibm",
"TARGET" : "jvm_native_sanity",
"GIT_ISSUE" : "https://github.com/eclipse-openj9/openj9/issues/10757",
"PLATFORM" : "all"
}]

This may be better to do it within TKG. FYI @renfeiw

This may be better to do it within TKG. FYI @renfeiw

Yes, I agree as TKG has knowledge of the disabled targets.

I'd like to work on this but @renfeiw @llxia Has an issue been created in the TKG repo or should we continue to track this here?

I will transfer this issue to TKG (since it sounds like that is where the changes would occur).


[$500] Log in -  Unable to login after Closing an account

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Login to Account A.
Navigate to account settings and close the account.
After being redirected back to the login page, log in to other account - Account B.
Access Account B's email inbox and open the email containing the "magic sign-in link."
Click on the sign-in link > This action should open the app.
(we must login via attached link in the email)
Observer: Unable to login to account B, the app gets stuck loading

Expected Result:
The user should be able to log in without any issue
Actual Result:
Unable to log in after closing an account. Users have to un-install and re-install app to login again
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[ ] Android / Chrome
[x] iOS / native
[ ] iOS / Safari
[ ] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: 1.3.56-19
Reproducible in staging?: Yes
Reproducible in production?: Yes
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/78819774/0716ff63-a4de-4060-b523-24cb7d053ebd
https://github.com/Expensify/App/assets/78819774/1f3419bb-6b4b-408e-8d5f-4c088d6865ac
Expensify/Expensify Issue URL:
Issue reported by:@tranvantoan-qn
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1691850473918269
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~012f681206489deb34
Upwork Job ID:<PHONE_NUMBER>067378176
Last Price Increase: 2023-08-25
Automatic offers:

jjcoffee | Reviewer | 26375721
b4s36t4 | Contributor | 26375723

Please note that the steps 4 and 5 are key. The issue won't happen if we login again by entering the Magic Code

The issue won't happen if we login again by entering the Magic Code

@tranvantoan-qn as opposed to?

@NicMendonca ah, it is just a note to make sure you are not reproducing by that way

Proposal
Please re-state the problem that we are trying to solve in this issue.
Log in - Unable to login after Closing an account
What is the root cause of that problem?
The infinite login is because of this line
https://github.com/Expensify/App/blob/aa98b6bcd1d71f47afee043673c7c18a337b8959/src/libs/Navigation/AppNavigator/AuthScreens.js#L129
Here we listen for application state weather it is inactive or active or in background, because of this line when ever we leave the application for magic code app becomes inactive, when we visit the app again via deeplink this callback will get called.
And since the we use persisted network and the way we designed it always calling the reconnectApp because reconnectApp is the first in the queue. And because we're not authenticated this request will give 407 code which causes infinite network request which made SigninUserWithLink command to not execute which causing the loader to be shown here.
And the reason the above onReconnect callback would execute is the main RCA here which involves the issue above I said.
We've added this listener in AuthScreens component which will only render if we're authenticated once we're logged in and signout we removed the listener here in this line https://github.com/Expensify/App/blob/01fc9285e5eeff2ac79173d799fad75f9d624d99/src/libs/actions/SignInRedirect.js#L88 which will be called when we click on signout.
But this won't happen in case of Closing the account, because of the listener still active because we're loggedin this listener will be active when we click on close account even though we're not part of AuthScreens component anymore listener is still active this causing the issue when we leave the app to call reconnectApp command to go on top of the queue.

It doesn't have to be Magic code page, after close account action once you make the app background (do 2-3 times to be effective) and this time you can't even go next step from Email page.

What changes do you think we should make in order to solve the problem?
We can solve this two ways

Call Network.clearReconnectionCallbacks in User.js at closeAccount function

Call Network.clearReconnectionCallbacks function here https://github.com/Expensify/App/blob/aa98b6bcd1d71f47afee043673c7c18a337b8959/src/libs/Navigation/AppNavigator/AuthScreens.js#L201 in componentWillUnmount function

What alternative solutions did you explore? (Optional)
NA

Result for https://github.com/Expensify/App/issues/25793#issuecomment-1692105260
https://github.com/Expensify/App/assets/59088937/fc56f39d-7794-4335-8596-ae6874c6ebd6

Sorry for the long video.

@NicMendonca it doesn't have to be different accounts and I don't feel this can be closed.
You can follow these below steps to re-produce this.

Login with any account, from secrity settings close the account.
From login screen don't do anything, move the app to background (do this 2-3) times.
Now try to login with any email.. you won't be able to move forward even for OTP screen.

Once we close the account and after re-directing to signin page again after that if we move app to the background user won't be able to login anymore. Doesn't have to be different account.
If you want I can make a clear video on how to re-produce this.

@NicMendonca
This one is critical and should not be close:

it happens for all accounts, not ony different one (I mention other account  in the step because there might be the case you was using .expensifal, after closing it, you wont be able to re-login with error can not get account details
Once the issue happens, there is no way to use app again, user must re-install app

Yes, I agree with @tranvantoan-qn I have witnessed it.

hmm... I feel like it could happen in a real case if a user sign-in with an email address A (personal for example), but then decides they wanted to use B (business for example). I know that they could try to fix it by adding a secondary login and the switching primaries, but a user that doesn't know that functionality may  try to close the account and get stuck.

It makes sense for me to fix it, but I also see it as unlikely case. I'm not sure about where we draw the line to fix or not to fix an edge case.

@aldo-expensify It doesn't have to be new email.. even with the same mail this happens.
The key point here to re-produce the bug is user should move the app to background just right after closing the account.

This will completely block users from using the app again. So it must be fixed. Furthermore, as @b4s36t4 figured out in the RCA (will need to be reviewed by C+, of cource), it can be a bigger/more general issues with deep link and callback that may happen in other cases too (there were many times, our members reported that they got stuck in enter Magic Code page on Desktop browser as well )
I hope we will take a look in this issue want more time and bring it up to the team for discussion if needed. If most of the team agree to not fixing it, I will have no more concern 😀

Reproduced on Android native too!

Yes @jjcoffee when ever we move the app into background it's the issue. I have a proposal please take a look at that.

@b4s36t4's proposal seems to have the correct RCA. If you look at the logs when reproducing this, you can see that we try to ReconnectApp with a null value for updateIDFrom:
[info] Making API request - {"command":"SigninUserWithLink"}
[...]
[info] [NetworkConnection] Firing reconnection callbacks because app became active
[OnyxUpdates] App reconnecting with updateIDFrom: null
[info] Called API write - {"command":"ReconnectApp"}
[...]
[info] Finished API request - {"command":"SigninUserWithLink","jsonCode":200}
[info] Finished API request - {"command":"ReconnectApp","jsonCode":407}

Only tweak I'm thinking of is to just call redirectToSignIn as it performs a bunch of other cleanup calls that could be useful?
https://github.com/Expensify/App/blob/01fc9285e5eeff2ac79173d799fad75f9d624d99/src/libs/actions/SignInRedirect.js#L84-L92
Otherwise all good with @b4s36t4's proposal!
:ribbon::eyes::ribbon: C+ reviewed

I agree with everything that @jjcoffee is saying! Seems @b4s36t4's proposal should be effective–the correct way to fix this should be to clean up any callbacks that aren't needed anymore. I also think that calling redirectToSignIn could be effective cleanup as well. Let's do that!

@jjcoffee @jasperhuangg Raised PR here #26119

I'm waiting the offer for Reporter Role

[x] The PR that introduced the bug has been identified. Link to the PR: N/A - missed case in closeAccount
[x] The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake. Link to comment: N/A
[x] A discussion in #expensify-bugs has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner. Link to discussion: N/A
[x] Determine if we should create a regression test for this bug. No - not impactful enough
[x] If we decide to create a regression test for the bug, please propose the regression test steps to ensure the same bug will not reach production again. N/A

@tranvantoan-qn Please apply to the job: https://www.upwork.com/jobs/~012f681206489deb34

Thank you! I've applied for the job

reporter: @tranvantoan-qn = $250
contributor: @b4s36t4 = $1,000
contributor +: @jjcoffee = $1,000

@NicMendonca I think you've miscalculated the timeliness bonus? Should be $250 now :smile:

I have received in amount in my account 😄.

😬 Opps. I added a $500 (50%) bonus, forgetting this was changed to $500 (down from $1000).
I will make note of this for next time 🙇♀

@b4s36t4 unfortunately no! But appreciate your honestly lol


Ability to increase the number of pods based on the number of job queue

I have following configurations for actions runner controller.
apiVersion: actions.summerwind.dev/v1alpha1
kind: HorizontalRunnerAutoscaler
metadata:
  name: actions-runner-autoscaler
  namespace: default
spec:
  maxReplicas: 20
  metrics:
  - scaleDownFactor: "0.5"
    scaleDownThreshold: "0.2"
    scaleUpFactor: "2"
    scaleUpThreshold: "0.5"
    type: PercentageRunnersBusy
  minReplicas: 2
  scaleTargetRef:
    name: evinvesttechsandbox-eks

apiVersion: actions.summerwind.dev/v1alpha1
kind: RunnerDeployment
metadata:
  name: evinvesttechsandbox-eks
  namespace: default
spec:
  replicas: 8
  template:
    spec:
      dockerEnabled: false
      group: evinvesttechsandbox-eks
      image: my-private-registry.org/repo/ev-actions-runner:v1
      imagePullSecrets:
      - name: registry-cred
      labels:
      - evinvesttechsandbox-eks
      organization: My-Corp
      resources:
        limits:
          cpu: "2"
          memory: 3Gi
        requests:
          cpu: "2"
          memory: 1Gi

When I trigger multiple workflow jobs in parallel, only some of them are executed initially, very gradually (and slowly), I see the number of pods gets increased as per the queue.
Is there a way to configure actions runner to look for the number of jobs in the queue, provision that number of set of pods, so that all of them can be executed parallely?
For now, when I started initially, it took 3 minutes to start 2 builds (out of 13 jobs in the queue)

I see only 4 pods were initialized
➜  ~ kubectl get pod
NAME                                  READY   STATUS    RESTARTS   AGE
evinvesttechsandbox-eks-mmzg2-2hkrl   0/1     Pending   0          20s
evinvesttechsandbox-eks-mmzg2-8bg4t   0/1     Pending   0          20s
evinvesttechsandbox-eks-mmzg2-jq8d2   1/1     Running   0          153m
evinvesttechsandbox-eks-mmzg2-mbz4p   1/1     Running   0          153m

After few mins, I can see the number of pods growing as per the number of jobs, one by one gradually.
May I know if we can optimize and start the set of pods at the same time, without having to wait?

@nyagnik Hey! I believe we already have extensive documentation about how to configure autoscale here https://github.com/actions-runner-controller/actions-runner-controller#autoscaling and it's great :) Perhaps you're missing sync-period and webhook-based autoscale explained there.


"API rate limit exceeded" for request to eu-wap.tplinkcloud.com

I'm getting an API rate limit exceeded error in the getToken method of P100.py. The entire JSON returned from tp-link is:
{'error_code': -20004, 'msg': 'API rate limit exceeded'}

Dunno if anyone is answering here anymore, but this isssue is most likely caused by sending too many requests to TP's servers/API. You will probably get a short term "ban" and then be allowed to connect again whenever the limit is reset.

What if you do the getToken only once in a while, store required info, and use that for polling your plugs?

What if you do the getToken only once in a while, store required info, and use that for polling your plugs?

I think that should work.
But can't say for sure, since we don't know exactly what the rate limit is.
But usually rate limits are set pretty high. So in your case I really think it shoudl work 😊

Just change the UUID to something random.

Not the case about waiting a while.
Is it impossible that because I've linked the tplink app to google home that my API rate limit has been exceeded?
If I take out the getToken line, I get the invalid credentials error message.


HDDS-8465. Data Rendering code on SCM UI

What changes were proposed in this pull request?

Sorting Symbol wrt each column
toggling reverse flag

What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-8465
How was this patch tested?
Manually with JMX Response
Screenshot Attached:

@devmadhuu @sumitagrawl can you'll please take a look?

Please pay attention to commit message when merging PRs.


Simplify sponsors action usage

No need to repeat the defaults, unless you want to
for documentation purposes :)
Glad it's useful!

Thanks @kzu for the PR & the great script.  I kept the values for docs, just in case I ever change configuration.


Appstudio update test-custom-default-branch-jrgj

Pipelines as Code configuration proposal
To start the PipelineRun, add a new comment with content /ok-to-test
For more detailed information about running a PipelineRun, please refer to Pipelines as Code documentation Running the PipelineRun
To customize the proposed PipelineRuns after merge, please refer to Build Pipeline customization

Pipelines as Code CI has failed.There was an error creating the PipelineRun: test-simple-build-lqle-on-pull-request-
creating pipelinerun test-simple-build-lqle-on-pull-request- in namespace build-e2e-htqz-tenant has failed.
Tekton Controller has reported this error: the namespace of the provided object does not match the namespace sent on the request

Pipelines as Code CI has failed.There was an error creating the PipelineRun: test-simple-build-wadk-on-pull-request-
creating pipelinerun test-simple-build-wadk-on-pull-request- in namespace build-e2e-htqz-tenant has failed.
Tekton Controller has reported this error: the namespace of the provided object does not match the namespace sent on the request

Pipelines as Code CI has failed.There was an error creating the PipelineRun: test-simple-build-mcmm-on-pull-request-
creating pipelinerun test-simple-build-mcmm-on-pull-request- in namespace build-e2e-htqz-tenant has failed.
Tekton Controller has reported this error: the namespace of the provided object does not match the namespace sent on the request

Pipelines as Code CI has failed.There was an error creating the PipelineRun: test-simple-build-imul-on-pull-request-
creating pipelinerun test-simple-build-imul-on-pull-request- in namespace build-e2e-htqz-tenant has failed.
Tekton Controller has reported this error: the namespace of the provided object does not match the namespace sent on the request

Pipelines as Code CI has failed.There was an error creating the PipelineRun: test-simple-build-nyrh-on-pull-request-
creating pipelinerun test-simple-build-nyrh-on-pull-request- in namespace build-e2e-htqz-tenant has failed.
Tekton Controller has reported this error: the namespace of the provided object does not match the namespace sent on the request

Pipelines as Code CI has failed.There was an error creating the PipelineRun: test-annotations-mijr-on-pull-request-
creating pipelinerun test-annotations-mijr-on-pull-request- in namespace build-e2e-htqz-tenant has failed.
Tekton Controller has reported this error: the namespace of the provided object does not match the namespace sent on the request

Pipelines as Code CI has failed.There was an error creating the PipelineRun: test-simple-build-ufgi-on-pull-request-
creating pipelinerun test-simple-build-ufgi-on-pull-request- in namespace build-e2e-htqz-tenant has failed.
Tekton Controller has reported this error: the namespace of the provided object does not match the namespace sent on the request

Pipelines as Code CI has failed.There was an error creating the PipelineRun: test-simple-build-uqzm-on-pull-request-
creating pipelinerun test-simple-build-uqzm-on-pull-request- in namespace build-e2e-htqz-tenant has failed.
Tekton Controller has reported this error: the namespace of the provided object does not match the namespace sent on the request

Pipelines as Code CI has failed.There was an error creating the PipelineRun: test-simple-build-nwtb-on-pull-request-
creating pipelinerun test-simple-build-nwtb-on-pull-request- in namespace build-e2e-htqz-tenant has failed.
Tekton Controller has reported this error: the namespace of the provided object does not match the namespace sent on the request


postgres: add ability to terminate SSL at Envoy

Commit Message:
Adds ability to use starttls transport socket to terminate SSL at Envoy and pass unencrypted traffic upstream to Postgres server.
Additional Description:
Risk Level: Low
Testing: Added unit and integration tests.
Docs Changes: Yes.
Release Notes: Yes.
Fixes #10942

@cpakulski As you already know I did a lot of tests against this new implementation using Postgres regression test suite. But need to test more cases: replication and authentication using client certificates (testing it today).

@cpakulski As you already know I did a lot of tests against this new implementation using Postgres regression test suite. But need to test more cases: replication and authentication using client certificates (testing it today).

@cpakulski @dio @htuch here is the first WIP version of repository to battle test Envoy Postgres Filter using PostgreSQL regression tests:
https://github.com/fabriziomello/envoy-postgres-regression/runs/1769320312?check_suite_focus=true
The execution above is over the current branch.

@cpakulski @dio @htuch here is the first WIP version of repository to battle test Envoy Postgres Filter using PostgreSQL regression tests:
https://github.com/fabriziomello/envoy-postgres-regression/runs/1769320312?check_suite_focus=true
The execution above is over the current branch.

@htuch I need another LGTM for api. I only updated url pointing to documentation in proto file since https://github.com/envoyproxy/envoy/pull/14634#pullrequestreview-567688655.
API itself was not changed.
Thank you.

@htuch I need another LGTM for api. I only updated url pointing to documentation in proto file since https://github.com/envoyproxy/envoy/pull/14634#pullrequestreview-567688655.
API itself was not changed.
Thank you.

/lgtm api

/lgtm api

API LGTM, will defer to @dio for implementation.

API LGTM, will defer to @dio for implementation.

/retest

/retest

/retest

And all Postgres regression are OK with last commits of this PR: https://github.com/fabriziomello/envoy-postgres-regression/runs/1810089899?check_suite_focus=true

Thanks @dio for reviewing and valuable comments!

/retest

Thanks, awesome work! @fabriziomello I think we need to pull in the regression test to be part of the envoy test suite, as mentioned before, probably verify_examples is one of the possible places to do so.

Are you meant here? https://github.com/envoyproxy/envoy/tree/main/examples/postgres

@fabriziomello yes.


Better Hashing Algorithm

SuperFastHash has an increased number of collisions compared to FNV-1a or DJB2 and their speed are not different enough to be an issue.
These links make very good comparisons between them:
http://programmers.stackexchange.com/questions/49550/which-hashing-algorithm-is-best-for-uniqueness-and-speed
http://blog.clawpaws.net/post/2007/04/22/Good-Hash-Functions

Thanks for the changes and the commits.