fix: force thorchain swapper to wait for outbound tx confirmations on-chain

Description

Pull Request Type

[ ] :bug: Bug fix (Non-breaking Change: Fixes an issue)
[ ] :hammer_and_wrench: Chore (Non-breaking Change: Doc updates, pkg upgrades, typos, etc..)
[ ] :nail_care: New Feature (Breaking/Non-breaking Change)

Issue (if applicable)

closes #
Risk

High Risk PRs Require 2 approvals

What protocols, transaction types or contract interactions might be affected by this PR?

Testing

Engineering

Operations

Screenshots (if applicable)

Current dependencies on/for this PR:

develop

PR #6143   👈

This stack of pull requests is managed by Graphite.


JSON parse error

Hello,
I have a component that defines a service at init like that :
constructor(private completerService: CompleterService) {
  this.dataService = completerService.remote('/source', 'tags', 'tag');
}

JSON served by npm start :
{
  "tags": [
    { "tag": "éred"},
    { "tag": "green"},
    { "tag": "blue"},
  ]
}

It's UTF8 :
$ file source
source: UTF-8 Unicode text

Unfortunately, when I write something in the field, console says :
JSON.parse: unexpected character at line 1 column 1 of the JSON data
Browser : Firefox 50.0

Temporary solution : use Http in ngOnInit().

Don't forget to include it

// app.module.ts
import { HttpModule } from '@angular/http';
[…]
imports: [ HttpModule ]

// component.ts
import { Http, Response } from '@angular/http';
[…]
// inject things
constructor(private completerService: CompleterService, private http: Http) {
  this.completerService = completerService;
  this.http = http;
}

ngOnInit() {
  this.http.get('url').subscribe(response => {
    this.searchData = response.json();
    // .local instead of .remote here
    this.dataService = this.completerService.local(this.searchData, '...', '...');
  });
}


xcode fix

fixed build for newest xCode

Thanks for the PR! You're referring to Xcode 7.3 beta 3, right? I'll have a look at it soon & merge it in.

@Thomvis Actually I've been referring to xCode 7.2.1 as the latest stable.

BrightFutures 4.0 now supports Xcode 7.3, so I assume that these fixes are no longer needed? I'm closing this issue for now, but feel free to comment if I'm wrong. Thanks!


soc: pm:  Microchip MEC172x SoC based power management

Add support for SoC power management for Microchip MEC172x.

Please fix the failed compliance checks

Fixes https://github.com/zephyrproject-rtos/zephyr/issues/40972

Hi @MaureenHelm fixed the compliance check errors.
Hi @albertofloyd please help to re-approve


Deprecations to remove in v0.4

depwarn about LinearCombination with dims=:
is_transformable deprecation

Drop AxisArrays - we don't use them internally anymore and they are breaking expected conventions in the package
https://github.com/invenia/FeatureTransforms.jl/pull/84#discussion_r658946981
https://github.com/invenia/FeatureTransforms.jl/pull/84#discussion_r658947965


Sienna Cichlid support for upcoming ROCm?

A new GPU ASIC support has been pushed in upstream called "Sienna Cichlid". Should we expect ROCm support at least in kernel module anytime soon?
Thank you.

Thanks @ddobreff for reaching out.
We are not supporting this for now.
We will share an update once we have plans to support in future.


Log message is not correlated to a trace for CloudWatch triggered lambdas.

Hello! I ran into an issue with correlating logs and traces in Datadog. The setup:

AWS Lambda, runtime: Java8 (al2)
Datadog Forwarder is setup, Datadog AWS Integration is enabled
I am using 'com.datadoghq:datadog-lambda-java:0.3.2'
The lambda layer is setup to arn:aws:lambda:${AWS::Region}:464622532012:layer:dd-trace-java:3
We use text logs, Cloudwatch subscription filter is correctly pointing to the Forwarder lambda
The logging pattern is: %d{yyyy-MM-dd HH:mm:ss.SSS} %-5p ${DD_ENV}:${DD_SERVICE}:${DD_VERSION} %c:%L - %X{dd.trace_id} %X{dd.span_id} - %m%n as you can see dd.trace_id and dd.span_id are part of logs.
Grok parser for logs is correctly matching the pattern: lambda_format %{date("yyyy-MM-dd HH:mm:ss.ZZZ"):_timestamp}\s+%{word:level}\s+%{notSpace:env}:%{notSpace:service}:%{notSpace:version}\s+%{notSpace:class}:%{integer:line} - %{integer:dd.trace_id} %{integer:dd.span_id} - %{data:msg} . We do have Trace Id Remapper step in the pipeline and it works.
The lambda handler code is as following (it is Kotlin):

override fun handleRequest(input: InputStream?, output: OutputStream?, context: Context?) {
    var ddl: DDLambda? = null
    try {
        try {
            ddl = DDLambda(context)
        } catch (ex: Exception) {
            logger.warn { "Failed to initialize Datadog's span: $ex" }
        }
        logger.debug { "Current trace: ${CorrelationIdentifier.getTraceId()}, span: ${CorrelationIdentifier.getSpanId()}" }
        ...
    } finally {
        try {
            ddl?.finish()
        } catch (ex: java.lang.Exception) {
            logger.warn { "Failed to finish Datadog's span: $ex" }
        }
    }
}

The lambda is invoked by Cloudwatch every 5 minutes, hence there is no SQS or Kinesis events. XRay is disabled. The issue is that the "Current trace" log message is not correlated to any trace in datadog. In fact here is how it looks in Cloudwatch logs:
dev:myservice:myversion com.github.App:49 -<PHONE_NUMBER>549704768<PHONE_NUMBER>42788296 - Current trace:<PHONE_NUMBER>685811235, span:<PHONE_NUMBER>414038254

As you can see the MDC injected trace_id<PHONE_NUMBER>549704768) and span_id(954523165542788296) are different from the ones returned by CorrelationIdentifier class. In addition to this, the trace with id<PHONE_NUMBER>549704768 cannot be found in Datadog but the trace<PHONE_NUMBER>685811235 does exist. I believe this is the root cause of why the log message is not correlated to any trace - the trace id that is being injected into MDC by DDLambda() constructor is ignored. Basically (just a hunch), the lines:
    public DDLambda(Context cxt) {
        this.tracing = new Tracing();
        this.enhanced = checkEnhanced();
        recordEnhanced(INVOCATION, cxt);
        addTraceContextToMDC();
        startSpan(new HashMap<>(), cxt);
    }

should actually be:
    public DDLambda(Context cxt) {
        this.tracing = new Tracing();
        this.enhanced = checkEnhanced();
        recordEnhanced(INVOCATION, cxt);
        startSpan(new HashMap<>(), cxt);
        addTraceContextToMDC();
    }

That is, if I do the following in my lambda code then the correlation works correctly:
override fun handleRequest(input: InputStream?, output: OutputStream?, context: Context?) {
    var ddl: DDLambda? = null
    try {
        try {
            ddl = DDLambda(context)
            MDC.put("dd.trace_id", CorrelationIdentifier.getTraceId())
            MDC.put("dd.span_id", CorrelationIdentifier.getSpanId())
        } catch (ex: Exception) {
            logger.warn { "Failed to initialize Datadog's span: $ex" }
        }
        logger.debug { "Current trace: ${CorrelationIdentifier.getTraceId()}, span: ${CorrelationIdentifier.getSpanId()}" }
        ...
    } finally {
        try {
            ddl?.finish()
        } catch (ex: java.lang.Exception) {
            logger.warn { "Failed to finish Datadog's span: $ex" }
        }
    }
}

Hi @Otanikotani , sorry for the delay in getting to this. I've been trying to recreate your issue, and I don't know Kotlin very well. Could you provide a Handler.kt that compiles and is failing successfully?

Closing this due to inactivity. Please re-open with an example Handler.kt if this is still an issue, thanks!


Add support for building with CMake

This PR adds support for building demoinfogo with CMake. Compatibility with the previous build method is retained.
Changes

Add CMake build scripts.
Added build instructions to demoinfogo/README.md.
Add basic CMakePresets.json for building on Windows.

Good


copr: support more regexp functions

Signed-off-by: gengliqi<EMAIL_ADDRESS>
What is changed and how it works?

Issue Number: Close https://github.com/tikv/tikv/issues/13483
What's Changed:
Support REGEXP_INSTR(),REGEXP_LIKE(),REGEXP_REPLACE(),REGEXP_SUBSTR().
TODO: Many unit tests will be added soon.

Related changes

PR to update pingcap/docs/pingcap/docs-cn:
Need to cherry-pick to the release branch

Check List
Tests

Unit test

Side effects

Performance regression

Consumes more CPU
Consumes more MEM

Breaking backward compatibility

Release note
Please add a release note.

Please refer to [Release Notes Language Style Guide](https://pingcap.github.io/tidb-dev-guide/contribute-to-tidb/release-notes-style-guide.html) to write a quality release note.

If you don't think this PR needs a release note then fill it with None.
If this PR will be picked to release branch, then a release note is probably required.

The suggestions above also apply to the other functions (instr/replace).

/merge


Add visualization tutorial transform image

Fixes #436 .
Description
This PR added tutorial to show the visualization methods of matshow3d, 3d GIF, blend image, matplotlib, etc.
Status
Ready
Checks

[ ] Notebook runs automatically ./runner [-p <regex_pattern>]

looks good to me. this notebook is 2.8 megabytes, is it possible to make it smaller?

Hi @wyli ,
I think maybe that because this notebook contains many images? like these notebooks are big:
https://github.com/Project-MONAI/tutorials/blob/master/modules/postprocessing_transforms.ipynb
https://github.com/Project-MONAI/tutorials/blob/master/3d_segmentation/spleen_segmentation_3d_lightning.ipynb
Thanks.

thanks @Nic-Ma. I guess we could have used the Resample function to downsample the images to decrease the size of this notebook.


HLS synthesis error on module (toe)

Hi, Sidler~
I see the module "hls/toe" cannot be synthesized by HLS, and the build progress errors out with messages like this:~
ERROR: [HLS 200-70] Compilation errors found: In file included from ../../../hls/toe/ack_delay/ack_delay.cpp:1:
In file included from ../../../hls/toe/ack_delay/ack_delay.cpp:30:
In file included from ../../../hls/toe/ack_delay/ack_delay.hpp:29:
In file included from ../../../hls/toe/ack_delay/../toe_internals.hpp:4:
In file included from ../../../hls/toe/ack_delay/../../axi_utils.hpp:32:
In file included from D:/Xilinx/Vivado/2019.2/win64/tools/clang/bin\..\lib\clang\3.1/../../../include/c++/4.5.2\iostream:39:
In file included from D:/Xilinx/Vivado/2019.2/win64/tools/clang/bin\..\lib\clang\3.1/../../../include/c++/4.5.2\ostream:39:
In file included from D:/Xilinx/Vivado/2019.2/win64/tools/clang/bin\..\lib\clang\3.1/../../../include/c++/4.5.2\ios:39:
In file included from D:/Xilinx/Vivado/2019.2/win64/tools/clang/bin\..\lib\clang\3.1/../../../include/c++/4.5.2\exception:151:
D:/Xilinx/Vivado/2019.2/win64/tools/clang/bin\..\lib\clang\3.1/../../../include/c++/4.5.2\exception_ptr.h:132:13: error: unknown type name 'type_info'
      const type_info*
            ^
In file included from ../../../hls/toe/ack_delay/ack_delay.cpp:1:
In file included from ../../../hls/toe/ack_delay/ack_delay.cpp:30:
In file included from ../../../hls/toe/ack_delay/ack_delay.hpp:29:
In file included from ../../../hls/toe/ack_delay/../toe_internals.hpp:4:
In file included from ../../../hls/toe/ack_delay/../../axi_utils.hpp:32:
In file included from D:/Xilinx/Vivado/2019.2/win64/tools/clang/bin\..\lib\clang\3.1/../../../include/c++/4.5.2\iostream:39:
In file included from D:/Xilinx/Vivado/2019.2/win64/tools/clang/bin\..\lib\clang\3.1/../../../include/c++/4.5.2\ostream:39:
In file included from D:/Xilinx/Vivado/2019.2/win64/tools/clang/bin\..\lib\clang\3.1/../../../include/c++/4.5.2\ios:39:
In file included from D:/Xilinx/Vivado/2019.2/win64/tools/clang/bin\..\lib\clang\3.1/../../../include/c++/4.5.2\exception:151:
D:/Xilinx/Vivado/2019.2/win64/tools/clang/bin\..\lib\clang\3.1/../../../include/c++/4.5.2\nested_exception.h:62:5: error: the parameter for this explicitly-defaulted copy constructor is const, but a member or base requires it to be non-const
    nested_exception(const nested_exception&) = default;
    ^
D:/Xilinx/Vivado/2019.2/win64/tools/clang/bin\..\lib\clang\3.1/../../../include/c++/4.5.2\nested_exception.h:64:23: error: the parameter for this explicitly-defaulted copy assignment operator is const, but a member or base requires it to be non-const
    nested_exception& operator=(const nested_exception&) = default;
                      ^
D:/Xilinx/Vivado/2019.2/win64/tools/clang/bin\..\lib\clang\3.1/../../../include/c++/4.5.2\nested_exception.h:77:28: error: exception specification in declaration does not match previous declaration
  inline nested_exception::~nested_exception() = default;
                           ^
D:/Xilinx/Vivado/2019.2/win64/tools/clang/bin\..\lib\clang\3.1/../../../include/c++/4.5.2\nested_exception.h:66:20: note: previous declaration is here
    inline virtual ~nested_exception();
                   ^
D:/Xilinx/Vivado/2019.2/win64/tools/clang/bin\..\lib\clang\3.1/../../../include/c++/4.5.2\nested_exception.h:122:61: error: redefinition of default argument
    __throw_with_nested(_Ex&& __ex, const nested_exception* = 0)
                                                            ^ ~
D:/Xilinx/Vivado/2019.2/win64/tools/clang/bin\..\lib\clang\3.1/../../../include/c++/4.5.2\nested_exception.h:110:56: note: previous definition is here
    __throw_with_nested(_Ex&&, const nested_exception* = 0)
                                                       ^ ~
5 errors generated.

I tried to open the cmake-generated project with HLS GUI, and this error is confirmed.

Windows 7.1 + Vivado 2019.2 + MinGW 16.1 + CMake 3.15

Please help to double check with this.
Best Regards :- )
<EMAIL_ADDRESS>

The project was only tested with vivado 2019.1

The project was only tested with Vivado 2019.1

OK, I will test it later on Vivado 2019.1.
Thank  you :- )

The project was only tested with vivado 2019.1

I have successfully compiled the project with
RHEL 8.1 + Vitis 2019.2

The key is update the Linux kernel to the latest version.
Thank you, Dsidler :- )

I have successfully compiled the project with
RHEL 8.1 + Vitis 2019.2


[Op][O2d] Manipulation operators

As tracked by #332, this PR is the O2d milestone of the high-level operator introduction plan.
This PR introduces a few manipulation operators:

broadcast_to
concat
expand_dims
flatten
permute_dims
reshape
split
squeeze

These operators are all well-tested.

Depends on #334, #336.

Thanks @MasterJH5574 for the PR and @tqchen for the review!


scoop install extras/yesplaymusic cause Couldn't find manifest for 'yesplaymusic'. error

执行 scoop install extras/yesplaymusic 后报错
环境信息：
scoop 版本

系统：Windows11 22H2

fix solution:
first: scoop bucket add extras
then: scoop install yesplaymusic
it's working for me.


Update github actions.

New versions for get-time and cancel-workflow actions.

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

Comparison is base (7fdc287) 92.95% compared to head (833e0f4) 92.95%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##           master    #2060   +/-   ##
=======================================
  Coverage   92.95%   92.95%
=======================================
  Files         357      357
  Lines       26412    26412
=======================================
  Hits        24550    24550
  Misses       1862     1862

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


Enable use of ign gazebo -s on Windows (take two)

New version of https://github.com/gazebosim/gz-sim/pull/1574 after the DCO errors.
🎉 New feature
This PR enable the use of ign gazebo -s on Windows. Similarly to what is done in macOS, as ign gazebo and ign gazebo -g are not supported, those options are explicitly disabled to give a nice error to the users.
Summary
Summary of changes:

Add src/cmd directory also on Windows
Correctly mark export visibility in ign.hh and ModelCommandAPI.hh
Ensure that the correct directory if used in cmdgazebo.rb.in to load the gazebo plugin
Fix the logic to copy the unversion versions of the plugins
Fix UNIT_ign_TEST to work correctly on Windows
Disable generation of test-only ruby scripts for ign-tools when using multiple config CMake generators, and consequently disable UNIT_ign_TEST and UNIT_ModelCommandAPI_TEST` when using multiple config CMake generators.
As only ign gazebo -s is working, explicitly disable ign gazebo -g and ign gazebo as done on macOS .

Test it
Note, the following instructions are not complete as a version of libignition-common4 with https://github.com/gazebosim/gz-common/pull/389 needs to be released before the tests work again.
Personally, I tested it with conda-forge provided depedencies. I created an environment with:
mamba create -n igngaz vs2019_win-64 cmake ninja pkg-config libignition-cmake2 libsdformat12 libignition-plugin1 libignition-transport11 libignition-msgs8 libignition-common4 libignition-fuel-tools7 libignition-gui6 libignition-physics5 libignition-sensors6 libignition-rendering6 libignition-math6 libignition-tools1 libprotobuf qt-main tinyxml2

Then, I compiled ign-gazebo with:
mamba activate igngaz
git clone https://github.com/traversaro/ign-gazebo
cd ign-gazebo
git checkout fixigngazebowinserver
mkdir build
cd build
cmake -GNinja -DCMAKE_INSTALL_PREFIX=%CONDA_PREFIX%\Library-DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP:BOOL=ON ..
ninja install

After that, I was able to run correctly the server:
mamba activate igngaz
ign gazebo --verbose -s shapes.sdf

To verify the server was running correctly, I run in another terminal:
(igngaz) C:\Users\STraversaro>ign model --list

Requesting state for world [shapes]...

Available models:
    - ground_plane
    - box
    - cylinder
    - sphere
    - capsule
    - ellipsoid

Checklist

[x] Signed all commits for DCO
[ ] Added tests
[ ] Added example and/or tutorial
[ ] Updated documentation (as needed)
[ ] Updated migration guide (as needed)
[ ] Consider updating Python bindings (if the library has them)
[ ] codecheck passed (See contributing)
[ ] All tests passed (See test coverage)
[ ] While waiting for a review on your PR, please help review another open pull request to support the maintainers

Note to maintainers: Remember to use Squash-Merge and edit the commit message to match the pull request summary while retaining Signed-off-by messages.

This works for me, thanks @traversaro

The failing tests look unrelated. I'll wait until CI finishes just to be sure.

I am not completly sure the CI test are unrelated, as for example INTEGRATION_thruster seems to fail on all the tests, while before this PR this was not the case. Furthermore, failure on the Ubuntu CI was also what blocked https://github.com/gazebosim/gz-sim/pull/1574 back in time. Anyhow, at this point we can try to fix the problem(s) directly on ign-gazebo6.


dead cycle in trace.cc

What version of gRPC and what language are you using?
Vesion 1.18.x
and protobuf is version 3.9.0
What operating system (Linux, Windows,...) and version?
Ubuntu 16.04.9
What runtime / compiler are you using (e.g. python version or version of gcc)
gcc 5.4.0
What did you do?
If possible, provide a recipe for reproducing the error. Try being specific and include code snippets if helpful.
My server is running, but dead cycle in trace.cc(TraceFlagList::Set() function) :
code at line 57: for (t = root_tracer_; t; t = t->next_tracer_) , can't out this loop;
My code:
class PushClient{
public:
PushClient() {}
~PushClient() {}
CompletionQueue cq_;   // in here ,  it dead loop here when construct is mem object.
......
}
What did you expect to see?
What did you see instead?
Make sure you include information that can help us debug (full error message, exception listing, stack trace, logs).
See TROUBLESHOOTING.md for how to diagnose problems better.
Anything else we should know about your project / environment?

The issue has already been raised
https://github.com/grpc/grpc/issues/21213#issuecomment-554944145


Expose Cached provider

Hello,
i noitced that while the web3modalservice has methods that allow you set cacche providers, it doesnt allow you any getter for the cachedprovider, this makes it difficult to detect if web3modal is already connected or not.
Can you please expose this in the service?

also looking for this


Enter Chinese and display garbled characters

Preflight Checklist

[x] I agree to follow the Code of Conduct that this project adheres to.
[x] I have searched the issue tracker for a feature request that matches the one I want to file, without success.

Describe the bug
Enter Chinese and display garbled characters！
To Reproduce
When I open the page:
http://jgraph.github.io/drawio-integration/localstorage-svg.html
Then enter an image at random, and then enter a string as shown in the figure:

Then click the save button！

That is not a page in this project.


Cursors (w/o forwarding)

(This PR is by Alex and me)
On behalf of breaking up the cursor implementation to smaller PRs, I think the current state is a good time for an initial review because if we're implementing Alex's idea of scheduling operations returning an fwd lambda function (which I think is a good idea), it will require changes to all the scheduling operations.
This PR implements the Cursor object, cursor movements, and cursor retrieval from the string pattern.

If I didn't find a number of examples of accidentally exposed, compiler-internal functionality in this review I might not have felt as strongly.

IIRC we wanted users to be able to build their own scheduling directives. Was the idea that (1) user-defined directives should be built only out of the verified building blocks that we provide, or (2) that users can additionally write arbitrary transformations that they verify themselves?
I understood (2), so this wasn't an accident or a goof. I thought it would be helpful to expose these (granted, I should probably have named them like unsafe_insert, etc.). As I gather from your objection, my understanding was incorrect; (1) was intended. That's totally fine. One resolution could be to mark them private as in _delete, _replace, and _insert. Happy to make that change. :slightly_smiling_face:

the API, but it should be defined by an explicit wrapper class. [...] But given I did find those, I think separating the code is the best way to prevent goofs going forward.

I want to gently push back on this. :peace_symbol:
I think trying to hide symbols, classes, etc. in Python is noble, but impractical. Unlike other popular OOP systems, Python provides no clean mechanisms to do this. There are only civil agreements between library authors and their users, like the leading-underscore convention, and explicit documentation.
If we were writing C# code, we could protect replace, delete, and insert by marking them internal and then expose them to our test module via the InternalsVisibleTo attribute. In Java, we could probably get away with making them package-private. And so on in other languages.
But in Python, we can only make it marginally more challenging to break our rules. We can add a wrapper, but it's not free. Python doesn't really try to optimize very much, so it costs both memory and runtime. These overheads can be surprisingly large. It also adds a good bit of redundant code (which is annoying to maintain), or introspection-y code (which is slow). Despite this, determined users will still plow through to the private, wrapped, object and call private methods if they feel like it. Hence, wrappers that simply hide things tend to feel like foot-guns to me.

Yes, users should only be able to build transforms out of certified primitives. We have an unsafe “assert equivalent” escape hatch, but that requires the user to build the second procedure ex nihilo. We could choose to provide code quoting/assembly metaprogramming primitives in the future, which in combination with reflection and asserting equivalence could be used to implement arbitrary transforms, but we would virtually guarantee no-one does that by making it that difficult.
One consequence or alternate way to think about the above is that we ought to be able to produce proof collateral from Exo certifying the equivalence of any chain of transformations, even in the presence of abstracted scheduling operations.

On May 17, 2022, at 9:29 PM, Alex Reinking @.***> wrote:

If I didn't find a number of examples of accidentally exposed, compiler-internal functionality in this review I might not have felt as strongly.
IIRC we wanted users to be able to build their own scheduling directives. Was the idea that (1) user-defined directives should be built only out of the verified building blocks that we provide, or (2) that users can additionally write arbitrary transformations that they verify themselves?
I understood (2), so this wasn't an accident or a goof. I thought it would be helpful to expose these (granted, I should probably have named them like unsafe_insert, etc.). As I gather from your objection, my understanding was incorrect; (1) was intended. That's totally fine. One resolution could be to mark them private as in _delete, _replace, and _insert. Happy to make that change. 🙂
the API, but it should be defined by an explicit wrapper class. [...] But given I did find those, I think separating the code is the best way to prevent goofs going forward.
I want to gently push back on this. ☮
I think trying to hide symbols, classes, etc. in Python is noble, but impractical. Unlike other popular OOP systems, Python provides no clean mechanisms to do this. There are only civil agreements between library authors and their users, like the leading-underscore convention, and explicit documentation.
If we were writing C# code, we could protect replace, delete, and insert by marking them internal and then expose them to our test module via the InternalsVisibleTo attribute. In Java, we could probably get away with making them package-private. And so on in other languages.
But in Python, we can only make it marginally more challenging to break our rules. We can add a wrapper, but it's not free. Python doesn't really try to optimize very much, so it costs both memory and runtime. These overheads can be surprisingly large. It also adds a good bit of redundant code (which is annoying to maintain), or introspection-y code (which is slow). Despite this, determined users will still plow through to the private, wrapped, object and call private methods if they feel like it. Hence, wrappers that simply hide things tend to feel like foot-guns to me.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.

Yes, users should only be able to build transforms out of certified primitives.

Gotcha. Will mark those methods as private.

Closing in favor of #193 to correct commit authorship.


Flushing Bug Fix

Fixes a bug during flushing where during the flush_fullest loop a split can occur, changing the value of num_children, which is used to trigger the end of the loop. num_children is read before the loop. The fix rechecks num_children each iteration.
Cleans up the flush_fullest mechanism to ensure (and assert) that only a non-empty flush can happen.

I know this merged already, but maybe as a follow-on: would it be practical to write a test case for this?


Replace iterative solver in SwerveSetpointGenerator with direct solutions

This replaces the iterative root finder in SwerveSetpoint generator, used for findDriveMaxS and findSteeringMaxS, with direct solutions for each of them.
This is currently a draft because:

I derived these about 6 months ago so I don't remember the exact details, I will try to re-derive them and add explanations later.
It is currently untested as I am writing this on a Chromebook.

I have now added the derivations alongside the implementations, and verified that PathPlannerLib still builds. I have not yet tested this implementation with a robot project, although the solutions themselves have been tested and seem correct in my original implementation here.

I've noticed an oversight in my findSteeringMaxS implementation due to the domain of tan(x). That one may need some rethinking.

Just out of curiosity, do you have any data on how this affects setpoints (if at all) and the performance?
Also, this will need to be added to the python version (maybe the c++ version as well depending on which gets merged first). I can help do the translation if you need it.

I wrote a small test that runs each implementation 1 million times with random inputs (source here), the results on my laptop are:
Steering:
Avg. time for iterative method: 813.218286 ns
Avg. time for direct method: 84.401104 ns
Drive:
Avg. time for iterative method: 514.946105 ns
Avg. time for direct method: 66.917233 ns

I don't currently have access to a RoboRIO to test on-robot performance, but I assume the results would be similar.


Python Native REPL cannot handle some unicode

Behaviour
Native REPL cannot handle some unicode string properly
Steps to reproduce:
When you include korean letters in a string variables, most of letters throws UnicodeEncodeError: 'utf-8' codec can't encode error from the Python Native REPL. However, they works on the terminal
# Throws UnicodeEncodeError
a = "소문자"
b = "こんにちは"

# Doesn't throw error
c = "안녕하세요"

Diagnostic data

Output for Python in the Output panel (View→Output, change the drop-down the upper-right of the Output panel to Python)

Traceback (most recent call last):
  File "c:\Users\ykim\.vscode\extensions\ms-python.python-2024.20.0-win32-x64\python_files\python_server.py", line 129, in exec_user_input
    callable_ = exec_function(user_input)
  File "c:\Users\ykim\.vscode\extensions\ms-python.python-2024.20.0-win32-x64\python_files\python_server.py", line 94, in exec_function
    compile(user_input, "<stdin>", "eval")
    ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
UnicodeEncodeError: 'utf-8' codec can't encode character '\udc90' in position 13: surrogates not allowed

Duplicate https://github.com/microsoft/vscode-python/issues/24479


Add GlobalCauseTracker.

CauseTrackers are specific to each world. This doesn't change that.
However, sometimes some code needs to track not just one world, but all worlds. Previously, it would look like this:
for (WorldServer world : WorldManager.getWorlds()) {
    ((IMixinWorldServer) world).getCauseTracker().switchToPhase(/* ... */);
}

// code to track goes here

for (WorldServer world : WorldManager.getWorlds()) {
    ((IMixinWorldServer) world).getCauseTracker().completePhase(/* ... */);
}

But what happens when, during one of these states, a plugin loads a new world?
Sponge.getServer().loadWorld("testcaseworld");

The server crashes.
The initial code tracks all worlds by looping through them before and after. But if a world is loaded in the meantime, then it's never tracked. Even worse, when the "global phase" ends, the tracking code tries to complete it in all worlds... even the new world in which it was never started.
GlobalCauseTracker fixes that. It manages its own phase stack (by using common code moved from CauseTracker into a new base class, BaseCauseTracker) and applies phase changes to all worlds. In addition, whenever a new world is loaded, the global phases are automatically applied to that world. It currently doesn't stop tracking a world when that world is unloaded, but that won't cause a crash, and I can add behavior for that fairly quickly if necessary.
Fixes #1256.

@gabizou and I were talking about changing the per-world cause trackers to all be global as I don't believe there are actually times when we need to interlace states such that two worlds need to be in two different states. Its a larger change so probably better to do this and then that but it bears discussion.


MenuButton items do not oversample correctly.

Godot version
4.0.2.stable
System information
Windows 11, Vulkan
Issue description

As seen in the above image, when using the canvas_items scaling mode, MenuButton items font does not render correctly, instead rendering at default resolution.
Steps to reproduce
Download repro project, run test_ui.tscn and click the ">_" button in the top left.
Minimal reproduction project
UIScalingTest.zip

Upon further investication, it looks like the canvas_items scaling mode just isnt playing nice with the PopupMenu node... This is with the corner radius set in the theme so it isnt relying on any bitmap assets.

This may be related to #76450 as both utilise sub-viewports.

Duplicate of https://github.com/godotengine/godot/issues/70791.


Content ID missing in API endpoint

I am building documentation using sphinx's apidoc. When I run
python3  -m sphinx -b confluence source build/confluence -E -a, I get the following error:
File "/home/ubuntu/.local/lib/python3.8/site-packages/sphinxcontrib/confluencebuilder/rest.py", line 204, in put
    raise ConfluenceBadApiError(rsp.status_code, errdata)
sphinxcontrib.confluencebuilder.exceptions.ConfluenceBadApiError:
Unsupported Confluence API call

An unsupported Confluence API call has been made. See the following
details for more information:

REQ: PUT
RSP: 429
URL: https://corporate-intra-net.net/confluence/rest/api
API: content
DATA: <not-or-invalid-json>

(I can't show the data json but I parsed it with the python json encoder and that did work)
Here is the problem: I looked on the Atlassian Server API reference and there is no PUT for the content endpoint, or at least none without the ID in the endpoint name.
So, I think that maybe the ID of the content is missing in the API endpoint?
I can also share the data json, if that were helpful.
Thank you!

I believe the error message may not be an entire representation of the requests being published. All of the PUT requests performed by this extension should have an associated identifier to them -- it is just that the "format error" implementation does not reflect the identifier (and other possible fields) in the "API" portion of the message (let alone anywhere else). You could try, if you're curious, to enable urllib3 logging in your conf.py to get a better representation of the requests being made (we really should make this a configuration option, since it gets referenced a lot recently):
import logging
logging.basicConfig()
logging.getLogger().setLevel(logging.DEBUG)
rlog = logging.getLogger('requests.packages.urllib3')
rlog.setLevel(logging.DEBUG)

What concerns me is the 429 error code. What I suspect is happening is the Confluence instance is rate limiting publish requests. This assumption is solely on the information I have just recently read  on "Rate limiting guide for Jira and Confluence". At this time, this extension does not properly impose any Confluence-recommended rate limiting -- which it should. Unfortunately, I also do not think there is an existing workaround available to impose rate limiting on a publish request (aside from going into implementation and injecting dummy sleeps).
If I have overlooked another possible issue here, please let me know.

If interested (and if your issue is related to a rate limiting issue), feel free to try the changes introduced in #617 which attempt to support rate limiting. I have only performed some limited testing, since I do not have access to a data server instance (which appears to be the only instance that provides rate limiting options from an adminstrator's panel).
This can be installed using the following command:
pip install git+https://github.com/sphinx-contrib/confluencebuilder.git@support-rate-limiting

@jdknight Thank you so much for opening a PR trying to fix it.
I have tested the branch and can tell you what is happening on my side when I am using it with a Confluence Server instance:
$ python3 -m sphinx -b confluence source build/confluence -E -a
Running Sphinx v4.4.0
(request to accept username from interactive session)
 Instance: https://atc.corporate.net/confluence/
 User: q524675
(request to accept password from interactive session)
 Password:
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): atc.corporate.net:443
DEBUG:urllib3.connectionpool:https://atc.corporate.net:443 "GET /confluence/rest/api/space?spaceKey=UCAADO&limit=1 HTTP/1.1" 200 None
WARNING: rate-limit response detected; waiting 4 seconds...
DEBUG:urllib3.connectionpool:https://atc.corporate.net:443 "GET /confluence/rest/api/space?spaceKey=UCAADO&limit=1 HTTP/1.1" 200 None
WARNING: rate-limit response detected; waiting 8 seconds...
DEBUG:urllib3.connectionpool:Resetting dropped connection: atc.corporate.net
DEBUG:urllib3.connectionpool:https://atc.corporate.net:443 "GET /confluence/rest/api/space?spaceKey=UCAADO&limit=1 HTTP/1.1" 200 None
WARNING: rate-limit response detected; waiting 16 seconds...
DEBUG:urllib3.connectionpool:Resetting dropped connection: atc.corporate.net
DEBUG:urllib3.connectionpool:https://atc.corporate.net:443 "GET /confluence/rest/api/space?spaceKey=UCAADO&limit=1 HTTP/1.1" 200 None
WARNING: rate-limit response detected; waiting 31 seconds...
DEBUG:urllib3.connectionpool:Resetting dropped connection: atc.corporate.net
DEBUG:urllib3.connectionpool:https://atc.corporate.net:443 "GET /confluence/rest/api/space?spaceKey=UCAADO&limit=1 HTTP/1.1" 200 None
WARNING: rate-limit response detected; waiting 32 seconds...
DEBUG:urllib3.connectionpool:Resetting dropped connection: atc.corporate.net
DEBUG:urllib3.connectionpool:https://atc.corporate.net:443 "GET /confluence/rest/api/space?spaceKey=UCAADO&limit=1 HTTP/1.1" 200 None

sphinxcontrib.confluencebuilder error:

---
Request has been rate limited

The configured Confluence instance is reporting that too many requests
are being made and has instructed to client to limit the amount of
requests to make at this time.
---

I think that your solution is raising the ConfluenceRateLimited error too soon. Maybe the server instance includes the Retry-After Header even though the request was ok? I see that the response to the GET requests was a 200, so I don't think that the retry is necessary? This is the code line I am referring to:
https://github.com/sphinx-contrib/confluencebuilder/pull/617/files?file-filters[]=.py&show-viewed-files=true&w=1#diff-82991557e9c5cb1d7f66f271d188ea6f0eaf99c84d7ec17e8182f265b4806e90R209
Thanks again for your help and let me know if yo need more information to fix the issue :)

@konradbender, ah ok ~ I think I see where I made a mistake. When reading the example on rate limiting, I was assuming failure case was a combination of either the 429 error state or when Confluence reports Retry-After. But I assume (based off your recent observations), Confluence may be reporting a Retry-After value that should be considered if a following request was made on the previous successful one (which makes sense).
I will try to make some adjustments tomorrow, if you're willing to try again.

@jdknight After your most recent commit, I tried again and it worked flawlessly! It seems like our server instance is "ok" with a frequency of two requests per minute, because the logs indicate that once rate-limitting is detected, the wait time is around 30 seconds. Of course, this can lead to a couple of minutes (maybe even hours) of upload times. That is not a problem for me, but my question is, if anything might time out during the upload, e.g. TCP sessions?

Anyways, thanks so much for your work. Is there any way I can get notified when this PR makes it into the version available on PyPI?

It seems like our server instance is "ok" with a frequency of two requests per minute, because the logs indicate that once rate-limitting is detected, the wait time is around 30 seconds.

Two requests per minute seems --- painfully slow. While it is possible that the instance may be configured in that matter, I also wonder if there could be an issue with the introduced rate-limiting implementation. When a rate-limit event is detected, I believe the existing logic code uses a proper delay until a next request; however, there are two limitations:

It does not consider any possible Confluence-reported rate limit suggestions until the first 429 error occurs.
The historic delay value is scaled down over time which will eventually lead a user back into a 429 error state again.

For the latter, I think the scaling down may be fine/proper, for systems which do not impose any rate-limit hints in the header (e.g. the Confluence server was busy, but may become less busy and more requests can be pushed through -- speculative example). But I wonder if we always tracked and considered the last "retry after" header for all requests that a publish event can be completed faster.
One thing you could try (if interested), is setting the added confluence_publish_delay option in this branch. For example:
confluence_publish_delay = 0.3

This will impose a forced delay on all requests. In theory, if you can tailor it to a value which makes you publishing faster, it should show that we can improve the rate-limiting implementation. The value is in seconds -- and note, it is for each request made to Confluence (space search, page update, page ID fetches, unwatch, etc).

[Can] anything ... time out during the upload, e.g. TCP sessions?

There are three areas where this extension deals with timeout:

The confluence_timeout provides a way to configure a timeout on all requests made to the Confluence instance. By default, no value is set so it will default to whatever the Requests library uses -- which I believe is no timeout at all. This is per request; and this extension does not retry on a timeout event.
This extension will only retry a publish request once  (i.e. two attempts) after three seconds when Confluence reports a critical error (e.g. such as an exception response).
The recent rate-limiting logic will only attempt to try a maximum of five times ~ so if Confluence never accepts a request in this situation, the publish event would stop after ~1-2 minutes.

Is there any way I can get notified when this PR makes it into the version available on PyPI?

Typically, after a pull request is merged in, I will flag an issue as "pending next release" but not close it; and eventually close it when the changes make it to a PyPI release. Tracking events on this issue will be best source of information on its availability to a release.

Ok, I understand.
It turns out that the 30 second wait is not a problem of the server configuration, because if I set confluence_publish_delay e.g. to 5 seconds, then the frequency is more like 3 or 4 requests per minute.
Here are some logs in case those are helpful:
WARNING: unable to build link to document due to missing title (in README): genindex
WARNING: unable to build link to document due to missing title (in README): py-modindex
WARNING: unable to build link to document due to missing title (in README): search
WARNING: unsupported code language for confluence: console
DEBUG:urllib3.connectionpool:Resetting dropped connection: corporate-network.net
DEBUG:urllib3.connectionpool:https://corporate-network.net:443 "GET /confluence/rest/api/content?type=page&spaceKey=<space key>&status=current HTTP/1.1" 200 None
DEBUG:urllib3.connectionpool:Resetting dropped connection: corporate-network.net
DEBUG:urllib3.connectionpool:https://corporate-network.net:443 "GET /confluence/rest/api/content?type=page&spaceKey=<space key>&title=<titel>&status=current&expand=version%2Cmetadata.labels HTTP/1.1" 200 None
DEBUG:urllib3.connectionpool:Resetting dropped connection: corporate-network.net
DEBUG:urllib3.connectionpool:https://corporate-network.net:443 "PUT /confluence/rest/api/content/2024011278?status=current HTTP/1.1" 200 None
DEBUG:urllib3.connectionpool:Resetting dropped connection: corporate-network.net
DEBUG:urllib3.connectionpool:https://corporate-network.net:443 "DELETE /confluence/rest/api/user/watch/content/2024011278 HTTP/1.1" 204 0
DEBUG:urllib3.connectionpool:Resetting dropped connection: corporate-network.net
DEBUG:urllib3.connectionpool:https://corporate-network.net:443 "GET /confluence/rest/api/content/2024011278?status=current&expand=ancestors HTTP/1.1" 200 None
DEBUG:urllib3.connectionpool:Resetting dropped connection: corporate-network.net
DEBUG:urllib3.connectionpool:https://corporate-network.net:443 "GET /confluence/rest/api/content/search?cql=ancestor%3D2023786515&limit=1000 HTTP/1.1" 429 694
WARNING: rate-limit response detected; waiting 10 seconds...

DEBUG:urllib3.connectionpool:Resetting dropped connection: corporate-network.net
DEBUG:urllib3.connectionpool:https://corporate-network.net:443 "GET /confluence/rest/api/content/2024011300/child/attachment?limit=1000 HTTP/1.1" 200 None
DEBUG:urllib3.connectionpool:Resetting dropped connection: corporate-network.net
DEBUG:urllib3.connectionpool:https://corporate-network.net:443 "GET /confluence/rest/api/content/2024011290/child/attachment?limit=1000 HTTP/1.1" 429 694
WARNING: rate-limit response detected; waiting 21 seconds...

And it keeps going like that ...

Thanks for the information.
I have made additional changes to the rate-limiting implementation if you care to try. They are currently on a new branch:
pip install git+https://github.com/sphinx-contrib/confluencebuilder.git@improve-rate-limiting

Make sure to unset/clear the confluence_publish_delay option.
The changes should help enforce rate limiting hints as soon as Confluence (or a proxy) reports to do so. Although, this change only outputs when rate-limiting delays from Confluence only when verbose mode is enabled, so if you want a more detailed output of what is happening, it may be ideal to enable verbosity on the Sphinx call (I believe -vv will do this?).
In theory, if your Confluence instance is rate-limiting you, you will see (with verbose logging) that this extension will report messages such as the following:
rate-limit header detected; waiting <n> seconds...

This should be an indication that the administrator of a Confluence instance has configured rate limiting and there is not much you could do (or a proxy is rate-limiting, but there would be not much difference). In this case, you should not see 429 codes or a "rate-limit response detected" message. If you do see it, this extension may not be properly waiting the requested duration.
Instead, if when attempting publishing you see 429 errors and never a "rate-limit header detected" message:
rate-limit response detected; waiting <n> seconds...

This would make me believe the issue is not that Confluence is rate limiting but something else (like a corporate proxy instance). One thing I find interesting in the logs is the following messages:
DEBUG:urllib3.connectionpool:Resetting dropped connection: corporate-network.net
...

This makes be believe that a (reverse) proxy is being used (which is fine), but keep-alive sessions are not supported. This should not be a major issue, it will only delay publishing a bit longer since it has to make a new connection attempt each request. But what this may hint at is either:

The proxy is not forwarding a Retry-After header from Confluence (if rate limiting is even enabled); and/or,
The proxy is having issues (overloaded) or limiting these interactions.

But this is speculative. What I find interesting is that if you set your fixed delay of confluence_publish_delay to five seconds (which is extremely large IMHO), I would suspect you should never be getting 429 errors from Confluence. This would either mean that a system administrator has extremely limited the amount of API calls you can make, or a proxy does not like the amount of traffic the host is performing (a combination of a publish event with other things like interact with this instance with a browser).

Hey there, so it turns out that it must be the problem of a proxy.
I have indeed never gotten a
rate-limit header detected; waiting <n> seconds...

message after using the branch improve-rate-limiting.
I think in that case, this issue can be closes because there is nothing you can do about it, right?
To be honest, we are only using this API as a bridge solution and will migrate to GitHub Pages in the next few months.
Thank you so much for your great support either way :)

I think in that case, this issue can be closes because there is nothing you can do about it, right?

Unfortunately, that is most likely the case. I'd be curious to know if you ever stumble upon the reason why this may have been happening.
It would also be interesting to know if a publish event reacted differently if you disabled keep-alive flag. For example:
confluence_publish_headers = {
    'Connection': 'close',
}

I would think you would get the same result, but just fishing for anything.

[We] are only using this API as a bridge solution and will migrate to GitHub Pages...

Nice. A static site generator will give you way more flexibility for displaying/interacting with your content. I hope the transition works out well for your team.
I would be also curious to know how you may plan to integrating a search-like functionality across your GitHub pages ~ although, this is going off topic quite a bit, so feel free to ignore.

Unfortunately, we're going to have to continue using the Confluence publishing method do distribute our documentation for some time. Recently, the workflow was broken by an error in logging. I opened a separate issue: #632.

v1.8 is now available on PyPI -- marking as closed.


DirectLine object is not initiating the bot conversation

Hi Team,
We are using Direcline channel in our bot for conversation and the directline object is not initiating the bot conversation and its throwing exception like "Authentication failed because the remote party has closed the transport stream",below is the line which throws the exception:
var conversation = await client.Conversations.StartConversationAsync();
Note:The same solution was working fine and all of a sudden it stopped working.
Thanks
Divyashri.V

Hi Team,
Can you please help us with the issue mentioned.
Thanks
DivyashriV


Fix another potential hash mismatch between -0 and 0

This fix seems to eliminate a crash I experienced in my debug builds! 👍

👍


Typo fix in version.go: apisever->apiserver

Line 61&62:   apisever-builder->apiserver-builder

/assign @directxman12

Thanks for fixing @AdamDang
/lgtm


Useful to see what files are being processed

It would be really useful to have files processed, including keys that map to the file to be printed as they are processed. Just to make debugging easy.

Cool! thanks


WIP: NATIVE-50: Hopefully fix the builds on jenkins

I think we can delete the branch and close this PR. I added a comment to the issue: https://issues.integreat-app.de/browse/NATIVE-50


(mnt) add aliases

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

@xhochy I keep fighting this on windows, but is this package not a noarch? It only installs .pyi and .py files. What I mean is protoc system dependent and generating custom .py/.pyi for the system it is working on?
I'll still try to kneel that damn windows to my will, but for the sake of conda-forge, I'll then turn it into a noarch if you confirm. Thx

Finally ... though it's likely a noarch lol


DocsArchive-<IP_ADDRESS>Auto archive content

Please don't merge this PR until target archive repo PR https://github.com/OPS-E2E-PPE/docs-archive-test-target/pull/184 is merged into live branch.
Auto archive content to https://github.com/OPS-E2E-PPE/docs-archive-test-target.git

Docs Build status updates of commit 5121057:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

[Error]

Cannot sync git repo to specified commit because branch Archive_master_2019-10-14-06-07-23 has been deleted or has been force pushed: fatal: Couldn't find remote ref Archive_master_2019-10-14-06-07-23

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Common.py

Adds common.py, similar to the version in oqs-openssl (https://github.com/open-quantum-safe/openssl/blob/OQS-OpenSSL_1_1_1-stable/oqs-test/common.py).
In addition, adds the security levels to each sig and kex algorithm.
Used by the build script for the test server.

Ok for me to close this PR. As discussed in https://github.com/open-quantum-safe/oqs-demos/pull/204, using openssl list seems the better way for oqs-demos to get the same information.


Fix tests resources cleanup for Openshift

Please provide a description of this PR:
Fixes: https://github.com/istio/istio/issues/54446
When test resources cleaned up in Openshift, it takes time for the "istio-ingressgateway" and "istio-egressgateway" services to be deleted.
As a result, when the resources are cleaned after one test and the next test starts, ittend to fail because the services are in deletion state and failed to be used by the next test.
Check for the services to be deleted completely before ending the test.

Hi @MaxBab. Thanks for your PR.
I'm waiting for a istio member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.
Once the patch is verified, the new status will be reflected by the ok-to-test label.
I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

/ok-to-test


covid_hosp_state_timeseries missing an escape required for v4

Steps to reproduce:

Go to: https://staging.delphi.cmu.edu/epidata/covid_hosp_state_timeseries/?states=pa&dates=20220101
Receive database error below

row is a reserved keyword in MySQL 8 but not in MariaDB. We need to enclose "row" in backticks (`)
database error: (MySQLdb._exceptions.ProgrammingError) (1064, \"You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'row FROM covid_hosp_state_timeseries c JOIN (SELECT max(`issue`) `max_issue`, `d' at line 1\")
[SQL: WITH c as (SELECT c.state, c.geocoded_state, c.issue, c.date, c.critical_staffing_shortage_today_yes, c.critical_staffing_shortage_today_no, c.critical_staffing_shortage_today_not_reported, c.critical_staffing_shortage_anticipated_within_week_yes, c.critical_staffing_shortage_anticipated_within_week_no, c.critical_staffing_shortage_anticipated_within_week_not_reported, c.hospital_onset_covid, c.hospital_onset_covid_coverage, c.inpatient_beds, c.inpatient_beds_coverage, c.inpatient_beds_used, c.inpatient_beds_used_coverage, c.inpatient_beds_used_covid, c.inpatient_beds_used_covid_coverage, c.previous_day_admission_adult_covid_confirmed, c.previous_day_admission_adult_covid_confirmed_coverage, c.previous_day_admission_adult_covid_suspected, c.previous_day_admission_adult_covid_suspected_coverage, c.previous_day_admission_pediatric_covid_confirmed, c.previous_day_admission_pediatric_covid_confirmed_coverage, c.previous_day_admission_pediatric_covid_suspected, c.previous_day_admission_pediatric_covid_suspected_coverage, c.staffed_adult_icu_bed_occupancy, c.staffed_adult_icu_bed_occupancy_coverage, c.staffed_icu_adult_patients_confirmed_suspected_covid, c.staffed_icu_adult_patients_confirmed_suspected_covid_coverage, c.staffed_icu_adult_patients_confirmed_covid, c.staffed_icu_adult_patients_confirmed_covid_coverage, c.total_adult_patients_hosp_confirmed_suspected_covid, c.total_adult_patients_hosp_confirmed_suspected_covid_coverage, c.total_adult_patients_hosp_confirmed_covid, c.total_adult_patients_hosp_confirmed_covid_coverage, c.total_pediatric_patients_hosp_confirmed_suspected_covid, c.total_pediatric_patients_hosp_confirmed_suspected_covid_coverage, c.total_pediatric_patients_hosp_confirmed_covid, c.total_pediatric_patients_hosp_confirmed_covid_coverage, c.total_staffed_adult_icu_beds, c.total_staffed_adult_icu_beds_coverage, c.inpatient_beds_utilization_coverage, c.inpatient_beds_utilization_numerator, c.inpatient_beds_utilization_denominator, c.percent_of_inpatients_with_covid_coverage, c.percent_of_inpatients_with_covid_numerator, c.percent_of_inpatients_with_covid_denominator, c.inpatient_bed_covid_utilization_coverage, c.inpatient_bed_covid_utilization_numerator, c.inpatient_bed_covid_utilization_denominator, c.adult_icu_bed_covid_utilization_coverage, c.adult_icu_bed_covid_utilization_numerator, c.adult_icu_bed_covid_utilization_denominator, c.adult_icu_bed_utilization_coverage, c.adult_icu_bed_utilization_numerator, c.adult_icu_bed_utilization_denominator, c.deaths_covid, c.deaths_covid_coverage, c.icu_patients_confirmed_influenza, c.icu_patients_confirmed_influenza_coverage, c.on_hand_supply_therapeutic_a_casirivimab_imdevimab_courses, c.on_hand_supply_therapeutic_b_bamlanivimab_courses, c.on_hand_supply_therapeutic_c_bamlanivimab_etesevimab_courses, c.previous_day_admission_adult_covid_confirmed_18_19, c.previous_day_admission_adult_covid_confirmed_18_19_coverage, c.previous_day_admission_adult_covid_confirmed_20_29, c.previous_day_admission_adult_covid_confirmed_20_29_coverage, c.previous_day_admission_adult_covid_confirmed_30_39, c.previous_day_admission_adult_covid_confirmed_30_39_coverage, c.previous_day_admission_adult_covid_confirmed_40_49, c.previous_day_admission_adult_covid_confirmed_40_49_coverage, c.previous_day_admission_adult_covid_confirmed_50_59, c.previous_day_admission_adult_covid_confirmed_50_59_coverage, c.previous_day_admission_adult_covid_confirmed_60_69, c.previous_day_admission_adult_covid_confirmed_60_69_coverage, c.previous_day_admission_adult_covid_confirmed_70_79, c.previous_day_admission_adult_covid_confirmed_70_79_coverage, c.previous_day_admission_adult_covid_confirmed_80plus, c.previous_day_admission_adult_covid_confirmed_80plus_coverage, c.previous_day_admission_adult_covid_confirmed_unknown, c.previous_day_admission_adult_covid_confirmed_unknown_coverage, c.previous_day_admission_adult_covid_suspected_18_19, c.previous_day_admission_adult_covid_suspected_18_19_coverage, c.previous_day_admission_adult_covid_suspected_20_29, c.previous_day_admission_adult_covid_suspected_20_29_coverage, c.previous_day_admission_adult_covid_suspected_30_39, c.previous_day_admission_adult_covid_suspected_30_39_coverage, c.previous_day_admission_adult_covid_suspected_40_49, c.previous_day_admission_adult_covid_suspected_40_49_coverage, c.previous_day_admission_adult_covid_suspected_50_59, c.previous_day_admission_adult_covid_suspected_50_59_coverage, c.previous_day_admission_adult_covid_suspected_60_69, c.previous_day_admission_adult_covid_suspected_60_69_coverage, c.previous_day_admission_adult_covid_suspected_70_79, c.previous_day_admission_adult_covid_suspected_70_79_coverage, c.previous_day_admission_adult_covid_suspected_80plus, c.previous_day_admission_adult_covid_suspected_80plus_coverage, c.previous_day_admission_adult_covid_suspected_unknown, c.previous_day_admission_adult_covid_suspected_unknown_coverage, c.previous_day_admission_influenza_confirmed, c.previous_day_admission_influenza_confirmed_coverage, c.previous_day_deaths_covid_and_influenza, c.previous_day_deaths_covid_and_influenza_coverage, c.previous_day_deaths_influenza, c.previous_day_deaths_influenza_coverage, c.previous_week_therapeutic_a_casirivimab_imdevimab_courses_used, c.previous_week_therapeutic_b_bamlanivimab_courses_used, c.previous_week_therapeutic_c_bamlanivimab_etesevimab_courses_used, c.total_patients_hospitalized_confirmed_influenza, c.total_patients_hospitalized_confirmed_influenza_coverage, c.total_patients_hospitalized_confirmed_influenza_covid, c.total_patients_hospitalized_confirmed_influenza_covid_coverage, c.inpatient_beds_utilization, c.percent_of_inpatients_with_covid, c.inpatient_bed_covid_utilization, c.adult_icu_bed_covid_utilization, c.adult_icu_bed_utilization, ROW_NUMBER() OVER (PARTITION BY date, state, issue ORDER BY record_type) row FROM covid_hosp_state_timeseries c JOIN (SELECT max(`issue`) `max_issue`, `date`, `state` FROM covid_hosp_state_timeseries c WHERE (c.date = %s) AND (c.state = %s) GROUP BY `date`, `state`) x ON x.`max_issue` = c.`issue` AND x.`date` = c.`date` AND x.`state` = c.`state`) select c.state, c.geocoded_state, c.issue, c.date, c.critical_staffing_shortage_today_yes, c.critical_staffing_shortage_today_no, c.critical_staffing_shortage_today_not_reported, c.critical_staffing_shortage_anticipated_within_week_yes, c.critical_staffing_shortage_anticipated_within_week_no, c.critical_staffing_shortage_anticipated_within_week_not_reported, c.hospital_onset_covid, c.hospital_onset_covid_coverage, c.inpatient_beds, c.inpatient_beds_coverage, c.inpatient_beds_used, c.inpatient_beds_used_coverage, c.inpatient_beds_used_covid, c.inpatient_beds_used_covid_coverage, c.previous_day_admission_adult_covid_confirmed, c.previous_day_admission_adult_covid_confirmed_coverage, c.previous_day_admission_adult_covid_suspected, c.previous_day_admission_adult_covid_suspected_coverage, c.previous_day_admission_pediatric_covid_confirmed, c.previous_day_admission_pediatric_covid_confirmed_coverage, c.previous_day_admission_pediatric_covid_suspected, c.previous_day_admission_pediatric_covid_suspected_coverage, c.staffed_adult_icu_bed_occupancy, c.staffed_adult_icu_bed_occupancy_coverage, c.staffed_icu_adult_patients_confirmed_suspected_covid, c.staffed_icu_adult_patients_confirmed_suspected_covid_coverage, c.staffed_icu_adult_patients_confirmed_covid, c.staffed_icu_adult_patients_confirmed_covid_coverage, c.total_adult_patients_hosp_confirmed_suspected_covid, c.total_adult_patients_hosp_confirmed_suspected_covid_coverage, c.total_adult_patients_hosp_confirmed_covid, c.total_adult_patients_hosp_confirmed_covid_coverage, c.total_pediatric_patients_hosp_confirmed_suspected_covid, c.total_pediatric_patients_hosp_confirmed_suspected_covid_coverage, c.total_pediatric_patients_hosp_confirmed_covid, c.total_pediatric_patients_hosp_confirmed_covid_coverage, c.total_staffed_adult_icu_beds, c.total_staffed_adult_icu_beds_coverage, c.inpatient_beds_utilization_coverage, c.inpatient_beds_utilization_numerator, c.inpatient_beds_utilization_denominator, c.percent_of_inpatients_with_covid_coverage, c.percent_of_inpatients_with_covid_numerator, c.percent_of_inpatients_with_covid_denominator, c.inpatient_bed_covid_utilization_coverage, c.inpatient_bed_covid_utilization_numerator, c.inpatient_bed_covid_utilization_denominator, c.adult_icu_bed_covid_utilization_coverage, c.adult_icu_bed_covid_utilization_numerator, c.adult_icu_bed_covid_utilization_denominator, c.adult_icu_bed_utilization_coverage, c.adult_icu_bed_utilization_numerator, c.adult_icu_bed_utilization_denominator, c.deaths_covid, c.deaths_covid_coverage, c.icu_patients_confirmed_influenza, c.icu_patients_confirmed_influenza_coverage, c.on_hand_supply_therapeutic_a_casirivimab_imdevimab_courses, c.on_hand_supply_therapeutic_b_bamlanivimab_courses, c.on_hand_supply_therapeutic_c_bamlanivimab_etesevimab_courses, c.previous_day_admission_adult_covid_confirmed_18_19, c.previous_day_admission_adult_covid_confirmed_18_19_coverage, c.previous_day_admission_adult_covid_confirmed_20_29, c.previous_day_admission_adult_covid_confirmed_20_29_coverage, c.previous_day_admission_adult_covid_confirmed_30_39, c.previous_day_admission_adult_covid_confirmed_30_39_coverage, c.previous_day_admission_adult_covid_confirmed_40_49, c.previous_day_admission_adult_covid_confirmed_40_49_coverage, c.previous_day_admission_adult_covid_confirmed_50_59, c.previous_day_admission_adult_covid_confirmed_50_59_coverage, c.previous_day_admission_adult_covid_confirmed_60_69, c.previous_day_admission_adult_covid_confirmed_60_69_coverage, c.previous_day_admission_adult_covid_confirmed_70_79, c.previous_day_admission_adult_covid_confirmed_70_79_coverage, c.previous_day_admission_adult_covid_confirmed_80plus, c.previous_day_admission_adult_covid_confirmed_80plus_coverage, c.previous_day_admission_adult_covid_confirmed_unknown, c.previous_day_admission_adult_covid_confirmed_unknown_coverage, c.previous_day_admission_adult_covid_suspected_18_19, c.previous_day_admission_adult_covid_suspected_18_19_coverage, c.previous_day_admission_adult_covid_suspected_20_29, c.previous_day_admission_adult_covid_suspected_20_29_coverage, c.previous_day_admission_adult_covid_suspected_30_39, c.previous_day_admission_adult_covid_suspected_30_39_coverage, c.previous_day_admission_adult_covid_suspected_40_49, c.previous_day_admission_adult_covid_suspected_40_49_coverage, c.previous_day_admission_adult_covid_suspected_50_59, c.previous_day_admission_adult_covid_suspected_50_59_coverage, c.previous_day_admission_adult_covid_suspected_60_69, c.previous_day_admission_adult_covid_suspected_60_69_coverage, c.previous_day_admission_adult_covid_suspected_70_79, c.previous_day_admission_adult_covid_suspected_70_79_coverage, c.previous_day_admission_adult_covid_suspected_80plus, c.previous_day_admission_adult_covid_suspected_80plus_coverage, c.previous_day_admission_adult_covid_suspected_unknown, c.previous_day_admission_adult_covid_suspected_unknown_coverage, c.previous_day_admission_influenza_confirmed, c.previous_day_admission_influenza_confirmed_coverage, c.previous_day_deaths_covid_and_influenza, c.previous_day_deaths_covid_and_influenza_coverage, c.previous_day_deaths_influenza, c.previous_day_deaths_influenza_coverage, c.previous_week_therapeutic_a_casirivimab_imdevimab_courses_used, c.previous_week_therapeutic_b_bamlanivimab_courses_used, c.previous_week_therapeutic_c_bamlanivimab_etesevimab_courses_used, c.total_patients_hospitalized_confirmed_influenza, c.total_patients_hospitalized_confirmed_influenza_coverage, c.total_patients_hospitalized_confirmed_influenza_covid, c.total_patients_hospitalized_confirmed_influenza_covid_coverage, c.inpatient_beds_utilization, c.percent_of_inpatients_with_covid, c.inpatient_bed_covid_utilization, c.adult_icu_bed_covid_utilization, c.adult_icu_bed_utilization FROM c WHERE row = 1 ORDER BY c.date ASC, c.state ASC, c.issue ASC LIMIT 10000001]
[parameters: (20220101, 'pa')]
(Background on this error at: http://sqlalche.me/e/13/f405)

Fixed in v4 launch.


[ENH]

🟢 How does GSE currently work
I am in arms spec and i have a fury macro in GSE. This will throw an error because a certain spell i use in the fury macro isnt available in arms spec.
🟢 Describe the solution you'd like
Just add an option to disable the error text (this should be possible individually for each macro.
🟢 Describe alternatives you've considered
None, there is no way without breaking the addon at this point. At least for me editing the lua file did break the addon.
🟢 Additional context
code which i am talking about is located in:
GSE --> API --> Storage.lua

--- Build GSE3 Executable Buttons
function GSE.CreateGSE3Button(macro, name, combatReset)
local status, err = pcall(PCallCreateGSE3Button, macro, name, combatReset)
if err or not status then
GSE.Print(
string.format(
"%s " ..
L["was unable to be programmed.  This macro will not fire until errors in the macro are corrected."],
name
),
"BROKEN MACRO"
)    end

I need to see what is occurring.  Can you please give me the export for the macro?  This particular error occurs when there is a conflict with another object from within your UI.  The solution may be to change the name of the macro from “FURY” to something less generic.

This error doesn’t usually trigger from a talent being misding.  GSE ignores that so if it’s not the name being in conflict I need to actually see what is occurring.

Closing this out at the rename solved the issue.


Authentication poblem

Retrieving data by any request, the json response will be:  "error" : "Permission denied"[\n]". I think it is an authentication problem. so the library must support the firebase authentication methodologies.

Other people appear to have used this since this was filed; presuming it's not an issue.


Java indexer: do not use invalid spans for diagnostics [phab:D1688]

Created by schroederc at 2017-06-01 21:28:42:
If the analyzer can determine a valid start position, then use that for a zero-width span.  Otherwise, emit the diagnostic without a span (i.e. attached to the file).

fromberger accepted this revision at 2017-06-01 21:32:09

schroederc closed via commit aff07ebda7dd8b31e71a10a6a5f6c7dd9ef5544b at 2017-06-01 21:33:09


Ensure Thread can be collected in a timely manner if Recycler.Stack h…

…olds a reference to it.
Motivation:
In our Recycler implementation we store a reference to the current Thread in the Stack that is stored in a FastThreadLocal. The Stack itself is referenced in the DefaultHandle itself. A problem can arise if a user stores a Reference to an Object that holds a reference to the DefaultHandle somewhere and either not remove the reference at all or remove it very late. In this case the Thread itself can not be collected as its still referenced in the Stack that is referenced by the DefaultHandle.
Modifications:

Use a WeakReference to store the reference to the Thread in the Stack
Add a test case

Result:
Ensure a Thread can be collected in a timely manner in all cases even if it used the Recycler.

@ejona86 whatever we do with https://github.com/netty/netty/pull/7463 we should merge this one in all cases :)

Cherry-picked into 4.1 (0276b6e0f641687b145c810ab143be56143fc5ac) and 4.0 (b386ee3ea)


NoHandlerForQueryException should show real response type

When an org.axonframework.queryhandling.NoHandlerForQueryException is thrown, it always specifies "...with response type org.axonframework.messaging.responsetypes.InstanceResponseType@". This is a pretty useless message, as it doesn't show the actual requested response type.

This issue has been resolved in commit 4b79c43, hence closing.


feat: add generic type for plugin api

Description

Wait for upstream PR https://github.com/rollup/rollup/pull/5112 to be released.

Upgrade rollup
Add generic type to Plugin

Additional context

What is the purpose of this pull request?

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

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

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

/ecosystem-ci run

Probably a good idea to wait until ecosystem-ci is greener in main before merging this one. At least Nuxt and VitePress seem to be new fails. It could be that they aren't yet using rollup types from Vite. cc @dominikg

I think the stale Rollup version caused the errors. If upstreams use Vite 5, then they have to ensure the latest Rollup version (if installed)

After upgrading Rollup in Nuxt repo, I pass the ecosystem-ci test on my local machine.


Android Basics issue:

URL of codelab
Write instumentation step 3
no new line in code example
@get:Ruleval activity = ActivityScenarioRule(MainActivity::class.java)
Versions
Android Studio version: NA
API version of the emulator: NA
Additional information
Include screenshots if they would be useful in clarifying the problem.

Duplicate of #271, #266, #265
@KitStonierBDX
The typo is fixed. Thanks for reporting it.


Write out default index when it is provided as--extra-index-url

If the default index is provided as --extra-index-url it can not safely be dropped from the written output since this changes behavior when the output is synced.
While jazzband/pip-tools#756 Explicitly introduced tests for the opposite, this seams to have been a mistake since otherwise the following lines comment about making an exception would be nonsensical.
Changelog-friendly one-liner:  Write out default index when it is provided as --extra-index-url.
Contributor checklist

[x] Provided the tests for the changes.
[x] Gave a clear one-line description in the PR (that the maintainers can add to CHANGELOG.md on release).
[ ] Assign the PR to an existing or new milestone for the target version (following Semantic Versioning).

@atugushev Since you wrote that test, did I interpret that right?

@fahrradflucht thanks for the contribution! 🎉

pip-tools v6.0.0 is released 🚀


Cannot compile partial application with Unit arguments

Describe the bug
Partial application for operation with signature Unit => T fails.
To Reproduce
https://microsoft.github.io/qsharp/?code=H4sIAAAAAAAAE32OMQvCMBCF9%2F6KGxOQYldLwYoODgF1FYejRii0dyFNkSD976ZtVHTwTQf38b5H2OrOYKVB%2BWOP5Pq2NAYeCYSw0QSqrix3fHNp%2FKeltei7%2FB9yQrpymycTU5PTlrAZYYuuZoKtxfvMbJgbIWEF4xG9Yz7EnpxYLiCTUBSQTcAwF6935Kw%2FcBAI%2BZoTDQpreveeLz%2FNCsmL7xHBECxCymgYkiebKc5WHAEAAA%3D%3D
Expected behavior
Should return an array of 10 random Boolean values.
Additional context
When adding some parameter to the operation, it works:
https://microsoft.github.io/qsharp/?code=H4sIAAAAAAAAE32OsQrCMBCG9z7FjQlIaVdLQUUHh4C6isNRIxTau5CmSJC%2Bu2mbIjp4y3H8H%2F93hK3uDFYalD%2F3SK5vt8bAK4EwbDSBqivLHT9cGvN0ay36rviHXJDu3BbJxNTktCVsRtiiq5lgb%2FE5MzvmRhCs4UhOhjXeUT%2FOBwy5yFaQSyhLyCdgmPs3B3LWnzh4hFy%2BiiKFNYml93r7aVZIXnz%2FEgzBkskoGJI3AEF%2BkSIBAAA%3D

@samarsha This is an interesting one. Worth noting, it will work if the Unit value is in a variable:
let x = ();
DrawMany(DrawRandomBool, 10, x)


Is it a bad pattern to use the props inside of the selectors?

Hi everyone,
I'm using Reselect for a while now, and the more my codebase is growing, the more I'm wondering if I'm not doing something wrong with the props.
Let me explain, on the my redux store, I keep some entities stored by ids, and on a url like /entity/:id, I would like to retrieve the entity object.
Example:
const getEntityIdFromUrl = (_, ownProps) => ownProps.match.params.entityId // Using react router
const getEntities = state => state.entities

export const getCurrentEntity = createSelector(
  getEntities,
  getEntityIdFromUrl,
  (entities, id) => entities[id]
)

It is working very well... If I'm on the right context!
The selector is bound to a store which is a global object for my application. Introducing the props, and especially here with the routing props, bounds it to a context.
getCurrentEntity // will break if I don't have the param "entityId"

So I'm wondering, is it a bad pattern to use the props like that into the selectors? Or should I specify to my team that some selectors should only be used in the right context?

It's kind of up to you.  I personally would prefer to have the component's mapState be the one that defines what piece of the props is needed, ie:
const mapState = (state, ownProps) => {
    return {
        currentEntity : getCurrentEntity(state, ownProps.match.params.entityId)
    }
}

I see it kind of like dealing with event handlers.  You probably don't want to pass the entire event object all the way through to whatever your "business logic" is.  The UI ought to deal with extracting the relevant data from the event, like const name = e.target.value, and then pass that onward to the rest of the logic.

This is actually the exact implementation I had before moving the props to the selector file, in order to have getCurrentEntity as a variable, instead of a function (supposed to be more efficient right?).
That's why I ended up a bit confused on the best approach to have here.
Moreover, the mapState function could be tricky to use like that all the time, since it is not updated when the props are changing (so this is definitely something to be careful of).
Anyway, what do you think, functions over props in the selectors are better in your opinion?

I found that I didn't like passing all of the props into the selectors as the second parameter either, because I felt that I was binding my selectors to the implementation of react-router and any other parent component that was passing props in. I wanted to control what was being passed to the selectors so that they could be reused elsewhere in the app (components not wrapped in a Route component etc), and my selector testing code wouldn't have to create mocks of the whole react-router match prop tree. So I initially just passed parameters in as positional arguments.
But when I needed to pass multiple parameters it I felt that it became unclear what I was selecting using selectors like...
const getSecondParameter = (state, param) => param
const getThirdParameter = (state, _, param) => param

...and I was relying on the order of the parameters in multiple nested selectors.
Let's say I have

selector A, it takes the state and a customer Id as arguments.
selector B, it takes the result of selector A, and the order status filter as arguments

If I pass in each parameter to the call to the selector individually, selector B must access the order filter argument via the third parameter using getThirdParameter above, or more clearly:
const getOrderStatusParameter = (state, _, orderStatus) => orderStatus

That's not so bad, but this starts to get really rigid once there are a few different nested selectors expecting parameters, if I want to reuse a sub-selector in another place, it needs to make sure to have the argument in the correct position.
Example:
Lets say I have another selector

selector C that was used elsewhere, it takes the state and a product Id as the second param

Now I want to re-use selector C in a new selector D, which takes selector B and C as inputs. However the parameters for A (used by B) and C are in clashing positions, but I've already used C in multiple places within the app...
My first thought was, "we can pass all of the parameters in at once"...
const selectorA = createSelector(
    state => state,
    (_, params) =>  params,
   (state, { Id, filter, somethingElse }) => {
        // Do expensive filtering
    }
)

...but now the memoization breaks because the mapStateToProps creates a new object each time.
Eventually I went with a mixture of the two approaches above, always passing in a shallow javascript object as the second parameter and having a selector extract each parameter that I needed from that. This also made the final selectors clearer because the parameter names are just before the output function of createSelector
// Example: I want to show the pending orders for a customer,
// but this could be something like passing multiple filter values to filter a large list
// something we want memoized

// url is something like /customer/1/orders/pending
// path match pattern is /customer/:customerId/orders/:status
const mapStateToProps = (state, { match }) => {
    return {
        orders: getCustomerOrdersOfStatus(state, {
            customerId: match.params.customerId,
            orderStatus: match.params.status
        })
    }
}

// I have selectors for each slice of the app state
const getCustomers = (state) => state.customers
const getOrders = (state) => state.orders

// I have some selectors like this to select the parameters I need
// these are reused throughout the app
const getCustomerIdParam = (_, params) => params.customerId
const getOrderStatusParam = (_, params) => params.orderStatus

// And use them in the main selector
const getCustomerOrdersOfStatus = createSelector(
    // Select the slices of state
    getCustomers,
    getOrders,
    // Select the params
    getCustomerIdParam,
    getOrderStatusParam
    (customers, orders, customerId, orderStatus) => {
        // Some expensive filtering here
})

Note that, because the expensive output selector never receives the newly created javascript object passed into the second argument of the selector, the default memoization implementation still works, because the parameters passed to the final selector are simple primitives.
Does this solution have any drawbacks that I've missed?


Bring common CSV version back up to 1.10.0

The commit 1a99cef4a4e4f8828b98a93d822404ca80ae3889 to make Gradle use a version catalog accidentally downgraded the common CSV library version to 1.9.0 but the license report uses a method signature that was introduced in 1.10.0.

Noting that the release job failed with:
> Task :buildSrc:compileJava FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':buildSrc:compileJava'.
> Could not resolve all files for configuration ':buildSrc:compileClasspath'.
   > Could not resolve org.apache.commons:commons-csv:1.10.0.
     Required by:
         project :buildSrc
      > Could not resolve org.apache.commons:commons-csv:1.10.0.
         > Could not get resource '[https://plugins.gradle.org/m2/org/apache/commons/commons-csv/1.10.0/commons-csv-1.10.0.pom](https://www.google.com/url?q=https://plugins.gradle.org/m2/org/apache/commons/commons-csv/1.10.0/commons-csv-1.10.0.pom&sa=D)'.
            > Could not GET '[https://jcenter.bintray.com/org/apache/commons/commons-csv/1.10.0/commons-csv-1.10.0.pom](https://www.google.com/url?q=https://jcenter.bintray.com/org/apache/commons/commons-csv/1.10.0/commons-csv-1.10.0.pom&sa=D)'.
               > Read timed out
   > Could not resolve com.diffplug.spotless:spotless-lib:2.24.1.
     Required by:
         project :buildSrc > com.diffplug.spotless:spotless-plugin-gradle:6.4.1
      > Skipped due to earlier error
   > Could not resolve com.diffplug.spotless:spotless-lib-extra:2.24.1.
     Required by:
         project :buildSrc > com.diffplug.spotless:spotless-plugin-gradle:6.4.1
      > Skipped due to earlier error

Noting that the release job failed with:

And it just succeeded, so it must have just been a network issue.


Adds badges to the readme file

Codecov Report

Merging #58 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff          @@
##           master    #58   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files           6      6
  Lines         273    273
=====================================
  Hits          273    273

Continue to review full report at Codecov.

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


Does ability to navigation not from composable function?

I wonder is has ability to navigate not from Composable? For example if i want navigate from viewModel or UseCase class.
How i see that i can get  navigator instance with LocalNavigator.currentOrThrow only from Composable function.

The navigation relies on state changes to work, you don't have to be inside a composition. So, you can create an instance of your ViewModel/UseCase inside the composition and pass the navigator instance to it.
Example with Koin:
val navigator = LocalNavigator.currentOrThrow
val viewModel = getViewModel<MyViewModel>(navigator)

Since we can have nested navigators (thanks to CompositionLocals) I don't see a way to get the navigator instance outside the composition.

Thanks


[Issue-3289] Extension - Bug Cannot read properties of undefined (reading 'filter') related to Mission pool

Related issue: #3289

🚀 Deployed on https://pr-3295--sw-web-runner.netlify.app


UI-doctor-patient

Summary
Resolves #51
Add UI for single patient view and single doctor view

Add UI mockup for viewing one patient
Add UI mockup for viewing one doctor

Update list patients and doctors UI mockup

Remove edit and delete buttons
Remove images of people's faces
Change "Search" to "Input" in search bar

Checks

[ ] Link PR to issue
[ ] Add Reviewer
[ ] Pass CI

Codecov Report

Merging #71 (db50447) into master (70d63ef) will increase coverage by 0.02%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master      #71      +/-   ##
============================================
+ Coverage     72.15%   72.18%   +0.02%
  Complexity      399      399
============================================
  Files            70       70
  Lines          1232     1233       +1
  Branches        125      125
============================================
+ Hits            889      890       +1
  Misses          311      311
  Partials         32       32

Impacted Files
Coverage Δ

...rc/main/java/seedu/address/logic/LogicManager.java

.../seedu/address/storage/JsonAddressBookStorage.java

...c/main/java/seedu/address/model/person/Person.java

...va/seedu/address/storage/JsonUserPrefsStorage.java

...va/seedu/address/logic/commands/CommandResult.java

...ss/commons/exceptions/DataConversionException.java

src/main/java/seedu/address/ui/ResultDisplay.java

.../java/seedu/address/logic/commands/AddCommand.java

...del/person/exceptions/PersonNotFoundException.java

.../java/seedu/address/model/util/SampleDataUtil.java

... and 130 more

Continue to review full report at Codecov.

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


Feature/idcom 2090  Middleware chaining

Support previous middleware in time-delay and check-pass middlewares and add a test that demonstrates chaining them together.
As part of this, add a feature to cryptid client that allows a middleware to specify whether their instructions should be executed as part of the propose (onPropose) or execute (onExecute) steps, rather than forcing them to be on the execute step as before. This is necessary for the time-delay middleware, but may be useful for others too.

Really good work Dan. Looks great!


Customer Shipping Address Update/Creation

When using update a customer the shipping[address] is shown as {"line1":"","city":"","country":"","line2":"","postal_code":"","state":""} in the example.
This returns an error
{
"error": {
"message": "Invalid object",
"param": "shipping[address]",
"type": "invalid_request_error"
}
}
I could only get it to work by creating new keys:
shipping[address][line1]
shipping[address][line2]
shipping[address][city]
shipping[address][country]
shipping[address][postal_code]
shipping[address][state]
Am I missing something in the way it is shown in the example
Andy

Hey @hobkirkweb, thanks for reporting this issue.  shipping[address] is a nested field and so the Postman collection should include child parameters like shipping[address][line1]. We're working on remediating this and should have an updated Postman Collection soon!


swagger:meta - $ref on description

Problem statement
To generate description, is possible to use $ref instead of plain text?
Swagger specification
info:
  description:
     $ref: intro.md

Steps to reproduce
Actual
// Here goes the Title
//
// Here goes the description
//
// swagger:meta

Question:
// Here goes the Title
//
// $ref: intro.md
//
// swagger:meta

This is not supported by the swagger specification. If you want to to do that you can always write a little bit of code to achieve much of the same result.