Input component's testID prop does not map to data-testid

Current Behavior
The input component's testID prop does not map to data-testid
If I provide the prop directly to the component as data-testid, in a production build, this prop doesn't forward to the final component.
My e2e tests are failing, as they rely on test id.
Expected Behavior
The testID prop should map to data-testid in all components
Tamagui Version
1.35.12

Reproduction
https://codesandbox.io/p/sandbox/sharp-sanne-pxgysy?file=%2Fpackages%2Fapp%2Ffeatures%2Fhome%2Fscreen.tsx%3A26%2C85

System Info
No response

fix in next release

I'm still experiencing this issue on 1.93.3.  testID is forwarded for dev builds, but is removed on production builds. Hence all E2E tests depending on it fail.


pixijs#2541 resolution means pixel ratio too

Should consist of only text / documentation changes.

nice one @Hachitus 👍


hooks for backward compatibility and integration testing

FStar/hooks contains hooks that should be installed in FStar/.git/hooks by individual developers. http://www.git-scm.com/book/en/v2/Customizing-Git-Git-Hooks
We should optimize this process and document it in the README.md.
Some/one of these hooks (pre-post) depend(s) on the user having an admin strider account. Creation of which requires human work from someone who is already admin while strider refuses to send emails (see https://github.com/FStarLang/FStar/issues/317).

We're no longer using Strider. Closing.


Hide some actions on image preview

This function solves the problem (这个功能解决的问题)
When using Image component to show art it is a must that the work can't be seen rotated.
So It will be a nice feature to be able to disable / hide some of the actions on Image component on desire.
Expected API (期望的 API)
On Image props:
disabledActions: ["rotateLeft", "rotateRight", "zoomIn", "actionName"].
And just add a && check when displaying the action Icon:
!disabledActions.find("rotateLeft") && rotateLeft

May be released in the next release


docs($filter): add link to built-in filters page

tired to seek page with built-in filters every time I go to filters

I signed it!

Come on @googlebot can you verify :-)
@Narretz why the IceBox? Waiting on CLA should be Purgatory, no?
@vitvad did you check that you signed the CLA with the same email/username as you used in the commit for this?


clear search button added

Description
Added the clear search button in leaderboard section.

Issue Ticket Number
Fixes #368

Type of change

[X] Bug fix (non-breaking change which fixes an issue)
[X] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

Checklist:

[X] I have followed the contributing guidelines of this project as mentioned in CONTRIBUTING.md
[X] I have checked to ensure there aren't other open Pull Requests for the same update/change?
[X] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes needed to the documentation

@JawHawk Resolve the merge conflicts

Congrats @JawHawk 🎉, your PR got merged. To be eligible for the swags from ClueLess. Follow this steps.

Star this repository. ⭐
SignIn / SignUp in [ClueLess Website](https://www.clueless.tech/) .
Go to profile section from the top right hand corner.

Comment your profile URL under this comment tagging the person who merged your PR.

That’s it. Follow the leaderboard !
And don’t forget to share your achievement with your friends.


ui-boostrap 1.1.2 and xeditable 0.1.9 Datepicker not popup

All,
I am using angular 1.4.8, ui-boostrap 1.1.2 and xeditable 0.1.9, The Datepicker is not popup. Can you help me resolve this issue?
Thanks,
Senthil

The ui-bootstrap tags need to be updated to use "uib".  See pull request #406

I am new to the angularjs, My code is simillar to this. Could you please let me know where do I need to change?

    {{ (user.dob | date:"dd/MM/yyyy") || 'empty' }}

Thanks for the solution that worked, but still I am getting lot of console errors like below

TypeError: ngModelCtrl.$setValidity is not a function
Error: [$compile:ctreq] Controller 'ngModel', required by directive 'uibDatepicker', can't be found!

But I do have ng-Model/ e-ng-model that didnt help resolve the error. Also it is not using the format I specified. Any idea?
e-uib-datepicker-popup="yyyy-MMM-dd"

Your definition should be:
data-e-datepicker-popup="yyyy-MMM-dd"

Thanks for the quick reply,  Here is my code i tried different options but both didn't work

        {{ (lastReviewed | date: "yyyy-MMM-dd") || 'Not reviewed' }}

Above code I am not getting the datapicker popup
and

        {{ (lastReviewed | date: "yyyy-MMM-dd") || 'Not reviewed' }}

in the above code I get the datepicker popup but format is different (screen shot below). I would like the date appear as yyyy-MMM-dd format

You need to remove:
data-e-uib-datepicker-popup="yyyy-MMM-dd"
You should only have:
data-e-datepicker-popup="yyyy-MMM-dd"

If i downgrade my angularjs-xeditable to 0.1.8 then it works as expected. It is not working on 0.1.9 and 0.1.10.
Thanks

Fixed by #443


performance of md5_mb_over_4GB_test

Hi,
I'm trying md5_mb performance to figure out if it also perform much better than open ssl when running with many multiple buffers.
And I changed the test code as below and built it and had a test.
It turned out that the performance was worse than open ssl, on both of test CPU platforms.
Not sure if you had similar test, is it expected?
And how should I improve its performance?
Thanks a lot!
#Test result:
/workspace/isa-l_crypto/tests/extended # ./md5_mb_over_4GB_test
md5_large_test
md5_openssl: runtime =   22236247 usecs, bandwidth 8 MB in 22.2362 sec = 0.38 MB/s
Starting updates
md5_ctx_mgr: runtime =   52901056 usecs, bandwidth 8 MB in 52.9011 sec = 0.16 MB/s
# Test code change
/workspace/isa-l_crypto/tests/extended # git diff md5_mb_over_4GB_test.c
#include "md5_mb.h"
#include "endian_helper.h"
#include <openssl/md5.h>
+#include "test.h"
+
#define TEST_LEN               (10241024ull)  //1M
#define TEST_BUFS              MD5_MIN_LANES
+//#define TEST_BUFS            MD5_MAX_LANES
#define ROTATION_TIMES                 10000   //total length processing = TEST_LEN * ROTATION_TIMES
#define UPDATE_SIZE            (13MD5_BLOCK_SIZE)
#define LEN_TOTAL              (TEST_LEN * ROTATION_TIMES)
@@ -54,6 +57,7 @@ int main(void)
uint32_t i, j, k, fail = 0;
unsigned char *bufs[TEST_BUFS];
struct user_data udata[TEST_BUFS];

struct perf start, stop;
posix_memalign((void *)&mgr, 16, sizeof(MD5_HASH_CTX_MGR));
md5_ctx_mgr_init(mgr);
@@ -72,11 +76,17 @@ int main(void)
}
//Openssl MD5 update test

perf_start(&start);

  MD5_Init(&o_ctx);
  for (k = 0; k < ROTATION_TIMES; k++) {
          MD5_Update(&o_ctx, bufs[k % TEST_BUFS], TEST_LEN);
  }
  MD5_Final(digest_ref_upd, &o_ctx);

perf_stop(&stop);

printf("md5_openssl"  ": ");

perf_print(stop, start, (long long)TEST_LEN * TEST_BUFS * 1);
// Initialize pool
for (i = 0; i < TEST_BUFS; i++) {
@@ -86,6 +96,7 @@ int main(void)
}
printf("Starting updates\n");

perf_start(&start);
int highest_pool_idx = 0;
ctx = &ctxpool[highest_pool_idx++];
while (ctx) {
@@ -117,6 +128,11 @@ int main(void)
ctx = md5_ctx_mgr_flush(mgr);
}
}

perf_stop(&stop);

printf("md5_ctx_mgr"  ": ");

perf_print(stop, start, (long long)TEST_LEN * TEST_BUFS * 1);

    printf("multibuffer md5 digest: \n");
    for (i = 0; i < TEST_BUFS; i++) {

lines 6-62/62 (END)

Hi @KelvonLi,
This example md5_mb_over_4GB_test.c is not meant as a performance test and in fact the multi-buffer part does a lot more work then the single-buffer check.  It is processing TEST_BUFFS x the data than the single buffer by doing multiple jobs.  At the end you may notice that it checks the multiple final digests created in the multi-buffer part against the one single buffer result as a check.  I suggest you start with one of the included performance tests instead.

Hi @gbtucker ,
Thanks a lot for your reply.
I'm testing with one single buffer and also multiple buffer.
Here is one simple question to ask:
To get the final md5 value of multiple buffers as one logic single buffer, does it have to use one single ctx, right?
I didn't find a way to leverage multiple ctxs(lanes) to calculate parallelly and generate one final md5 value.
My latest understanding is that, each ctx(lane) could only be used to calculate md5 at one moment and it should NOT be used until completed. Multiple ctxs(lanes) could run parallelly for each different md5 calculation.
Please correct me if I'm wrong.
Thanks a lot.

Hi @KelvonLi,
For 1. all the functions are thread safe and reentrant.  I would suggest one ctx per thread and take a look at the examples in examples/saturation_test for how to do this.
For 2. the lanes must have independent hash jobs to run in parallel.  Because these are cryptographic hashes, there is no way to break up one hash job and run pieces concurrently beyond the fundamental block size.

Hi @gbtucker,
Thanks a ton for your replies and sharing!
I'll have some further study and test.


cannot find mask_rcnn_damage_0010.h5

Hi,
when i run the file inspect_custom_weight and inspect_custom_model. I get the following error.
OSError                                   Traceback (most recent call last)
 in ()
8 # Load weights
9 print("Loading weights ", weights_path)
---> 10 model.load_weights(weights_path, by_name=True)
OSError: Unable to open file (unable to open file: name = 'mask_rcnn_damage_0010.h5', errno = 2, error message = 'No such file or directory', flags = 0, o_flags = 0)
It seems., it is not able to load the model.
Can you help me out with this.
Thanks

@umair-sabir i am also getting same error can you tell how did you solve the error

@nikhilkhandelwal0702 look in the logs folder it is there in one of the the enclosing folders.


Use --filter Syntax in Pipeline Config

Describe the feature you'd like to request
We have two main types of workspaces in our monorepo: packages and microfrontends. These two types each require different  dependsOn configurations, but from what I can see in the documentation this is not possible to do.
Describe the solution you'd like
I propose being able to use the new --filter syntax in the Pipeline name configs:
"./microfrontends/*#build": {
  "dependsOn": [
    "$APP_ENV",
    "src/**",
    "webpack.config.*"
  ],
  "outputs": ["dist/**"]
},
"./packages/*#build": {
  "dependsOn": [
	"$NODE_ENV",
    "src/**"
  ],
  "outputs": ["dist/**"]
},
"build": {
  "dependsOn": [
    "src/**"
  ],
  "outputs": ["dist/**"]
},

Describe alternatives you've considered
It would be nice to at the very least have globs work in the names: @mf/*#build. Then we could name every workspace differently to handle these cases.
Another option would be to not require every string in dependsOn to match a file, then any missing files would be hashed as empty or something similar.

I'd like to see something like:
"dependsOn": ["./packages/**#build"] supported

This isn't as powerful as you want, but Workspace Configs can let you define different configs for the same task in different workspaces.

I've renamed this issue to more generally be about wildcarding, even though the original issue was specifically about using directory paths, rather than package names in the task definitions.

Should we support single asterisk notation? If so, there could be a collision with: https://github.com/vercel/turbo/issues/4145

#4145's proposed solution may conflict, that's a good call out, but I think that issue is asking for a general "finalization" API. I think that could be a good feature as well, and we should take that into account when designing the API.
The next step would be to outline the scope of this API and (as @psychobolt mentioned) where it could overlap with other features. Off the top of my head, dependsOn should be able to declare:

More than one task name with a wildcard (e.g. build:*)
More than one package name with a wildcard (e.g. ui-*:build)

It could overlap with:

Finalization chains (e.g. dependsOn: ["**everything**"]) #4145
turbo run foo* (https://github.com/vercel/turbo/issues/1029)


[BUG] conn.requestPairingCode is not a function

i use whiskeysockets/baileys 6.5.0 is not working
in 6.4.1 is working

i use whiskeysockets/baileys 6.5.0 is not working in 6.4.1 is working

It's working in 6.5.0 also

okay


Offline coupling with Delwaq

Fixes #649
This PR adds a folder coupling/delwaq for offline coupling with Delwaq, with a more extensive description provided in README.md in the same folder.
A test is provided in test.py, that is also run on Teamcity on Windows, using the weekly DIMR releases. The basic testmodel (the only with built-in substance concentration values) is used for this. In order to speed-up the CI one can now do pixi run ribasim-core-testmodels basic to only run the basic model (but any or multiple model names can be used).

So this is up to date with main again (I think), and not working, given the non consecutive boundaries ids. Next up is to remove non-basin nodes, it was nice to copy the Ribasim network 1-1 to Delwaq, but it seems to introduce some error in the results. The continituity tracer gives the worst mass balance at non-basin nodes (expected, as we set some non-zero storage), so let's remove them.
However, pruning the network is not that straightforward on a pure topology basis. While it's easy to remove a single node between two basins, there are some nodes that require recalculating flows based on flow directions/rules. See our basic model for example, where I crossed the easy ones, but removing the circled tabulated rating curve #4 requires more work.

I would propose to introduce a dependency on networkx to handle the graph related logic to prune the network. This is also a good intermediate issue that can be tackled by others.

Ah, you're starting to see why FractionalFlow is my nemesis.
If I understand correctly, you want a routine that takes in the Ribasim model and spits out a new graph with edges only between basins and boundary nodes. You also want to know the flows over these edges. This might work (looking only at flow edges of course):

Start with the original graph and make each edge its own representative edge;
Loop over all nodes in the network. If it is a connector node, remove it and its connected edges, and create new edges from the upstream node to all downstream nodes. The representative edge of the new edges is the edge between the connector node and the downstream node;
Now you should be left with the graph you want. It can happen that there are multiple edges between the same pair of nodes (so the procedure above should allow this), so in that case the flow is given by the sum of the flows over their representative edges.

Using this representative edge system, I don't think any additional calculations or checks are needed.

Ha, yes I understand your struggles.
What you propose is indeed what I want, with the addition that the nodes need to be renumbered so they're consecutive. Same for the boundary nodes, but then negatively numbered.
Is representative edge a name you came up with? You mean as an object to reason about (like done in the  networkx package)?
This approach requires directed edges, and I wonder whether it always holds. I can imagine that if the fractionalflows here would be nodes that allow bidirectional (negative) flow, a solution would be morw complex. Not sure if such configurations are possible with our current nodetypes.

Yes representative edge is a term I came up with, I haven't looked into the networkx package yet. What I mean is that the edges you have in your delwaq graph are generally not in the original graph, so the flow over the edges in the delwaq graph is given by the sum of the flows over the representative edges in the original graph.
I'm not sure why the solution would be more complex with bidirectional edges. Do you want to convert to edges with only positive flow, so that you need edges in both directions?
I wrote this function which I think does what you want (the renumbering can be added in):
function create_graph_delwaq(graph::MetaGraph)::MetaGraph
    graph_delwaq = MetaGraph(
        DiGraph();
        label_type = NodeID,
        vertex_data_type = Nothing,
        edge_data_type = @NamedTuple{
            type::EdgeType.T,
            representative_edges::Vector{Tuple{NodeID, NodeID}},
        },
        graph_data = nothing,
    )

    # Add all flow edges to the delwaq graph
    for edge_metadata in values(graph.edge_data)
        (; type, from_id, to_id) = edge_metadata
        if type == EdgeType.flow
            graph_delwaq[from_id] = nothing
            graph_delwaq[to_id] = nothing

            edge = (from_id, to_id)
            graph_delwaq[edge...] = (type = EdgeType.flow, representative_edges = [edge])
        end
    end

    # Remove connector nodes from the delwaq graph
    for node_id in collect(values(graph_delwaq.vertex_labels))
        if node_id.type ∉ [
            NodeType.Basin,
            NodeType.Terminal,
            NodeType.LevelBoundary,
            NodeType.FlowBoundary,
            NodeType.UserDemand,
        ]
            inneighbor_id = inflow_id(graph_delwaq, node_id)
            outneighbor_ids = collect(outflow_ids(graph_delwaq, node_id))

            # From MetagraphsNext
            rem_vertex!(graph_delwaq, code_for(graph_delwaq, node_id))

            for outneighbor_id in outneighbor_ids
                edge = (inneighbor_id, outneighbor_id)
                representative_edge = (node_id, outneighbor_id)
                # If the new edge already exists, add a representative edge,
                # otherwise create the new edge
                if haskey(graph_delwaq, edge...)
                    push!(graph_delwaq[edge...].representative_edges, representative_edge)
                else
                    graph_delwaq[edge...] =
                        (type = EdgeType.flow, representative_edges = [representative_edge])
                end
            end
        end
    end

    return graph_delwaq
end

For testmodel basic this gives
julia> graph_delwaq.edge_data
Dict{Tuple{Ribasim.NodeID, Ribasim.NodeID}, @NamedTuple{type::Ribasim.EdgeType.T, representative_edges::Vector{Tuple{Ribasim.NodeID, Ribasim.NodeID}}}} with 9 entries:
  (Basin #6, Basin #9)          => (type = flow, representative_edges = [(Pump #7, Basin #9)])
  (Basin #3, Basin #6)          => (type = flow, representative_edges = [(TabulatedRatingCurve #4, Basin #6)])
  (FlowBoundary #16, Basin #1)  => (type = flow, representative_edges = [(FlowBoundary #16, Basin #1)])
  (Basin #3, Basin #9)          => (type = flow, representative_edges = [(TabulatedRatingCurve #4, Basin #9)])
  (FlowBoundary #15, Basin #6)  => (type = flow, representative_edges = [(FlowBoundary #15, Basin #6)])
  (Basin #1, Basin #3)          => (type = flow, representative_edges = [(ManningResistance #2, Basin #3)])
  (LevelBoundary #11, Basin #3) => (type = flow, representative_edges = [(LinearResistance #12, Basin #3)])
  (Basin #9, LevelBoundary #17) => (type = flow, representative_edges = [(LinearResistance #10, LevelBoundary #17)])
  (Basin #3, Terminal #14)      => (type = flow, representative_edges = [(TabulatedRatingCurve #4, Terminal #14)])

and a simple example where there are multiple paths between 2 basins, testmodel tabulated_rating_curve:
julia> graph_delwaq.edge_data
Dict{Tuple{Ribasim.NodeID, Ribasim.NodeID}, @NamedTuple{type::Ribasim.EdgeType.T, representative_edges::Vector{Tuple{Ribasim.NodeID, Ribasim.NodeID}}}} with 1 entry:
  (Basin #1, Basin #4) => (type = flow, representative_edges = [(TabulatedRatingCurve #3, Basin #4), (TabulatedRatingCurve #2, Basin #4)])

I've made a Python translation, which seems to work fine. 👍🏻 FWIW, I use the original edge_id instead of the "representative edge", but the idea is the same. Still needs work on applying the new mapping to the nodes and edges (volumes, flows), and adding some flows if needed.

Quality work!

Thanks, took me way longer that I would've liked, but very happy now that I've got it to work, including the CI.


Multisport fitness trend

Hi,
I noticed that the beta feature 'multisport fitness trend' doesn't take into account races when my cardio was off. It think that it would be great to propose an estimation ('maybe based on the average cardio of the previous races ?), in order to keep up to date the graphs ?
Thanks a lot

Something like this would be very helpful.  Using inaccurate heart rate data to generate a TRIMP score for each workout would result in much more useful data than completely ignoring the workout.
TRIMP can be calculated by using an average heart rate for an activity (although I assume the default method for stravistix is more complicated?).  I see three ways to get an average heart rate for a workout that doesn't have any HR data:

Get the average HR of the last X number of workouts of the same activity type

This would be the easiest for the end user
At some point going back would be excessive, for example if the user had 5 rides with a HR monitor 6 years ago and has not used one since

Allow users to set a default HR for each activity type

Probably the easiest method to implement
Requires action by the end user, but not an unreasonable amount

Allow users to set an HR for each activity that doesn't have it

Seems unlikely to be feasible, presumably the data would be removed and have to be re-entered every time a full sync was preformed

Yes, I second that.
I too have some activities without HR and now everything's off (trimp, fitness, fatigue).
As a software developer myself I would suggest solution #1, I think implementation wouldn't be too difficult and it doesnt't require any user interaction. If the data's old or unusal - well then accuracy is not very good. But a guesstimate is always a guesstimate.

Another alternative would be to allow manual entry of a TRIMP score. I have some activities (paddleboarding) where if I fall in the water during the activity, the HR strap starts sending weird values, making the recorded HR innacurate. I manually estimate values for my own TRIMP calculations and TSS in a spreadsheet, but it would be great to have this option in Stravistix.


Social media links have no text for screen readers

Hi,
I actually really like your theme and would love to use it for my blog/personal website. However, the social media icons currently have no textual label for screen readers. Could you have a look at adding this?

@zersiax Thank you for your suggestion, it's a great suggestion.
I learned a11y from Google and make 100 points with lighthouse a11y audits now.

Maybe I will learn something about PWA and support it next time 😂

All you really need to do is add an aria-label="Twitter", aria-label="Facebook" etc to fix the issue. If you don't have time I can probably make a pull request tomorrow.

@zersiax fixed :)


Add support for JupyterLab 4.x

Is your feature request related to a problem? Please describe.
JupyterLab 4.0 is now available as a beta. We need to evaluate that release and identify what it takes to leverage that release.

[ ] installation documentation and repository readme https://github.com/elyra-ai/elyra/pull/3145

Resources:

JupyterLab extension v3 -> v4 migration guide
Elyra issues tagged with external:jupyterlab 4.0

Extensions:

[ ] Jupyterlab-lsp - current version of jupyterlab-lsp python package depends on jupyterlab being <v4-alpha, v5 release is required for JL 4.0 support tracker

Jupyterlab 4.0.2 is released. Looking forward to V4 support

+1 for JupyterLab 4.x support.
Thanks so much for a useful set of extensions!

@lresende There is a jupyterlab-lsp dependency mentioned in the description. jupyterlab-lsp 5.0 with JL4.0 support was released some time ago. Is there a timeline for enabling JupyteLab 4 support in Elyra?


ANKH Gruber

pyphetools QC is not picking up a duplicated term. Let's turn this into a unit test and revise the OntologyQC class as needed.

fixed


URL with parameters generates Invalid signature exception

URLs with parameters, e.g. rest/v1/mmmodel?start_index=0&count=10 generate an invalid signature and therefore cannot be process.
Please make sure the signatures are calculated correctly. Thanks.

Could not be reproduced. Works for me now.


fix: DEV-1642: [Editor] Can't copy text from TextArea regions

this resolves an issue where users arent able to copy text from inputs and textareas.
I don't actually understand the intent of the code that was put in to handle copy/cut/paste (well before my time here + still unfamiliar with the all the available features) this is why i apprached this fix with an exception.
but it does read like the CurrentEntity component is over-reaching a bit, so a second look will likely needed once i have a better understanding of the intent behind this component

already merged


fix picture miss

What type of PR is this?

What this PR does / why we need it:
fix picture miss
Which issue(s) this PR fixes:
Fixes #387
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:
:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.

Flag
Coverage Δ

unittests
31.21% <ø> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.


Custom theming

We should support custom leva and MUI themes.

I started some functionality for this in a branch:
https://github.com/nerfstudio-project/viser/tree/brent/theme_configure
Turns out the part I attempted initially (hiding/showing the bottom bar) is actually nontrivial, since the bottom bar can be shared across multiple clients. In the React hierarchy, it lives further up in the component tree than the GUI state, websocket connection, etc, so there's some deeper architecture decisions that need to be made their.
Other things (top bar #20, colors, ...) will probably be easier.

Just going to throw a reference to #80 here, since I believe that's all we're waiting on to close this at this point.


Comment text is difficult to read in Firefox Dark Mode

Firefox 60.6.0, using built-in dark theme.
I've noticed this happen with a few sites, and it doesn't happen in Chrome, but it's fixable by just setting .textarea's CSS to color: black;.

Yeah, when I'm on linux distros that use dark themes I get this type of problem literally all the time on tons of different websites. I'll get this fixed when I start working on ZeroExchange again. Thanks!


Change Bash to Shell everywhere

Updates function names to match the earlier change from "bash" to "sh".
Removes last instance of "bash" execution.
Resolves #215

Do you normally update the dist folder just before a release or do you want the commit / PR to update both the source and dist files (like I did here). If I hadn't touch the dist files, I would have avoided the EOL file issue. Another way to avoid the EOL problem would have been to compile the source of course. I just edited the dist files by hand. My bad.

Another observation: The ccache stats are displayed without using the shell wrapper - any reason for this? It seems inconsistent.

Sorry for the slow response. I am currently on vacation.
I don't remember a reason for ccache stats not using a shell wrapper. If I remember correctly the shell wrapper was added later only for some functions.

Another way to avoid the EOL problem would have been to compile the source of course.

I agree, this would be better. I simply do not find the time to do such improvements.


Crate fails to compile on Windows due to using P::display() on P: AsRef<Path>

I'm currently trying to upgrade from 0.11. 0.12 has some other error on Windows. I get this error with both 0.13 and 0.16:
   Compiling signatory v0.16.0
error[E0599]: no method named `display` found for type `P` in the current scope
  --> C:\Users\me\.cargo\registry\src\github.com-1ecc6299db9ec823\signatory-0.16.0\src\encoding\encode.rs:90:62
   |
90 |                 Some(&format!("couldn't create {}: {}", path.display(), e)),
   |                                                              ^^^^^^^

error[E0599]: no method named `display` found for type `P` in the current scope
   --> C:\Users\me\.cargo\registry\src\github.com-1ecc6299db9ec823\signatory-0.16.0\src\encoding\pkcs8.rs:101:62
    |
101 |                 Some(&format!("couldn't create {}: {}", path.display(), e)),
    |                                                              ^^^^^^^

error: aborting due to 2 previous errors

For more information about this error, try `rustc --explain E0599`.
error: Could not compile `signatory`.
warning: build failed, waiting for other jobs to finish...
error: build failed
PS C:\Users\me\Documents\dev\rust\ire> rustc --version
rustc 1.38.0 (625451e37 2019-09-23)

0.12, 0.13, and 0.16 all compile fine on Ubuntu under WSL.

I don't immediately see an obvious reason for this. The failing code in question is compiled for #[cfg(all(not(unix), feature = "std"))], but the corresponding #[cfg(all(unix, feature = "std"))] code has an equivalent formatting call with the same type bounds, and it compiles fine. I don't see any Unix-specific logic in the implementation of Path::display().

This line is what's making the unix impl work:
https://github.com/tendermint/signatory/blob/develop/src/encoding/encode.rs#L59
It's missing from the other one. Unfortunately we have no Windows CI at the moment 😢


Connect Identity Server 4 with Asp.net MVC5 ,WebForms and Web Api

Currently I am working a project that needs to integrate SSO. They are having multiple clients with different frameworks.It would be very helpful if you can share some samples for the same.

we have several: https://identityserver4.readthedocs.io/en/release/quickstarts/0_overview.html

Thanks for the quick response.
I am planning to run identity server 4 Authentication.So is it possible to use the same client code in identity server 3 example?(Please look it this link https://github.com/IdentityServer/IdentityServer3.Samples/blob/master/source/Clients/WebFormsClient/Startup.cs)
Also in future is there is any plan to add client which is written in java or php?

It's all protocol, so you can use the katana client stack to connect to IdentityServer4.
As for java or php -- see the OIDC home page for links to those other stacks.


grabber pixiv

why is there the option to download pixiv images when this option never works?
not only in imgbrd-grabber but in several other similar programs

try to use pixiv_auth (python util) to extract Access key an Refresh key.
you should insert only access key, leave refresh key empty, filling refresh token will crash grabber.

I'm not sure I understand the question, but as long as you're able to get the auth tokens (either directly in Grabber via  the PKCE OAuth mode or another program), Pixiv should work fine.

either directly in Grabber via the PKCE OAuth mode
for some reasons this doesn't work, I have to use another ways to get access keys.


Great

Does this issue occur when all extensions are disabled?:


Q integration: Need logout link

This will be fixed after the next Q PR. @gregelin

@aschmoe within Q, the log out link takes you to plugin.govready.com. Could you change the return-to param in the auth0 logout url to the current url (window.location?) instead of hardcoding it?


Data Upload Template -  Filter is not working correctly

Describe the bug

when we enter some value in name textbox and if we add some space then result is not showing

https://www.berrycast.com/conversations/d2ceecfd-bbd7-5941-b538-e7bb776d07d7


feat: Add dist support for packaging

Related to #64.
This PR is going to add support for generating the dist for both rpm and deb artifacts. It's well noted that the difference of artifacts is only determined by the building phase in different OS distributions. The implementation is to automatically determine the dist according to the container OS distribution (by image_base and image_tag) during the building phase. Please see https://github.com/api7/apisix-build-tools/pull/67#issuecomment-896536098 for details.
Once this PR is merged, the CI scripts in several repositories should be also updated accordingly. And then we could add more CI cases to generate rpm/deb to support many other OS distributions.
Signed-off-by: imjoey<EMAIL_ADDRESS>

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

After some digs, I find that fpm does not automatically add --deb-dist value to the name of deb file. Also, there seems no conventional way to show the dist value for deb file. So the first new commit reverts the deb filename at testing stage.
In addition, the second new commit sets the dist mandatory only for apisix, which could keep the CI jobs of apisix-dashboard and apisix-openresty successful.
@EnableAsync PTAL at your free time. Thanks.

After some digs, I find that fpm does not automatically add --deb-dist value to the name of deb file. Also, there seems no conventional way to show the dist value for deb file. So the first new commit reverts the deb filename at testing stage.
In addition, the second new commit sets the dist mandatory only for apisix, which could keep the CI jobs of apisix-dashboard and apisix-openresty successful.
@EnableAsync PTAL at your free time. Thanks.

You are right, fpm only adds dist tag to the rpm file name, maybe we can consider renaming it in our own way after packaging?
IMO, we can can rename it via docker cp in makefile. For example:
docker cp output:/output/apisix_2.2-0_amd64.deb $PWD/output/$(name)_$(version)-$(iteration)~$(dist)_$(arch).deb

What do you think of this idea? @imjoey @spacewander

You are right, fpm only adds dist tag to the rpm file name, maybe we can consider renaming it in our own way after packaging?
IMO, we can rename it via docker cp or add a new function for renaming in makefile. For example:
docker cp output:/output/apisix_2.2-0_amd64.deb $PWD/output/$(name)_$(version)-$(iteration)~$(dist)_$(arch).deb

What do you think of this idea? @imjoey @spacewander

@EnableAsync hey bro, I just find that we can have fine-grained control on the filename via the -p flag of fpm command. For example, if we use fpm -s dir -t deb -n jenkins -v 2.305 --iteration 1 -p ./output/jenkins_2.305-2~focal1_amd64.deb jenkins.war, then the deb file named jenkins_2.305-2~focal1_amd64.deb will be generated under ./output directory. So the problem could be resolved via composing the filename with the variables, instead of depending on the --deb-dist or --rpm-dist flags. What do you think?

You are right, fpm only adds dist tag to the rpm file name, maybe we can consider renaming it in our own way after packaging?
IMO, we can rename it via docker cp or add a new function for renaming in makefile. For example:
docker cp output:/output/apisix_2.2-0_amd64.deb $PWD/output/$(name)_$(version)-$(iteration)~$(dist)_$(arch).deb

What do you think of this idea? @imjoey @spacewander

@EnableAsync hey bro, I just find that we can have fine-grained control on the filename via the -p flag of fpm command. For example, if we use fpm -s dir -t deb -n jenkins -v 2.305 --iteration 1 -p ./output/jenkins_2.305-2~focal1_amd64.deb jenkins.war, then the deb file named jenkins_2.305-2~focal1_amd64.deb will be generated under ./output directory. So the problem could be resolved via composing the filename with the variables, instead of depending on the --deb-dist or --rpm-dist flags. What do you think?

I think it's a great idea. 👍

@EnableAsync
Hi, another idea bumped into my mind this morning. Since users could specify the image_base and image_tag parameters while building and packaging. Why not determine the dist according to the OS distribution type of building container?
Furthermore, previous solution has a bug that if users run make package type=rpm app=apisix version=2.2 checkout=2.2 dist=el8, the apisix-2.2-1.el8.rpm is actually generated within the default centos:7 container. So we should avoid users inputting the dist manually.
So I just refactor the code with a branch new force-push commit, doing the following changes:

Add a new script determine-dist.sh under ./utils, which can tell what the dist is by image_base and image_tag and write it into /tmp/dist.
During the packaging phrase, the /tmp/dist is copied from building container to the packaging container, and then pass it as an argument to the fpm command.
After fpm command, do the renaming if it's a deb artifact.

IMHO, this solution would keep the changes rather simple and intuitive. ping @EnableAsync for reviewing. Thanks.

BTW, due to my poor network, I can hardly do the local testing related to this PR, so may I take use of the official CI for testing? Really sorry for this. Thanks.

@EnableAsync
Hi, another idea bumped into my mind this morning. Since users could specify the image_base and image_tag parameters while building and packaging. Why not determine the dist according to the OS distribution type of building container?
Furthermore, previous solution has a bug that if users run make package type=rpm app=apisix version=2.2 checkout=2.2 dist=el8, the apisix-2.2-1.el8.rpm is actually generated within the default centos:7 container. So we should avoid users inputting the dist manually.
So I just refactor the code with a branch new force-push commit, doing the following changes:
* Add a new script `determine-dist.sh` under `./utils`, which can tell what the `dist` is by `image_base` and `image_tag` and write it into `/tmp/dist`.

* During the packaging phase, the `/tmp/dist` is copied from building container to the packaging container, and then pass it as an argument to the `fpm` command.

* After `fpm` command, do the renaming if it's a deb artifact.

IMHO, this solution would keep the changes rather simple and intuitive. ping @EnableAsync for reviewing. Thanks.

BTW, due to my poor network, I can hardly do the local testing related to this PR, so may I take use of the official CI for testing? Really sorry for this. Thanks.

Take it easy, it's not your fault.
In order not to wait for approval every time, you can create a new branch and modify the workflow file in your own repo to run the github action locally.
Like this: https://github.com/EnableAsync/apisix-build-tools/blob/imjoey/fpm_support_rpm_dist/.github/workflows/package-apisix-deb-focal1.yml#L5
Further, you can debug using tmate on your own branch which allows you to interact with Github Action.
Link: https://github.com/mxschmitt/action-tmate

Take it easy, it's not your fault.
In order not to wait for approval every time, you can create a new branch and modify the workflow file in your own repo to run the github action locally.
Like this: https://github.com/EnableAsync/apisix-build-tools/blob/imjoey/fpm_support_rpm_dist/.github/workflows/package-apisix-deb-focal1.yml#L5
Further, you can debug using tmate on your own branch which allows you to interact with Github Action.
Link: https://github.com/mxschmitt/action-tmate

@EnableAsync  I will try and very much appreciated your kind help. 😄

Fails when I execute make package type=deb app=apisix version=2.2 checkout=2.2, and centos image is pulled by default. For deb, do we must add image_base and image_tag ?

Fails when I execute make package type=deb app=apisix version=2.2 checkout=2.2, and centos image is pulled by default. For deb, do we must add image_base and image_tag ?

@EnableAsync not really. It's a bug and we should provide defaults images for deb. I will make a change.

Fails when I execute make package type=deb app=apisix version=2.2 checkout=2.2, and centos image is pulled by default. For deb, do we must add image_base and image_tag ?

@EnableAsync not really. It's a bug and we should provide defaults images for deb. I will make a change.

@EnableAsync  Hi, PR updated and the default image for deb is ubuntu:focal. I also add two CIs with el8 for rpm and default for deb to checks.  It's ready for review. Much appreicated. 😄

LGTM.
@spacewander Please take a look.

Also, ping @Yiyiyimu @membphis @nic-chen for reviewing. Thanks.


How to delete assets from GameObject Viewer?

**I'm trying to modify a mod. It contains multiple animators. It seems that I need to delete assets one by one. How can I remove a whole object tree? I just want the one highlighted, p_cf_top_wedding, and delete other animators.

**
**Sorry for my poor description. I've no idea about the terms. **

There is no "delete gameobject" feature, but if it works for you, you can open the gameobject reference in the transform and set m_IsActive to false to disable it. While you can delete assets, you would need to make sure all references are accounted for, something uabea doesn't support doing for you.


send to unreal give me error ImportError: attempted relative import with no known parent package

In the description paste in and edit the following:

Addon:  Send to Unreal
Steps to Reproduce the Problem:  I clicked Pipeline > Export > Push assets
Error Log: Paste the full error log

OS:  Windows
Addon Version: Send to Unreal 2.4.8
Blender Version: Blender 4.2
Unreal Version: Unreal 5.4.3

I experienced the EXACT same thing.  Everything above is exactly the same for me.
Screen shots, versions, Steps to produce etc.

I was able to replicate this issue by installing the plugin fresh, both from the 2.4.8 zip on the release page and current committed version. A co-worker of mine is experiencing the same issue. If you already have a working plugin, reproduction requires existing plugin version to be completely uninstalled.
Additionally, running the Pipeline > Utilities > Start RPC Servers command also warranted the same error with the exact same stacktrace as Pipeline > Export > Push assets because it's failing while establishing the connection, before it ever has a chance to hit the Push Asset-specific logic
I have found a way to "fix" this is:

First, install the original Epic Games version of the Send2UE plugin.
Run the Push Assets command (it throws the global Regex error).
Disable the Epic Games version.
Install the Poly Hammer version (note the reduced number of reported policy violations).
Now running Push Assets is successful.

It seems to be something to do with the restructuring of how the package imports it's dependencies, but I'm not sure what the fix would be at this time.
Hope this helps!


Program abort when trying to select a branch in Clone Action

When a Clone action is triggered and the user selects an action in the popup that requires authentication, abapGit aborts processing with an error message:

The reason is that abapGit tries to bring up the popup for the user authentication (user/password) in lcl_password_dialog=>popup with a selection screen, while in a modal dialog box (the POPUP_GET_VALUES_USER_BUTTONS function module with the repository request). This is not allowed.
Normally I would probably just move the user dialog to a separate function module to get a second modal dialog to be called from the first, but that would not be compatible with the "easy installation" target of abapGit. So before I do a pull request that is going to be rejected anyhow, I am just reporting it for now.

yeah, also see https://github.com/larshp/abapGit/issues/658

Any reason why you don't simply replace the password dialog with a modal dialog?
Example:
    DATA: st_sval    TYPE sval,
          lt_sval    TYPE STANDARD TABLE OF sval
                       WITH DEFAULT KEY,
          returncode TYPE c LENGTH 1.

    CLEAR: st_sval.
    st_sval-tabname    = 'ETS_HTTP_DEST_INFO'.
    st_sval-fieldname  = 'SERVER'.
    st_sval-field_attr = '03'.
    st_sval-fieldtext  = s_url.
    st_sval-value      = iv_repo_url.
    INSERT st_sval INTO TABLE lt_sval.
    CLEAR: st_sval.
    st_sval-tabname   = 'ETS_HTTP_DEST_INFO'.
    st_sval-fieldname = 'PROXY_USER'.
    st_sval-field_obl = 'X'.
    st_sval-fieldtext = s_user.
    st_sval-value     = cv_user.
    INSERT st_sval INTO TABLE lt_sval.
    CLEAR: st_sval.
    st_sval-tabname   = 'ETS_HTTP_DEST_INFO'.
    st_sval-fieldname = 'PASSWORD'.
    st_sval-field_obl = 'X'.
    st_sval-fieldtext = s_pass.
    INSERT st_sval INTO TABLE lt_sval.

    CALL FUNCTION 'POPUP_GET_VALUES'
      EXPORTING
        no_value_check = 'X'
        popup_title    = s_title
      IMPORTING
        returncode     = returncode
      TABLES
        fields         = lt_sval
      EXCEPTIONS
        OTHERS         = 1.

    IF sy-subrc <> 0 OR returncode = 'A'.
      CLEAR: cv_user, cv_pass.
    ELSE.

      LOOP AT lt_sval INTO st_sval.
        CASE st_sval-fieldname.
          WHEN 'PROXY_USER'.
            cv_user = st_sval-value.
          WHEN 'PASSWORD'.
            cv_pass = st_sval-value.
        ENDCASE.
      ENDLOOP.

    ENDIF.```

I've added it to my local ZABAPGIT and it works fine.
I even used a coding style and a structure that works at least down to ECC 6.0 EhP4 (Can't check lower versions at the moment since our test systems with EhP 0 and 2 are currently down).

I can issue a pull request if needed.

Does the above also hide the password?

Good point. It does not.
Next alternative would be to call the selection screen in a separate roll area.
Not as elegant as a function module call, but with the same effect.
I've implemented it on my end and works as well. And this time its hiding the password.
Basically it calls ZABAPGIT again with a SUBMIT and adds some code to detect the special "call mode" (i.e. that it should do nothing more than call the dialog and export the values to memory).
If you want I can stage the changes for a pull request.

hmm
abapGit uses HTML pages for most of the GUI, so ideally I would suggest making a HTML page instead of the popup, however it requires some effort in the way pages(lcl_gui_page) are handled in abapGit

Sound logical. But that would also mean that you have to replace the POPUP_GET_VALUES_USER_BUTTONS
function module, because that probably won't allow you to bring up any kind of screen that is not another mode window (i.e. modal dialog).
I've only started to look at abapGit and my HTML is a little rusty, so I don't think I would be able to redo the whole page handling at this point.
So for now I will stick with the popup workaround solution, which avoids the program abort for the tie being. Sometime a workaround is good enough until there is time to do it right :-)
Just let me know if at any point I should create a pull request for the workaround. Otherwise I'll just keep it local, so it doesn't clutter the repository.


Bump ruTorrent to v5.0 stable

https://github.com/Novik/ruTorrent/commit/664a83f228d5184d7130cb854e08598fac4b1ce5
https://github.com/Novik/ruTorrent/releases/tag/v5.0.0

@crazy-max PR #397 is good to go.
I would recommend closing this PR in favour of ruTorrent v5.1 releasing in 2 weeks. Here is our roadmap for development https://github.com/Novik/ruTorrent/discussions/2740 We are dropping support for ruTorrent v5.0. We choose to include all our hotfixes in one big minor release, with a couple critical feature improvements to accelerate development.


Set the touchAction property to "none" cause disrupt default scroll behavior on mobile

I have a grid of elements that almost fills the entire screen, leaving only a small gap. I noticed that the library had applied touch-action: none, which prevents swiping to scroll on Android devices or in the developer tools’ touch mode.
To elaborate, here’s what’s happening:

touch-action: none disables the default touch behaviors like scrolling, zooming, or swiping gestures.
This means any touch interaction (like dragging the grid or swiping) won’t function as expected.
This behavior prevents users from performing natural swipe actions on Android or when testing in browser developer tools with touch emulation enabled.

Code
data.node.el.setAttribute("role", "option");

data.node.el.setAttribute("aria-selected", "false");

data.node.el.style.touchAction = "none"; // Here

config.reapplyDragClasses(data.node.el, data.parent.data);

I am experiencing the same issue.
I have created an example to reproduce it.
Stackblitz

My research on this issue.
The touch-action CSS property sets how an element's region can be manipulated by a touchscreen user (for example, by zooming features built into the browser).
Source: MDN
For Pointer Events, there is no way to prevent the default behaviour of the browser on touch devices when interacting with a draggable element from the pointer event listeners. Using touch-action: none; is the only way to reliably prevent scrolling for pointer events.
If your draggable item is part of a scrollable list, we recommend you use a drag handle and set touch-action to none only for the drag handle so that the contents of the list can still be scrolled, but that initiating a drag from the drag handle does not scroll the page => The full block-size drag doesn't seem to work.
If  the above recommendations are not suitable for your use-case, we recommend that you use both the Mouse and Touch sensors instead, as Touch events do not suffer the same limitations as Pointer events, and it is possible to prevent the page from scrolling in touchmove events.
Once a pointerdown or touchstart event has been initiated, any changes to the touch-action value will be ignored. Programmatically changing the touch-action value for an element from auto to none after a pointer or touch event has been initiated will not result in the user agent aborting or suppressing any default behavior for that event for as long as that pointer is active (for more details, refer to the Pointer Events Level 2 Spec).
Source: DnD Kit


Current master doesn't boot on Pixhawk

Tried on different Pixhawks, I don't seem to find the error. beta and stable work.
Forced IO update, tried flashing from QGC and a clean build on my machine.
Maybe related to #2757
sercon: Registering CDC/ACM serial driver
sercon: Successfully registered the CDC/ACM serial driver
[i] microSD mounted: /fs/microsd
nshterm [6:70]
param: selected parameter default file /fs/mtd_params
[param] Loaded: /fs/mtd_params
[rgbled] on I2C bus 2 at 0x55 (bus: 100 KHz, max: 100 KHz)
 1:   SYS_USE_IO: match
 4010: + SYS_AUTOSTART: match
[i] Custom config: /fs/microsd/etc/config.txt
px4io: check CRC failed: -22: Invalid argument
[px4io] default PWM output device
[PX4IO] using firmware from /etc/extras/px4io-v2_default.bin
[PX4IO] found bootloader revision: 4
[PX4IO] erase...
[PX4IO] programming 47360 bytes...
[PX4IO] verify...
[PX4IO] update complete
px4io: CRCs match
dataman: Power on restart, data manager file '/fs/microsd/dataman' size is 101504 bytes
[i] UAVCAN_ENABLE is 0
[MS5611_SPI] on SPI bus 4 at 2 (11000 KHz)
ms5611: no device on bus 4
[MS5611_SPI] on SPI bus 1 at 3 (11000 KHz)
ms5611: no device on bus 1
ms5611: no device on bus 2
<adc> init done
ver hwcmp match: PX4FMU_V2
[HMC5883_I2C] on I2C bus 1 at 0x1e (bus: 100 KHz, max: 400 KHz)
hmc5883: no device on bus 1
mpu6000: driver start failed
[MPU6000] on SPI bus 1 at 4 (1000 KHz)
[L3GD20] on SPI bus 1 at 1 (11000 KHz)
[LSM303D] on SPI bus 1 at 2 (11000 KHz)
meas_airspeed: no MS4525 airspeed sensor connected
ets_airspeed: no ETS airspeed sensor connected
ets_airspeed: no ETS airspeed sensor connected
sensors_task: mag cal status changed
[px4io] default PWM output device
mavlink_if0: mode: 0, data rate: 1200 B/s on /dev/ttyS1 @ 57600B
ver hwcmp match: PX4FMU_V2
 921600: + SYS_COMPANION: match
mavlink_if1: mode: 2, data rate: 80000 B/s on /dev/ttyS2 @ 921600B
sdlog2: log buffer size: 12288 bytes
[i] MULTICOPTER
+ MAV_TYPE: unchanged
[px4io] mixer sent
[i] Mixer: /etc/mixers/quad_x.main.mix on /dev/pwm_output0
[i] Mixer: /fs/microsd/etc/mixers/gimbal.aux.mix on /dev/pwm_output1
 1:   INAV_ENABLED: match
param: Error: Parameter EKF_ATT_ENABLED not found.
attitude_estimator_q: started
[i] Addons script: /fs/microsd/etc/extras.txt
ver hwcmp match: PX4FMU_V2
px4flow [188:100]

NuttShell (NSH)
nsh> px4flow: scanning I2C buses for device..
mavlink_if1: Disabling hardware flow control
gps: module found: UBX
telem> settings autosaved
mavlink_if0: Disabling hardware flow control
position_estimator_inav: baro offset: 309 m

Symptoms:

IO B/E light blinks
main LED just lights up for a brief blink (red), then stays dark

Output from a more recent board:
sercon: Registering CDC/ACM serial driver
sercon: Successfully registered the CDC/ACM serial driver
[i] microSD mounted: /fs/microsd
nshterm [6:70]
param: selected parameter default file /fs/mtd_params
[param] Loaded: /fs/mtd_params
 0:   RC_MAP_YAW: match
+ RC_MAP_ROLL: unchanged
rgbled on I2C bus 2 at 0x55 (bus: 100 KHz, max: 100 KHz)
 1:   SYS_USE_IO: match
 4010: + SYS_AUTOSTART: match
[i] Custom config: /fs/microsd/etc/config.txt
px4io: CRCs match
dataman: Power on restart, data manager file '/fs/microsd/dataman' size is 101504 bytes
[i] UAVCAN_ENABLE is 0
MS5611_SPI on SPI bus 4 at 2 (11000 KHz)
ms5611: no device on bus 4
MS5611_SPI on SPI bus 1 at 3 (11000 KHz)
ms5611: no device on bus 1
ms5611: no device on bus 2
adc init done
ver hwcmp match: PX4FMU_V2
HMC5883_I2C on I2C bus 1 at 0x1e (bus: 100 KHz, max: 400 KHz)
hmc5883: no device on bus 1
mpu6000: driver start failed
MPU6000 on SPI bus 1 at 4 (1000 KHz)
L3GD20 on SPI bus 1 at 1 (11000 KHz)
LSM303D on SPI bus 1 at 2 (11000 KHz)
meas_airspeed: no MS4525 airspeed sensor connected
ets_airspeed: no ETS airspeed sensor connected
ets_airspeed: no ETS airspeed sensor connected
sensors_task: mag cal status changed
px4io default PWM output device
mavlink_if0: mode: 0, data rate: 1200 B/s on /dev/ttyS1 @ 57600B
ver hwcmp match: PX4FMU_V2
 921600: + SYS_COMPANION: match
mavlink_if1: mode: 2, data rate: 80000 B/s on /dev/ttyS2 @ 921600B
sdlog2: log buffer size: 12288 bytes
[i] MULTICOPTER
+ MAV_TYPE: unchanged
px4io mixer sent
[i] Mixer: /etc/mixers/quad_x.main.mix on /dev/pwm_output0
[i] Mixer: /fs/microsd/etc/mixers/gimbal.aux.mix on /dev/pwm_output1
 1:   INAV_ENABLED: match
param: Error: Parameter EKF_ATT_ENABLED not found.
[i] Addons script: /fs/microsd/etc/extras.txt
ver hwcmp match: PX4FMU_V2
px4flow [190:100]

NuttShell (NSH)
nsh> px4flow: scanning I2C buses for device..
mavlink_if1: Disabling hardware flow control
gps: module found: UBX
mavlink_if0: Disabling hardware flow control
position_estimator_inav: baro offset: 310 m

Try rebuilding the archives (or flash via QGC) and let us know what happens. If that doesn't help, disable the PX4flow start in the rcS (wild guess).

And I presume this was before your RC_MAP fix, as it looks wrong?
 0:   RC_MAP_YAW: match
+ RC_MAP_ROLL: unchanged

Yest that was a try before my fix. Also tried flashing from QGC already, same issue.
Disabled px4flow, same issue:
sercon: Registering CDC/ACM serial driver
sercon: Successfully registered the CDC/ACM serial driver
[i] microSD mounted: /fs/microsd
nshterm [6:70]
param: selected parameter default file /fs/mtd_params
[param] Loaded: /fs/mtd_params
 0:   RC_MAP_YAW: match
  RC_MAP_YAW: curr: 0 -> new: 4
rgbled on I2C bus 2 at 0x55 (bus: 100 KHz, max: 100 KHz)
 1:   SYS_USE_IO: match
 4010: + SYS_AUTOSTART: match
[i] Custom config: /fs/microsd/etc/config.txt
px4io: CRCs match
dataman: Power on restart, data manager file '/fs/microsd/dataman' size is 101504 bytes
[i] UAVCAN_ENABLE is 0
MS5611_SPI on SPI bus 4 at 2 (11000 KHz)
ms5611: no device on bus 4
MS5611_SPI on SPI bus 1 at 3 (11000 KHz)
ms5611: no device on bus 1
ms5611: no device on bus 2
adc init done
ver hwcmp match: PX4FMU_V2
HMC5883_I2C on I2C bus 1 at 0x1e (bus: 100 KHz, max: 400 KHz)
hmc5883: no device on bus 1
mpu6000: driver start failed
MPU6000 on SPI bus 1 at 4 (1000 KHz)
L3GD20 on SPI bus 1 at 1 (11000 KHz)
LSM303D on SPI bus 1 at 2 (11000 KHz)
meas_airspeed: no MS4525 airspeed sensor connected
ets_airspeed: no ETS airspeed sensor connected
ets_airspeed: no ETS airspeed sensor connected
sensors_task: mag cal status changed
px4io default PWM output device
mavlink_if0: mode: 0, data rate: 1200 B/s on /dev/ttyS1 @ 57600B
mavlink_if0: offboard mission init: ERROR
ver hwcmp match: PX4FMU_V2
 921600: + SYS_COMPANION: match
mavlink_if1: mode: 2, data rate: 80000 B/s on /dev/ttyS2 @ 921600B
sdlog2: log buffer size: 12288 bytes
[i] MULTICOPTER
+ MAV_TYPE: unchanged
px4io mixer sent
[i] Mixer: /etc/mixers/quad_x.main.mix on /dev/pwm_output0
[i] Mixer: /fs/microsd/etc/mixers/gimbal.aux.mix on /dev/pwm_output1
 1:   INAV_ENABLED: match
param: Error: Parameter EKF_ATT_ENABLED not found.
[i] Addons script: /fs/microsd/etc/extras.txt
ver hwcmp match: PX4FMU_V2

NuttShell (NSH)
nsh> mavlink_if1: Disabling hardware flow control
gps: module found: UBX
mavlink_if0: Disabling hardware flow control
position_estimator_inav: baro offset: 316 m

Seems 3a474347491236fcb32ac6b58fe7d0cf78564f3b broke it

@mcharleb The offending code piece is in fact this. There are two issues:

The argc logic didn't work
PX4_ERR does not print anything in NuttX

	if (argc > 0) {
		if (strcmp(argv[0],"-hil")==0) {
			startup_in_hil = true;
		} else {
			PX4_ERR("Argument %s not supported.",argv[0]);
			PX4_ERR("COMMANDER NOT STARTED");
			thread_should_exit = true;
			warnx("ERR");
		}
	}

@AndreasAntener I fixed this for good in 9ef9185. @mcharleb I've renamed this issue and kept it open so we can fix the remaining PX4_ERR call to print something on NuttX.

Fixed.


DomTokenList has no method "forEach"

TypeScript Version:  3.1.0-dev.20180726
Search Terms: DomTokenList forEach classList
Code
const body:HTMLElement = document.body;

body.classList.forEach((attr)=>{
	/* Some code */
);

Expected behavior:
File just Compiles wwithout generating an error according to https://developer.mozilla.org/de/docs/Web/API/DOMTokenList/forEach
Actual behavior:
client/main.ts:24:20 - error TS2339: Property 'forEach' does not exist on type 'DOMTokenList'.

24                      body.classList.forEach((attr)=>{
                                       ~~~~~~~

Playground Link:
https://www.typescriptlang.org/play/#src=.....
The file from where VS Code loads the DOMTokenList is: /usr/share/code/resources/app/extensions/node_modules/typescript/lib/lib.dom.d.ts

Should be fixed by https://github.com/Microsoft/TypeScript/pull/25944


adding thanks.dev as a tool

Pre-submission checklist:
Please check each of these after submitting your pull request:

[o] Are you only including a repo_url if your project is 100% open source? If so, you need to pick the single best GitHub repository for your project, not a GitHub organization.
[o] Have you picked the single best (existing) category for your project?
[o] If submitting a tool, is your project closed source or, if it is open source, does your project have at least 100 GitHub stars? - Closed Source
[o] Does it follow the other guidelines from the new entries section?
[o] Have you included a URL for your SVG or added it to hosted_logos and referenced it there?
[o] Does your logo clearly state the name of the project/product and follow the other logo guidelines?
[o] Does your project/product name match the text on the logo?
[o] Have you verified that the Crunchbase data for your organization is correct (including headquarters and LinkedIn)?
[o] ~10 minutes after opening the pull request, the CNCF-Bot will post the URL for your staging server. Have you confirmed that it looks good to you and then added a comment to the PR saying "LGTM"?

Also please update the github repo url, it should point to a single repo, not to the organization

@hsb1007 Hey Ben! The good news is that we fixed the first issue with the repo URL (it is needed to list a project repo, the app does not fetch data from an org repo). The not so good news is that another error came out in the deployment log (but it can be fixed!) 😄
Since the landscape pulls data from Crunchbase by default, it needs a headquarters address in the Crunchbase entry. I've requested edits and added Sydney as headquarters (please make the necessary edits if that's not the case). Once the data is updated in crunchbase, I will reload the deploy preview to see if it works 👍

Thank you so much, yes the git URL happy should be okay, which is work in progress!
We will have the crunchbase updated on our end, thank you for reviewing !

Hello @beneronka ! were you able to update your Crunchbase page?

@anajsana  thank yo, we have just updated crunchbase now!

Thank you for your help!

Thank you for approving it!


Update check fails sometimes

Once in a while update check stops working and I suspect it might be GitHub rate limit. Maybe we should cache for like a day or so the response or maybe cache when it was checked and skip checking entirely.
Additionally, we should print the error, when --debug flag has been specified here:
https://github.com/Bedrock-OSS/regolith/blob/main/main.go#L144

Added error printing in https://github.com/Bedrock-OSS/regolith/commit/a6caab30e4f2088aa8f59bc77fd21b615bd02e44

I finally got the error and this is the result:
[WARN]  Update check failed
[DEBUG] GET https://api.github.com/repos/Bedrock-OSS/regolith/releases/latest: 403 API rate limit exceeded for <ip>. (But here's the good news: Authenticated requests get a higher rate limit. Check out the documentation for more details.) [rate reset in 28m14s]

The good news is that it only happened after updating all dependencies on 0.0.7 (using the old github API method). While testing extensively with the new verion, I wasn't able to exceed rate limit (5k requests per hour).
I added a small commit, that fixes printing pointer instead of an actual error in https://github.com/Bedrock-OSS/regolith/commit/a966725bf2272938a560a8b2e262ce9585f095b8 and I'm marking this as closed.


Add schwarzschild metric to predefined tensors

🐞 Problem
Schwarzschild solution, the most commonly used metric in GR in not present in predefined metrics.
💡 Possible solutions

https://en.wikipedia.org/wiki/Schwarzschild_metric#The_Schwarzschild_metric
The metric can already be found in many jupyter examples/tests
Add a new file in einsteinpy/symbolic/predefined

📋  Steps to solve the problem

Comment below about what you've started working on.
Add, commit, push your changes
Submit a pull request and add this in comments - Addresses #<put issue number here>
Ask for a review in comments section of pull request
Celebrate your contribution to this project 🎉

I would like to take a look at this.

Hi @longdead-ai , sure go ahead!

There is already one function named SwarzschildMetric  defined at einsteinpy/tests/test_symbolic/test_vacuum_metrics.py but it returns only Metric Tensor of symbols. And one more file  at metric/swarzschild.py which can calculate trajectories corresponding to geodesics. What should be the functionalites of 'predefined/swarchzschild' @ritzvik ? Solving it in various coordinate systems?

Here we are talking about the symbolic module :)

There is already one function named SwarzschildMetric defined at einsteinpy/tests/test_symbolic/test_vacuum_metrics.py but it returns only Metric Tensor of symbols. And one more file at metric/swarzschild.py which can calculate trajectories corresponding to geodesics. What should be the functionalites of 'predefined/swarchzschild' @ritzvik ? Solving it in various coordinate systems?

@abhijeetmanhas As said by @shreyasbapat , this issue is regarding symbolic module. Kindly see the labels :)


created card component issue #74

Description
Created a CARD component for reuse.
Closes #74

@devvsakib error in prod

Fixed @FrancescoXX

love how it's becoming more consistent. you can open an issue that also the projects section should keep this style, if you want


Request persistent storage

Just an idea. But would be nice if users didn’t lose their high scores at the whim of the phone.

Good idea


Detailed documentation link is broken

Describe the bug
The link to read the detailed documentation from the README returns a 404 error

https://halcyon-tech.github.io/code-for-ibmi/#/
To Reproduce
Steps to reproduce the behavior:

Go to https://github.com/halcyon-tech/vscode-ibmi
Scroll down through the ReadMe and find the Detailed Documentation section
Click on "Detailed Documentation More detailed documentation is available here"
See error

Looks like this is related to renaming the repo. The new working link is: https://halcyon-tech.github.io/vscode-ibmi/#/

Thank you!

Going to keep this open until the readme and repo has been fixed today.


SQL formatting issue = >

Describe the bug
I am using PosrgreSQL server  and have query:
SELECT create_hypertable (     'test.test2',     'timestamp',     chunk_time_interval = > INTERVAL '1 day'   )
Symbol = > is formatted with space in the middle and it corrupts the query. How i can ignore that symbol formatting or configure it to format properly ?
it should be formatted
chunk_time_interval => INTERVAL '1 day'

Fixed in #995 which will be in the next release.


Define IDL instructions for the cpi guard extension

This PR manually updates the Codama IDL to support all instructions in the cpi guard extension. This allows helpers to be generated for the new web3.js..
This pull request was created for https://app.gib.work/bounties/5240fcb5-d39e-4d17-adb6-f5b45a03292d in an attempt to solve a bounty #21 . Payment for the bounty is immediately sent to the contributor after merge.

We've got some issues with the code formatting but otherwise this look good! 👌

We've got some issues with the code formatting but otherwise this look good! 👌

I am trying to run the command ppm run clients:js:format, but the format is still not getting fixed.

Thanks! @lorisleiva Re-ran the command pnpm run format:fix inside the js client and the format style should be fixed now.


Optimize configuration

The service ID is UpperCase, Let zuul.ignoredServices support uppercase.

@yi-ge Please sign the Contributor License Agreement!
Click here to manually synchronize the status of this Pull Request.
See the FAQ for frequently asked questions.

Can you describe what the problem is?  This code has worked like this for a while now

@rahmanusta The eureka default Application name is UpperCase.

@yi-ge Thank you for signing the Contributor License Agreement!

Codecov Report

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

@@             Coverage Diff             @@
##             master   #3296      +/-   ##
===========================================
- Coverage     65.36%   59.3%   -6.06%
+ Complexity     1487     894     -593
===========================================
  Files           188     135      -53
  Lines          7001    4706    -2295
  Branches        850     479     -371
===========================================
- Hits           4576    2791    -1785
+ Misses         2107    1736     -371
+ Partials        318     179     -139

Impacted Files
Coverage Δ
Complexity Δ

...cloud/netflix/turbine/SpringAggregatorFactory.java
58.13% <0%> (-2.33%)
5% <0%> (ø)

...k/cloud/netflix/eureka/EurekaClientConfigBean.java
29.43% <0%> (-0.67%)
45% <0%> (-2%)

...ud/netflix/zuul/ZuulServerMarkerConfiguration.java

...ud/netflix/zuul/filters/CompositeRouteLocator.java

...ul/filters/discovery/SimpleServiceRouteMapper.java

...filters/discovery/DiscoveryClientRouteLocator.java

...lters/route/okhttp/OkHttpRibbonCommandFactory.java

...l/filters/discovery/PatternServiceRouteMapper.java

.../netflix/zuul/filters/route/SendForwardFilter.java

...ework/cloud/netflix/sidecar/SidecarController.java

... and 45 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 1540329...7764287. Read the comment docs.


Update README.rst to list v5.0 Zenodo

Update Zenodo description and author list to the latest published version 5.0.

Thanks Michael


fix(alert): send alert groups as a notification

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

39 of 88 (44.32%)  changed or added relevant lines in 7 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage decreased (-0.3%) to 77.081%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

internal/store/postgres/alerts.go
4
5
80.0%

core/notification/service.go
0
2
0.0%

plugins/providers/cortex/alert.go
0
2
0.0%

plugins/providers/cortex/service.go
0
5
0.0%

core/template/mapper.go
14
29
48.28%

internal/api/v1beta1/alert.go
17
41
41.46%

Files with Coverage Reduction
New Missed Lines
%

internal/api/v1beta1/alert.go
1
71.31%

Totals

Change from base Build<PHONE_NUMBER>:
-0.3%

Covered Lines:
2936

Relevant Lines:
3809

💛  - Coveralls


Release artman 0.14.3

This should fix the failing googleapis build: https://circleci.com/gh/googleapis/artman/7527?utm_campaign=build-failed&utm_medium=email&utm_source=notification
Because it uses the latest version of toolkit with PR https://github.com/googleapis/gapic-generator/pull/2169

@alexander-fenster already updated gapic-generator in https://github.com/googleapis/artman/pull/481 ...

setup.py should also be updated.
Note: after #463 is merged, it will be just python3 update-versions.py 0.14.3.

PTAL


Add CCT-Tests-Unit to Test Coverage

Add 'CCT-Tests-Unit' to code coverage and also fix a failure of code coverage in post submits, which causes a test result not uploaded. 'Generate report' job will be skipped in post post submits.


[Question]: can you please confirm the proper way for variables to be sent using ants?

Questions with details
	ipAddrCopy := make([]byte, len(ipAddr.AsSlice()))
	copy(ipAddrCopy, ipAddr.AsSlice())
	ants.Submit(func() {
		cRedis.Do("PUBLISH", "b", "k"+cx.B2s(ipAddrCopy))
	})

is this ok? how do i ensure ipAddrSend is correctly send without the gc clearing the value?
i wanted to do this directly but i worried ipAddr will be nil if it's not created new. What's your suggestion?
        ants.Submit(func() {
                cRedis.Do("PUBLISH", "b", "k"+ipAddr.String())
        }

Code snippets (optional)
No response

is this ok? how do i ensure ipAddrSend is correctly send without the gc clearing the value?

What ipAddrSend? you meant ipAddrCopy? if so, it won't be released by GC before your task is done.

i wanted to do this directly but i worried ipAddr will be nil if it's not created new. What's your suggestion?

Can't you just check if ipAddr is nil before cRedis.Do?


Update README.md

when you checkout harbor, it checks it out to the harbor directory.

Pull Request Test Coverage Report for Build 7882

0 of 0   changed or added relevant lines in 0 files are covered.
3 unchanged lines in 2 files lost coverage.
Overall coverage decreased (-0.02%) to 63.941%

Files with Coverage Reduction
New Missed Lines
%

src/common/scheduler/scheduler.go
1
81.87%

src/jobservice/opm/redis_job_stats_mgr.go
2
79.95%

Totals

Change from base Build 7876:
-0.02%

Covered Lines:
11978

Relevant Lines:
18733

💛  - Coveralls


KeyPressed event not fired with Shift + Tab

On Linux, there is no KeyPressed event fired for 'Tab' when doing LShift (holding it), then Tab.
Instead, it fires an 'Unknown' value.
This might be due to the fact that the corresponding keysym is an XK_ISO_Left_Tab,
which is not yet handled by SFML.
See http://www.cl.cam.ac.uk/~mgk25/ucs/keysymdef.h
Status for other key combinations and on other platforms untested.

Well, just noticed that it is already discussed in #7.

So... do you think it's worth keeping this issue open? Like you said, it is a subset of what is already discussed in #7.


Fax machine can send entire books

Reproduction

Put a book into a fax machine
Hit send
A book appears out of the destination fax machine

part of me wants to just say its intended because its really funny

So, this is my fault; when faxing a paper I deliberately kept the style of the paper, so that players could distinguish between received documents, and a book is just a paper component with a different sprite.
I did note it when submitting #13494 and didn't think it was too bad. It's also kinda funny and can be chalked up to space fax machine magic (doubly-so on account of #13758.)
If people do want to fix it, I can put something simple in? Or maybe there's room to go down the "more complexity" route, by allowing books to consist of multiple pages and all the page-turning action that entails?

part of me wants to just say its intended because its really funny

I agree, only problem is that it allows you to infinitely duplicate books for free. If that's not a problem then I would want to keep this "feature" as well, because it is indeed pretty funny

Feature


Sequential models should let you add multiple layers at once

Describe the feature and the current behavior/state.
Right now, Sequential only allows you to add one layer at a time via add. If you want to add multiple layers, this leads to repetitive code:
model = Sequential()
model.add(LayerFoo())
model.add(LayerBar())
model.add(LayerBaz())

It would be nice if add allowed you to pass a list or a variadic number of arguments, which would reduce the above code to
...
model.add(LayerFoo(), LayerBar(), LayerBaz())

which is less repetitive. The proposed solution is to change add to something like
def add(self, *layers):
  for layer in layers:
    # Rest of current implementation...

Alternatively something like
def add(self, layer_or_layers):
  if is_sequential_container(layer_or_layers):
    for layer in layer_or_layers:
      self._add_layer(layer):
    return
  else:
    self._add_layer(layer_or_layers)

def _add_layer(self, layer):
  # Current implementation...

Will this change the current api? How?
Yes, but in a backward-compatible way.
Contributing

Do you want to contribute a PR? (yes/no): yes
If yes, please read this page for instructions
Briefly describe your candidate solution (if contributing): See above

Hi,
Keras already supports a similar feature where you can pass multiple layers to a Sequential(...) in a list. For example
model = Sequential([LayerFoo(), LayerBar(), LayerBaz()])

Here is the toy example to the above comment.
initial_model = keras.Sequential(
    [
        keras.Input(shape=(250, 250, 3)),
        layers.Conv2D(32, 5, strides=2, activation="relu"),
        layers.Conv2D(32, 3, activation="relu"),
        layers.Conv2D(32, 3, activation="relu"),
    ]
)

For more details refer the document here. Thanks!

Thanks for the response and examples! However, I think my explanation issue wasn't clear.
I understand that there can be multiple layers added to a Sequential model at construction time, but, since some Sequential models have layers added after their initial construction, I was thinking of adding the capability to add multiple layers in one add call after construction time.

@DCtheTall To use one add, it can be done with as follows. Almost same thing you proposed above.
model = Sequential()
for layer in [LayerFoo(), LayerBar(), LayerBaz()]:
    model.add(layer)

@DCtheTall
Adding to what @innat suggested, which is a great pythonic way BTW, you can also create function which has layers staked in them like a resnet block or vgg block and call the function.
Or a more intuitive way is to create a lambda layer.

Thanks, this was more of a question about API shape than the capability to do this at all. But if it's not something the owners of this library are interested in that's ok with me.

@DCtheTall
Did you mean this?
current
model = keras.Sequential()

for dim in [1, 2, 3, 4, 5, 6]:
    blocks = [
        keras.layers.Dense(dim),
        keras.layers.Dense(dim * 2)
    ]

    for block in blocks:
        model.add(block)

model.build((None, 16))
> OK

should also

model = keras.Sequential()

for dim in [1, 2, 3, 4, 5, 6]:
    model.add(
        [
            keras.layers.Dense(dim),
            keras.layers.Dense(dim * 2)
        ]
    )
model.build((None, 16))

> TypeError: ...


New rule proposal: SafeCallOnNullableTypeInTest

Expected Behavior of the rule
Detect usage of ?. in a test that could lead to the test doing nothing at all.
In this example, if myFixture.someData is null here, the test just passes and does nothing because of the ?.!
@Test
fun myTest(){
    val whevs = myFixture.someData?.somefield
    whevs?.let{
          val result = doSomething(whevs)

          assertStuff(result)
    }
}

In test code, !! would be preferred as it will fail the test if the data is null.
@Test
fun myTest(){
    val whevs = myFixture.someData!!.somefield
    whevs.let{
          val result = doSomething(whevs)

          assertStuff(result)
    }
}

Context
Generally, !!/requireNotNull/checkNotNull are preferred in tests over ?./if(foo != null) etc., although even better to have none of those in a test.
UnsafeCallOnNullableType could be giving the wrong advice when applied to test code.

Detect usage of ?. in a test that could lead to the test doing nothing at all.

I think the root cause is that you're having an assert* method inside a conditional environment. ?.let is just one occurrence of it, but using if(... != null) would have the same semantic.

As cortinico said this is more related with the conditionals. We know how to measure the McCabe's Cyclomatic Complexity of any method. We could mix this and ensure that any test have a complexity of 1 (or 0, I don't know the base).
The problem that I see here is that this is framework dependant. It would work in a different way in Junit and Spek. And usually we don't want to implement that in our default rules.
I think that we can't include that as a rule but we should provide all the needed pieces to implemet it. Now that you talked about this rule I want it in my projects too.

Yes and you can't be sure that assert* actually asserts the program context.
Furthermore, there are many test frameworks available that work differently.

?., if(... != null), ?: are all probably smells in test code because they could cause a test to pass because of a null somewhere, when it should fail.
in tests, it is better to fail in the face of null, rather than risk silently passing.
You could apply this rule to all source code in test source sets to avoid having to deal with specific test frameworks.
You don't need to analysis assert either, ?., if(... != null), ?:  anywhere in /test is a smell and should require some explanation/suppression.

?., if(... != null), ?: are all probably smells in test code because they could cause a test to pass because of a null somewhere, when it should fail.
in tests, it is better to fail in the face of null, rather than risk silently passing.
You could apply this rule to all source code in test source sets to avoid having to deal with specific test frameworks.
You don't need to analysis assert either, ?., if(... != null), ?:  anywhere in /test is a smell and should require some explanation/suppression.

either, ?., if(... != null), ?: anywhere in /test

I think this is too broad to make a rule out of it.
assertEquals(42, myApi.getAnswer()?.getValue())

is a legit test code to me.

either, ?., if(... != null), ?: anywhere in /test

I think this is too broad to make a rule out of it.
assertEquals(42, myApi.getAnswer()?.getValue())

is a legit test code to me.

I think this is too broad to make a rule out of it.

Agreed. It's probably better to go the custom rule way for Michael. You know the special cases of your repo best. The rule is too broad for general use in detekt. Detekt tries to include rules that are relevant for the majority of users. Because of that, we shall close this issue then.

I think this is too broad to make a rule out of it.

Agreed. It's probably better to go the custom rule way for Michael. You know the special cases of your repo best. The rule is too broad for general use in detekt. Detekt tries to include rules that are relevant for the majority of users. Because of that, we shall close this issue then.