Update the device and device-dynamic

Updated the device and device-dynamic, also added the actuatorInfo and powerPlugged into the device-dynamic

@cjdcordeiro @sstanovnik I have already updated the CIMI resources and also modified my code. The latest docker-image of the resource-categorization is latest-V2.0.8....so you can start testing with that.

@ssgUPC this might be slightly off-topic in this PR, but do you have any documentation on how to use resource categorisation? I can't seem to find any code on github.
I've looked at what's in the docker image and I assume I need to POSt to the categorizer directly on /api/v1/resource-management/categorization/sensors in order to set sensor information, which will then get pushed to dataclay, and thus be available in CIMI, right? I also assume the format is identical to the one in device-dynamic.

I assume I need to POSt to the categorizer directly on /api/v1/resource-management/categorization/sensors

I hope not. If you need to edit the device-dynamic, can't you talk with cimi?

The categorisation does talk with CIMI, this is only to enable end-to-end testing: because the categorisation can't identify sensors yet, I need a way to force set them, thus that specific call. I just need a step up from mocking my device-dynamic calls.

sure, so you can just ask cimi to edit them...why do we need yet another proxy? If your data is not going to be processed, just proxied, then speak with CIMI

It's only because I'd like to use the categorisation module. A "better" way might be to use environment variables to mock what sensors are recognised, but it's an HTTP endpoint instead.
@ssgUPC an environment variable would be nice, and it would lend itself well to being used in the agent setup script/dcompose files. I'd open an issue in the categorisation repository, but there doesn't seem to be one here.

tests are failing

FAIL in (check-device-resource-schema) (device_dynamic_test.cljc:45)
expected: (s/valid? :cimi/device-dynamic device-dynamic-resource)
  actual: (not (s/valid? :cimi/device-dynamic {:wifiAddress "[snic(family=<AddressFamily.AF_INET: 2>, address='<IP_ADDRESS>', netmask='<IP_ADDRESS>', broadcast='<IP_ADDRESS>', ptp=None), snic(family=<AddressFamily.AF_INET6: 10>, address='fe80::fe39:ed60:dff6:db85%wlp3s0', netmask='ffff:ffff:ffff:ffff::', broadcast=None, ptp=None), snic(family=<AddressFamily.AF_PACKET: 17>, address='d4:6a:6a:9a:6b:87', netmask=None, broadcast='ff:ff:ff:ff:ff:ff', ptp=None)]", :ramFree 5225.359375, :ethernetAddress "[snic(family=<AddressFamily.AF_PACKET: 17>, address='50:9a:4c:cf:f4:b9', netmask=None, broadcast='ff:ff:ff:ff:ff:ff', ptp=None)]", :updated "1964-08-25T10:00:00.0Z", :created "1964-08-25T10:00:00.0Z", :sensors [{:sensorType "mytype", :sensorModel "mymodel", :sensorConnection "myconn"}], :storageFreePercent 95.1, :wifiThroughputInfo ["21689997" "950419307" "150482" "663270" "0" "0" "0" "0"], :myLeaderID {:href "device/889345efdet"}, :id "device-dynamic/device-dynamic-resource", :ethernetThroughputInfo ["0" "0" "0" "0" "0" "0" "0" "0"], :powerRemainingStatus "97.42316050915865", :cpuFreePercent 50.4, :acl {:owner {:principal "ADMIN", :type "ROLE"}, :rules [{:principal "ADMIN", :type "ROLE", :right "MODIFY"}]}, :resourceURI "http://schemas.dmtf.org/cimi/2/DeviceDynamic", :device {:href "device/142165441eewe"}, :ramFreePercent 66.4, :powerRemainingStatusSeconds "10557", :storageFree<PHONE_NUMBER>625}))```

Dear, is there still missing anything in the device-dynamic actually, I also added the actuatorInfo and powerPlugged in the device-dynamic. But sorry to say that dear, I don't understand why it is failing

It's only because I'd like to use the categorisation module. A "better" way might be to use environment variables to mock what sensors are recognised, but it's an HTTP endpoint instead.
@ssgUPC an environment variable would be nice, and it would lend itself well to being used in the agent setup script/dcompose files. I'd open an issue in the categorisation repository, but there doesn't seem to be one here.

@sstanovnik thanks for your suggestion dear, let me think about it once because still, I don't know how to pass the sensor information to my categorization module...you remember during the last conversation, I asked you about the way of having sensor metadata...so, I thought that I need to provide with sketch, which could be executed on Arduino...in order to just pass the sensor information ....that's why I opened an URL...but dear, please let me think about it once....

it's still failing. please compile it in your machine to see what the error is

Just one question the error is coming from the device-dynamic or device schema?


VEC-413 build asvec in a docker container

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

Project coverage is 86.92%. Comparing base (9b7a2c1) to head (0d1b258).

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #21   +/-   ##
=======================================
  Coverage   86.92%   86.92%
=======================================
  Files          42       42
  Lines        2938     2938
=======================================
  Hits         2554     2554
  Misses        291      291
  Partials       93       93

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

🚨 Try these New Features:

Flaky Tests Detection - Detect and resolve failed and flaky tests


MM-39054 patch Android react-native-file-viewer

Summary
this PR patches react-native-file-viewer for Android as it was failing to extract the extension for file paths that include spaces in the filename using android.webkit.MimeTypeMap which is an android library, if by using that method the library fails to extract the extension we then use a method that gets the extension by splitting the filename in the last dot.
The patch also excludes the store suggestions as we never make use of it.
Ticket Link
https://mattermost.atlassian.net/browse/MM-39054
Release Note
NONE

Building app in separate branch.

Successfully building:
https://circleci.com/gh/mattermost/mattermost-mobile/18292
https://circleci.com/gh/mattermost/mattermost-mobile/18291


Update vmware-srm.md

https://docs.vmware.com/en/Site-Recovery-Manager/8.8/rn/vmware-site-recovery-manager-8803-release-notes/index.html

Thanks @ziceck!


Use CC build crate for building Rust bindings.

CC build crate allows to pass custom cndp install path when building Rust bindings. Meson doesn't allow to read CNDP_INSTALL_PATH env variable.
Signed-off-by: Manoj Gopalakrishnan<EMAIL_ADDRESS>

Does it really need to be an environment variable?
If you have existing code handling that environment variable and calling Meson, can't you just set that up as $PKG_CONFIG_PATH?
I guess it's also possible to just add a meson_options.txt option such that "-Dcndp_install_path={}", cndp_install_path can be passed to Meson.

Does it really need to be an environment variable?
If you have existing code handling that environment variable and calling Meson, can't you just set that up as $PKG_CONFIG_PATH?
I guess it's also possible to just add a meson_options.txt option such that "-Dcndp_install_path={}", cndp_install_path can be passed to Meson.

Existing build.rs was using Rust Meson crate. But Meson crate doesn't allow to pass any user defined arguments or build context (other than project,  build output directory). Rust CC crate allows to pass the include directory as an argument to build context. So it was easier to build c source file in CNDP Rust bindings code by passing custom include path, using CC crate than Meson crate.

I would say that the crate itself is flawed and should be fixed, but apparently the author of that crate has only ever interacted with github once, to create a single repository with one commit and release that as meson-1.0.0 on crates.io
It seems likely you can do a lot better.
Maybe the Meson crate should be forked and improved, and released as a new, better project?

I would say that the crate itself is flawed and should be fixed, but apparently the author of that crate has only ever interacted with github once, to create a single repository with one commit and release that as meson-1.0.0 on crates.io
It seems likely you can do a lot better.
Maybe the Meson crate should be forked and improved, and released as a new, better project?

Yes. This Rust Meson crate is probably not maintained anymore. I couldn't find the corresponding source code repository for this. The existing source looks very simple which invokes meson/ninja command. Do you know if there are any alternate Rust crates for Meson or anything under works ? Modifying existing Rust meson crate is not in scope of this PR. Do you have any concerns in using Rust CC crate for CNDP Rust bindings ? If not, could we merge this PR and revisit using meson later ?


Add Retraction entity

With DiasporaRetraction counterpart.
Closes #8

Current coverage is 90.17% (diff: 100%)

Merging #55 into master will increase coverage by 0.33%

@@             master        #55   diff @@
==========================================
  Files            14         14
  Lines           798        835    +37
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits            717        753    +36
- Misses           81         82     +1
  Partials          0          0

Powered by Codecov. Last update 42fce24...c7b7419


PAPILIO-43-business-account

General info

Issue number: PAPILIO-43
Task description:

Add basic component and features
Build create business form
Build create root admin form
Build create employee form

Testing
to run the test:
npm i && npm test

Test coverage:
the coverage is

Additional notes
Note to reviewers:

If you need any help, send me a message
To do before merging:

We could squash all the commit into 1 for the main branch

Everything looks good! UI looks good and most of the tests are passing on my end.
Job well done, @p-carrier !


Transaction retry guidance and error reference

In https://github.com/cockroachdb/docs/issues/4331 we identified a need to add guidance around transaction retries. Unfortunately, this is insufficient. We need to be able to list all of the major transaction retry types as well as likely causes and most importantly, what to do about these errors.
Recently this came up for a customer in https://github.com/cockroachlabs/support/issues/334. We need a thorough audit of this information.

[ ] ReadWithinUncertaintyIntervalError
[ ]  Write Too Old
[ ]  Forwarded timestamp (delete range)
[ ]  Forwarded timestamp (iso=serializable)
[ ]  Possible replay
[ ]  Aynsc consensus failure
[ ]  Transaction aborted error
[ ]  Transaction push error (may not be possible)
[ ]  TransactionRetryWithProtoRefreshError

And so on

In addition to reference docs on the error types, we should also show the user where to look in the admin UI to get the list of KV Transaction Restarts (from Metrics > Dashboard: Distributed), which could help when troubleshooting.
(Caveat: I did a quick search for Admin UI docs on the above but did not find, so those may also need updating.)

@awoods187 I'd like to bump this ticket. An app team that is quite sophisticated is running into problems with contention, they've read the retry docs, and still keep bumping up against different errors that get returned to them. They are reasonably fine grokking that serializability errors can occur, but without any documentation as to why or what happened, the best they can do is come to the CockroachDB team (a/k/a/ me).

@jseldess, @rmloveland: I'll echo the same. I see it's labelled P-1. Are we expecting to have this done by 20.1?

@jasobrown, thank you for bumping this. We value your input deeply. Although we won't be able to  tackle this docs work for the 20.1 release, it will be a priority soon after.
@ericharmeling, @rmloveland, let's think this through together, with @awoods187 and others, following the release.

Although we won't be able to tackle this docs work for the 20.1 release

I think that's fine as 20.1 is basically right around the corner. Keep up the great work on the docs team!

This is really really needed.  I have to answer these questions a lot, and I'm sure I get them wrong all the time.

Related, from https://github.com/cockroachdb/docs/issues/5470:
We are currently updating our code samples with a retry loop to handle client-side transaction retries.
However, there are other error conditions we may want to handle as well.
For example, we should probably handle the error types in Class 08 - Connection Exception from the PG error codes, namely:

[ ] 08000: connection_exception
[ ] 08003: connection_does_not_exist
[ ] 08006: connection_failure
[ ] 08001: sqlclient_unable_to_establish_sqlconnection
[ ] 08004: sqlserver_rejected_establishment_of_sqlconnection
[ ] 08007: transaction_resolution_unknown
[ ] 08P01: protocol_violation

More good examples of explaining it https://cockroachlabs.slack.com/archives/CFR37CA4A/p1588198208102900


Bug report DLR Fit fails with Lapack error

Description
The test imtime_ops fails with the error
% OMP_NUM_THREADS=1 ctest -V -R imtime_ops
Constructing a list of tests
Done constructing a list of tests
Updating test list for fixtures
Added 0 tests to meet fixture requirements
Checking test dependency graph...
Checking test dependency graph end
test 97
    Start 97: imtime_ops

97: Test command: /.../cppdlr/cbuild/test/c++/imtime_ops
97: Working Directory: /.../cppdlr/cbuild/test/c++/
97: Test timeout computed to be: 10000000
97: Running main() from /.../cppdlr/cbuild/deps/GTest_src/googletest/src/gtest_main.cc
97: [==========] Running 12 tests from 2 test suites.
97: [----------] Global test environment set-up.
97: [----------] 10 tests from imtime_ops
97: [ RUN      ] imtime_ops.interp_matrix
97: [       OK ] imtime_ops.interp_matrix (712 ms)
97: [ RUN      ] imtime_ops.interp_matrix_complex
97: [       OK ] imtime_ops.interp_matrix_complex (690 ms)
97: [ RUN      ] imtime_ops.interp_scalar
97: [       OK ] imtime_ops.interp_scalar (617 ms)
97: [ RUN      ] imtime_ops.fit_matrix
97: unknown file: Failure
97: C++ exception with description "Error at /.../cppdlr/cbuild/deps/nda_src/c++/nda/lapack/gelss.hpp : 98
97:
97: Error in gesvd : info = 42
97: .. Error occurred on node " thrown in the test body.
97:
97: [  FAILED  ] imtime_ops.fit_matrix (523 ms)
97: [ RUN      ] imtime_ops.fit_matrix_cmplx
97: unknown file: Failure
97: C++ exception with description "Error at /.../cppdlr/cbuild/deps/nda_src/c++/nda/lapack/gelss.hpp : 98
97:
97: Error in gesvd : info = 42
97: .. Error occurred on node " thrown in the test body.
97:
97: [  FAILED  ] imtime_ops.fit_matrix_cmplx (542 ms)
97: [ RUN      ] imtime_ops.fit_scalar
97: unknown file: Failure
97: C++ exception with description "Error at /.../cppdlr/cbuild/deps/nda_src/c++/nda/lapack/gelss.hpp : 98
97:
97: Error in gesvd : info = 42
97: .. Error occurred on node " thrown in the test body.
97:
97: [  FAILED  ] imtime_ops.fit_scalar (500 ms)
97: [ RUN      ] imtime_ops.convolve_scalar_real
97: [       OK ] imtime_ops.convolve_scalar_real (743 ms)
97: [ RUN      ] imtime_ops.convolve_scalar_cmplx
97: [       OK ] imtime_ops.convolve_scalar_cmplx (758 ms)
97: [ RUN      ] imtime_ops.convolve_matrix_real
97: [       OK ] imtime_ops.convolve_matrix_real (809 ms)
97: [ RUN      ] imtime_ops.convolve_matrix_cmplx
97: [       OK ] imtime_ops.convolve_matrix_cmplx (811 ms)
97: [----------] 10 tests from imtime_ops (6710 ms total)
97:
97: [----------] 2 tests from dlr_imtime
97: [ RUN      ] dlr_imtime.refl_matrix
97: [       OK ] dlr_imtime.refl_matrix (26 ms)
97: [ RUN      ] dlr_imtime.h5_rw
97: [       OK ] dlr_imtime.h5_rw (618 ms)
97: [----------] 2 tests from dlr_imtime (645 ms total)
97:
97: [----------] Global test environment tear-down
97: [==========] 12 tests from 2 test suites ran. (7356 ms total)
97: [  PASSED  ] 9 tests.
97: [  FAILED  ] 3 tests, listed below:
97: [  FAILED  ] imtime_ops.fit_matrix
97: [  FAILED  ] imtime_ops.fit_matrix_cmplx
97: [  FAILED  ] imtime_ops.fit_scalar
97:
97:  3 FAILED TESTS
1/1 Test #97: imtime_ops .......................***Failed    7.39 sec

0% tests passed, 1 tests failed out of 1

Total Test time (real) =   7.41 sec

The following tests FAILED:
	 97 - imtime_ops (Failed)
Errors while running CTest
Output from these tests are in: /.../cppdlr/cbuild/Testing/Temporary/LastTest.log
Use "--rerun-failed --output-on-failure" to re-run the failed cases verbosely.

Steps to Reproduce
Build cppdlr and run the tests
Versions
Running on cppdlr/master and commit
commit 9c8868550bc38a168235a0ec1b1bed44cd4a9c6c (HEAD -> main, origin/main, origin/HEAD)
Merge: 66a4532 cdf0eec
Author: jasonkaye<EMAIL_ADDRESS>Date:   Fri Jun 2 12:19:18 2023 -0400

On Mac OSX
 % uname -r -v
21.6.0 Darwin Kernel Version 21.6.0: Mon Aug 22 20:19:52 PDT 2022; root:xnu-8020.140.49~2/RELEASE_ARM64_T6000

using clang-16
% clang -v
clang version 16.0.5
Target: arm64-apple-darwin21.6.0
Thread model: posix
InstalledDir: /opt/local/libexec/llvm-16/bin

Additional Information
Here is the cmake output when building cppdlr.
% ../cmake.sh
-- The C compiler identification is Clang 16.0.5
-- The CXX compiler identification is Clang 16.0.5
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /opt/local/bin/clang - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /opt/local/bin/clang++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- cppdlr version : 3.1.0
-- cppdlr Git hash: 9c8868550bc38a168235a0ec1b1bed44cd4a9c6c
-- -------- CMAKE_INSTALL_PREFIX: /.../apps/cppdlr --------
-- -------- BUILD-TYPE: Debug --------
--  =============== Configuring Dependency GTest ===============
-- Found Git: /opt/local/bin/git (found version "2.41.0")
-- Found Python: /Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.8/bin/python3.8 (found version "3.8.9") found components: Interpreter
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
--  =============== End GTest Configuration ===============
--  =============== Configuring Dependency nda ===============
-- nda version : 1.1.0
-- nda Git hash: 16ac7a4c4d1936834957629e8c6d88a94efa70a7
-- Dependency GTest was already resolved.
--  =============== Configuring Dependency itertools ===============
-- itertools version : 1.1.0
-- itertools Git hash: 0cfbb22cd0a53000f4783ca0f8f3eda7b9ddda02
-- Dependency GTest was already resolved.
-- Performing Test HAS_CPP20
-- Performing Test HAS_CPP20 - Success
--  =============== End itertools Configuration ===============
--  =============== Configuring Dependency h5 ===============
-- h5 version : 1.1.0
-- h5 Git hash: 4bda906ec558ab8a0d91ef9e4d647112415a6424
-- Dependency GTest was already resolved.
-- -------- HDF5 detection -------------
-- Found HDF5: /opt/local/lib/libhdf5.dylib;/opt/local/lib/libaec/lib/libsz.dylib;/opt/local/lib/libz.dylib;/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.1.sdk/usr/lib/libdl.tbd;/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.1.sdk/usr/lib/libm.tbd (found version "1.14.1-2") found components: C HL
--  =============== End h5 Configuration ===============
--  =============== Configuring Dependency mpi ===============
-- mpi version : 1.1.0
-- mpi Git hash: 12928eba330e1e403e8f7378be14be400bd0d9f9
-- Dependency GTest was already resolved.
-- Dependency itertools was already resolved.
-- -------- MPI detection -------------
-- Found MPI_CXX: /opt/local/lib/openmpi-gcc12/libmpi_cxx.dylib (found version "3.1")
-- Found MPI: TRUE (found version "3.1") found components: CXX
-- Found OpenMP_CXX: -fopenmp=libomp (found version "5.0")
-- Found OpenMP: TRUE (found version "5.0") found components: CXX
--  =============== End mpi Configuration ===============
-- -------- Lapack detection -------------
-- Looking for sgemm_
-- Looking for sgemm_ - not found
-- Looking for sgemm_
-- Looking for sgemm_ - found
-- Found BLAS: /opt/local/lib/libopenblas.dylib
-- Looking for cheev_
-- Looking for cheev_ - found
-- Found LAPACK: /opt/local/lib/libopenblas.dylib;-lm;-ldl
--  =============== End nda Configuration ===============
-- *********************************************************************************
-- * Custom install Location. Use:
-- *
-- *   source /.../apps/cppdlr/share/cppdlr/cppdlrvars.sh
-- *
-- * to set up the environment variables
-- *********************************************************************************
-- Configuring done
-- Generating done
-- Build files have been written to: /.../cppdlr/cbuild

@HugoStrand Can you please check if this issue persists for you on the main branch? We can't reproduce the issue.

Dear Nils,
Thank you for following up on this. It has persisted all autumn, but I have now found a workaround moving from OpenBLAS to Apple's VecLib using the VecLibFort (https://github.com/mcg1969/vecLibFort) to get full BLAS/LAPACK compatibility.
If someone else get hit by this let's reopen this issue. I am closing it for now.
Best, Hugo

Thank you Hugo for the response,
We were unable to reproduce the failure on any of our OSX setups using homebrew.
Can you confirm that you have used mac-ports for your software setup?
Best, Nils


Poller breaks on minification

Hello,
when using minification the dependency injection fails.
It could be easily fixed by using the inline annotation, I tried making a pull request (did the fix directly online in github, so hopefully I placed the closing square brakets in the right places :-)
https://github.com/emmaguo/angular-poller/pull/30
Hope it can be used, ciao!

When using a minified version from cdnjs there is no problem. Take a look.
https://cdnjs.cloudflare.com/ajax/libs/angular-poller/0.3.2/angular-poller.min.js

I was using the non-minified version and minifying it myself as I'm using Grunt to perform minification (uglify and mangling to be precise, the latter being the issue as it changes variables names).
Having an annotated injection version could avoid treating this module as a special case in the Grunt chain (I'm lazy, I know :-) ) and also permit the use of the mangling option (to reduce size even more than the non-mangled version).
That being said, thanks for the hint!

If you plumb in ngAnnotate before you uglify you should be ok. This places the dependencies in the array notation etc...

@justingrayston Thanks, I'll surely end up using ngAnnotate (even if in the beginning I was trying to avoid using that).
My project uses several external modules with the uglify issue due to services declaration syntax and in fact it seems it would take more effort to fork and get pull requests integrated than simply set up ngAnnotate to fix the problem :-)

@AnimaLupi: Merged. Thanks for the PR!:-)


restore version and appname checks for idempontent connections

See: https://github.com/rstudio/sparklyr/commit/ca8312084bade9c26b5951e66462f6394bfa4cb7
We need to update the connection viewer protocol to have an opaque id in addition to a host.

Fixed with a check to app_name and master. Users can specify a different app_name to enable more than one connection to the same cluster.

Needs work in the IDE to implement the same check before merging.

Fixed with @30cd44ef2f85a8d438527e9e55370165d505f790


Dragging on the TitleBar to move the window does not always work

Dragging the TitleBar doesn't always work, at least on macOS with jbr-17 and jbr-21. When I use a normal Window the window can be dragged normally.  Since TitleBar is delegating the hit test to the JetBrains runtime, this might also be a runtime bug.
https://github.com/JetBrains/jewel/assets/866834/e504719b-d70e-46ba-bb4e-3d2522920b78

I've also tested this with an completely empty window, so it doesn't seem to be related to focus I think.

Thanks :) @devkanro have you ever seen this?

This is a known issue, and I have no idea currently, will look into this, but I think it is a JBR issue.

The pointer is handled here https://github.com/JetBrains/jewel/blob/main/decorated-window/src/main/kotlin/org/jetbrains/jewel/window/TitleBar.Windows.kt#L43 and it looks OK, but maybe the actual pointer event does not always get delivered to the window decoration correctly?
FWIW I assume that Intellij and other products do something similar but using Swing API's and I'm not observing that issue with those products.

pretty sure this issue existed on windows as well, using latest 243 with jbr21, still sadly existed :（

@devkanro any chance you could look into this?

This issue significantly impacts usability, and I hope this gets prioritized for a fix soon.

I hope @devkanro will come back to help with this; they're the only person who's got knowledge on the topic

@rock3r @devkanro
It's weird Intellij does not have this issue at all. So part of the implementation must be close source.

Here's my input to this issue:
The TitleBar is on top of it's content inside the composable tree - events are propagated from top to bottom. titleBar.forceHitTest does only have an effect on the next event as far as I can see in my tests.... I think, that you can't intercept the events of child from somewhere above in the hierarchy without a fully custom event handling if the implementation of the title bar does not work with the consumed flags but by calling a function after the event has reached the TitleBar already...
Suggestion
In my first tests I can fix everything if I make it simple: just enable drag&drop and double click resize in the region of the title and not on the full title - this means I apply https://github.com/JetBrains/jewel/blob/7aba56366ba07f3660f39c33b4aa131b1a6304c5/decorated-window/src/main/kotlin/org/jetbrains/jewel/window/TitleBar.Windows.kt#L43 to the title region only. In this case, I don't have to enable and disable the forceHitTest at all...

Thanks for the investigation @MFlisar — any chance you can do a quick PR with the change?
We're in the process of moving everything into the JetBrains/intellij-community repo, but we'll cherry pick all approved PRs from here in the meantime

I will do that. I even have good news - when I remove the hierarchy and place a background Spacer behind the title bar the event propagation of compose does solve everything for us automatically. Nothing special to do in this case.
The PR is here: https://github.com/JetBrains/jewel/pull/731

Awesome news, thanks a lot! We appreciate it 🙏

I'll review the PR tomorrow, I'm AFK until then

The PR was related to another bug, not this one. There was some confusion on my side. Sorry everyone.
I have looked into this issue a bit with folks from the Compose Multiplatform team and we (they!) have identified a root cause:

[the issue is] that Compose filters out move events with the same coordinates as the previous move event, but this [JBR] title bar [API] expects the forceHitTest call on every event. When it doesn’t receive the call on some mouse event, it reverts to its default behavior until the next press.

Given we don't want to change how Compose handles events due to obvious compatibility reasons, we need a workaround for this problem. Luckily, we found this should work:

Fix the isUserInControl logic in the customTitleBarMouseEventHandler code (it'll never set the flag to true)

Add both an AWT mouse listener that looks like the one IJ uses, and the Compose pointerInput code, to the DecoratedWindow:
DisposableEffect(window, titleBar) {
    val listener = object : java.awt.event.MouseAdapter() {
        override fun mousePressed(e: java.awt.event.MouseEvent?) {
            onMouseEvent(e)
        }
        override fun mouseReleased(e: java.awt.event.MouseEvent?) = onMouseEvent(e)
        override fun mouseEntered(e: java.awt.event.MouseEvent?) = onMouseEvent(e)
        override fun mouseDragged(e: java.awt.event.MouseEvent?) = onMouseEvent(e)
        override fun mouseMoved(e: java.awt.event.MouseEvent?) = onMouseEvent(e)

        private fun onMouseEvent(e: java.awt.event.MouseEvent?) {
            titleBar.forceHitTest(false)
        }
    }
    window.addMouseListener(listener)
    window.addMouseMotionListener(listener)

    onDispose {
        window.removeMouseListener(listener)
        window.removeMouseMotionListener(listener)
    }
}

Remove calls to forceHitTest from the pointerInput logic, only leaving the isUserInControl logic (possibly renaming it to isTitleBarClientEvent)

Call the titleBar.forceHitTest(isTitleBarClientEvent) function from the AWT listener as above

We'll get to doing this as soon as possible — but that may be "at some point in Q1 2025" as we're both overloaded and about to go on vacation :)


waf: make it work on macOS

As discussed in https://github.com/conan-io/conan-center-index/pull/18745

Thank you very much!


Improvement: use shader name in source-code-filenames instead of only hash

When opening multiple projects/shaders and specially different revisions, it's confusing in the text editor unless you memorize the hashes.
On the site, both hashes and names are unique, however locally, neither name or hash is unique (if I understand correctly)

You're absolutely right. The way things are hashed currently is really bad and I don't yet know a solution. The files however are not meant to be interacted with via the filesystem... I wanted you to only ever open/save/import/export via the packed json file.


refactor(frontend): update message storage for notifications

Changes proposed in this pull request

Toast notifications are now appearing on physical mobile devices too. The primary issue was that in the development environment, secure was mistakenly set to true. Additionally, the message storage was refactored and a close button was included in the toast notification.
Context

fixes #1451

Checklist

[x] Related issues linked using fixes #number
[ ] Tests added/updated
[ ] Documentation added
[x] Make sure that all checks pass

Interestingly enough, this ended up fixing navigation on physical devices for me as well. On main, I'm not able to navigate to create a peer for example, now, I am.


Show the count up on hover (or tap on mobile). Spinning circle forever. Part 2.

Sharing a PC. Now Paul's got the code :)
cc @ebidel
Can you squash in Github UI, please?

LGTM


remote_storage_config deserialization does not reject unknown fields

Context
This is punted from https://github.com/neondatabase/neon/pull/7656
Problem
[remote_storage_config]
local_path = "/some/path"
some_invalid_field = 23

This deserializes without error.
It should not.
Had to comment out this test here:
https://github.com/neondatabase/neon/blob/b598782b430b4f301a9305b577e0771ca7f811fb/pageserver/src/config.rs#L608-L616
Solution Proposal
Before jumping into fixing this, let's decide as a team on how important unknown fields are to us.
Maybe we can resolve this issue as "won't fix" and instead allow unknown fields:
https://github.com/neondatabase/neon/blob/b598782b430b4f301a9305b577e0771ca7f811fb/pageserver/src/config.rs#L549-L561

(deny_unknown_fields is incompatible with flatten)

Bug triage meeting: I will write up the trade-offs regarding rejecting unknown fields yes/no, decide something, and implement.


Dezilaromed's Decommission (Part 2)

Scheduled major maintenance (date and time undecided, but will be in September) will temporarily take down Dezilaromed, where most critical infrastructure is being held. Estimated downtime is 40~90 minutes. No interruption on Moubootaur Legends infrastructure is expected.
See also: https://forums.themanaworld.org/viewtopic.php?t=21644
Track general availability at: https://status.themanaworld.org/

[!IMPORTANT]
Forums, wiki, TMW Classic and Mana Launcher will be down, but IRC and Discord won't be affected but it.

[!WARNING]
Trying to login in TMW Classic during the maintenance will forward you to Moubootaur Legends (and ─ unsurprisingly ─ fail).

Scheduled major maintenance (date and time undecided, but will be in September) will temporarily take down Dezilaromed, where most critical infrastructure is being held. Estimated downtime is 40~90 minutes. No interruption on Moubootaur Legends infrastructure is expected.
See also: https://forums.themanaworld.org/viewtopic.php?t=21644
Track general availability at: https://status.themanaworld.org/

Resolved: [Azure] Mana Launcher is back up in 255bcfc after 1 day, 19 hours, 44 minutes.

Evolved and rEvolt test servers were shut down.

DNS Server down. Daily backup sequence started, to ensure no data loss.

Resolved: [Azure] Forums is back up in 460bcdc after 2 days, 19 hours, 14 minutes.

Resolved: [Azure] Wiki is back up in 7b7518f after 2 days, 19 hours, 21 minutes.

Dezilaromed shut down successful. Initiating snapshot.

Snapshot completed, downsizing.

Reboot OK, initiating first integrity check

First integrity check OK, deleting garbage from player data directories and removing mnt jobs

Second shutdown initiated.

Creating second snapshot

Shutting down VM and unplugging disk.

Disk replaced with a SSD. Starting up VM and waiting for second integrity check (this one is the most dangerous one, as it can wipe more stuff than we have recent backups for!)

No unplanned wipes happened, second integrity check now in progress.

Artifacts found and in process of being removed (if they're not cleaned up now, they'll corrupt player data later)

A buggy process running in background seems to insist in trying to delete all player data, it might take a while to identify the faulty process and fix it.

Faulty process found and removed. Second integrity check passed. Deleting snapshots.

Recompiling TMW Classic, and restarting Mirror Lake services

Restoring DNS records and services

Sep 22 22:47:46 tmw systemd[1]: tmwa-map.service: Failed with result 'core-dump'.

TMW Classic is back. Probably.

Forums and Wiki are back.

Maintenance completed within the schedule.


Fuzzy completion not working

Category

[x ] fzf binary
[ ] fzf-tmux script
[ ] Key bindings
[ ] Completion
[ ] Vim
[ ] Neovim
[ ] Etc.

OS

[ ] Linux
[x] Mac OS X
[ ] Windows
[ ] Windows Subsystem for Linux
[ ] Etc.

Shell

[x] bash
[ ] zsh
[ ] fish

I installed with '/usr/local/opt/fzf/install' then i executed 'source ~/.bashrc'  with current bash it works and when i check complete command i can see fzf related commands. But if i exit from bash and reopen it, fzf completion not working again and when i check with complete command, all the fzf related things was gone .

ok i solved it, the problem was about iTerm. it's only check ~/.bash_profile when it is starting, so it does not know anything about what ~/.bashrc contains. i added "source ~/.bashrc" to iTerm starting command and it works now!


Globus SSH

Add support for Globus SSH to SSHChannel.

GlobusSSH is available in alpha state and available on Pypi. I'm looking into adding support for this as a channel.

Tagging @JasonAlt

pleases see issue #3515 about removing channels from Parsl

SSH channels were removed in #3677


Level 1 Reports not working

Here is the error message reported by @tadarby12

Since this is happening so late in the report, the issue is probably with the map_xs function that is the oldest of the mapping functions and is therefore still using sp which is ending end of life and throwing messages.

Started moving through codebase and changing out SP and rgdal dependencies to sf and raster functions.

see latest release, test and report back on if the issue has been resolved

issue resolved with v0.1.46 release


addAttachmentToTestStep method fail with Exception "java.rmi.RemoteException: Invalid test record index: 'x' ('x' test records exist)"

Hello,
First I want to give my appreciations for making this module!
Now, to my issue, when a call the method in the bellow manner:
test_case_record.addAttachmentToTestStep(step_index=step_index, file_path=file_path, title='Dummy attachment')
the execution fails with

java.rmi.RemoteException: Invalid test record index: 0 (0 test records exist)

The test_case_record variable (has _index set to 0, so I understand the first part of the exception) is valid and the corresponding work item retrieved with getWorkitem method has test steps, so my guess is that the wrong test run is accessed, as it does not find any test record objects.
Please, let me know if you have a clue. Thanks!
P.S. I set the corresponding test step result before trying to do attachments, as the note from documentation suggests

Attachments to the test steps can only be uploaded if the test step result has been set.

EDIT:
If for instance, a test run has more than one record, trying to add attachments to the steps of each record updates the exception in a way that somehow only previous test records are noticed.
To be more concrete,  if my test run has 3 records, each one having 3 steps, I get the following exceptions when trying to add attachments:

java.rmi.RemoteException: Invalid test record index: 0 (0 test records exist)
java.rmi.RemoteException: Invalid test record index: 0 (0 test records exist)
java.rmi.RemoteException: Invalid test record index: 0 (0 test records exist)
java.rmi.RemoteException: Invalid test record index: 1 (1 test records exist)
java.rmi.RemoteException: Invalid test record index: 1 (1 test records exist)
java.rmi.RemoteException: Invalid test record index: 1 (1 test records exist)
java.rmi.RemoteException: Invalid test record index: 2 (2 test records exist)
java.rmi.RemoteException: Invalid test record index: 2 (2 test records exist)
java.rmi.RemoteException: Invalid test record index: 2 (2 test records exist)

Last EDIT:
Solved it! Must also set the record result and only for that specific record you can attach to its steps.


Prioritize snapshot builds in distribution downloader

Description
In the Security plugin's BWC tests there have been an issue with stale artifacts, when troubleshooting we noticed that a release candidate for OpenSearch 3.0.0 was being picked up in priority before the latest snapshot build.  This was causing build failures preventing our tests from running.
Related Issues

Related https://github.com/opensearch-project/security/issues/3020

Check List

[ ] ~New functionality includes testing.~

[ ] ~All tests pass~

[ ] ~New functionality has been documented.~

[ ] ~New functionality has javadoc added~

[X] Commits are signed per the DCO using --signoff
[ ] Commit changes are listed out in CHANGELOG.md file (See: Changelog)

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Isn't that by design because a released version is better than the latest snapshot?

Isn't that by design because a released version is better than the latest snapshot?

@dblock I don't think its so easily clarified, we've got 'release versions' of 3.0.0 already according to the logic of this script.   I'd rather have an snapshot of a patch release than the latest official release, as that likely has resolutions to bugs / CVEs in it.
Is there use in letting the consumer decide between releases, latest minor, latest patched, and snapshots?

@peternied do we have a release candidate for 3.0? There shouldn't be one.
Distribution download plugin always downloads the latest version depending on version you specify. If it has a qualifier of SNAPSHOT in the version it would never download a release artifact.
Trying to understand the failures you were seeing, was it downloading an older snapshot of OpenSearch 3.0.0?

Trying to understand the failures you were seeing, was it downloading an older snapshot of OpenSearch 3.0.0?
I guess your problem could have been that a latest 3.0.0-SNAPSHOT was not published, mostly due to failures on opensearch-build workflows.

It looks like its unblocked, see [1].  This change doesn't seem worth iterating on based on the feedback - we will need to add more logging to help figure out what version we did get and from where.

[1] https://github.com/opensearch-project/security/pull/3003

@saratvemulapalli Thank you for the context. The problem was that the bwc tests in the security plugin relied on release artifacts and needed to be updated to use SNAPSHOT artifacts so that the tests ran with the most recent changes from core.


Exception interfaces should extend Throwable

When running Static-Analysis like Psalm, they will report an invalid catch statement:

InvalidCatch: Class/interface Psr\Container\NotFoundExceptionInterface cannot be caught

This happens because the Interfaces do not extend Throwable. This is correct since classes that do not implement Throwable cannot be used with throw: https://3v4l.org/NNDeW

See https://github.com/php-fig/container/issues/33 for some context. This was fixed, then reverted again.

Fixed again in 1.1.2 and 2.0.2


SystemAssignedTo is missing in the WorkItemCreated payload

TFS WorkItemCreated payload can also contain System.AssignedTo field, which is missing in the definition right now.

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. We will now review your pull request.
Thanks,
.NET Foundation Pull Request Bot


Add pip as requirement in environment.yml

Fixes warning during make create-env

thanks @blankenberg :)


pull request for e2e test at 12/12/2016 05:56:09

:white_check_mark: Validation status: passed
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.


optimize builds

Disable the update checker in the playground or compat tests
Make a shortcut for installing compat-tests' fixtures
Minify studio

/release insiders

Rebased, so I'll make a new release

/release insiders


Sign up for CII Best Practices

Sign up for CII Best Practices.
https://bestpractices.coreinfrastructure.org/en

Needs to org level GitHub permission for CII to view the score card repo.

Might be a good issue for our next milestone. Re-opening.

Duplicate of #1032. Closing this and tracking it there.


Make Apps, Members and Companies clickable in Subscription list

Now you only see the names, but it would be great to open the page and get the understanding more than just the name to decide to subscribe or not subscribe

Please add nws in response(/sub/get), so FE will be able to generate links


SOLR-17131: Optimize rows=0 since score/sort isn't necessary

https://issues.apache.org/jira/browse/SOLR-17131
Description
If a query has rows=0 Solr does not need to sort the results or even compute the score. This means the filterCache can be more efficient to compute the result and Solr doesn't spend time on unnecessarily sorting and scoring large result sets for it to be thrown away.
There is one subtle difference from this change - maxScore is no longer returned if rows=0 which seems like a reasonable tradeoff. If maxScore is needed then set rows=1. maxScore can't reliably be compared across searches anyway so no reason to have it when rows=0.
This was found while looking at https://issues.apache.org/jira/browse/SOLR-14765 and trying to reason through the case of rows=0 that are sometimes used to just determine count of matching results. This change adds the check for rows=0 before other checks to ensure that we can short circuit scoring even if there is a scoring query. We also don't add the query to the filter cache since that could result in filter cache thrashing.
In some tests, we found that queries with rows=0 p99 improved by 50% and CPU dropped by 5%.
Tests
Updated tests in TestMainQueryCaching to account for this optimization.
Checklist
Please review the following and check all that apply:

[x] I have reviewed the guidelines for How to Contribute and my code conforms to the standards described there to the best of my ability.
[x] I have created a Jira issue and added the issue ID to my pull request title.
[x] I have given Solr maintainers access to contribute to my PR branch. (optional but recommended)
[x] I have developed this patch against the main branch.
[x] I have run ./gradlew check.
[x] I have added tests for my changes.
[ ] I have added documentation for the Reference Guide

does not need to sort the results or even compute the score

Is there a unit test you can recommend that I might run in a debugger looking at key spots, that would show that a score is being computed wastefully?  I can't imagine that there is time wasted sorting (as you claim) because there is nothing to sort.

This means the filterCache can be more efficient to compute the result and Solr doesn't spend time on unnecessarily sorting and scoring large result sets for it to be thrown away.

This seems contradictory.  If the filterCache can compute the result, then wouldn't disabling the filterCache for the query (as I see you do in the PR) not use the filter cache then?  I'm referring to the query, not the filters (which are processed the same either way).

Is there a unit test you can recommend that I might run in a debugger looking at key spots, that would show that a score is being computed wastefully?

TestMainQueryCaching#testConstantScoreFlScore and put a breakpoint at SolrIndexSearcher line 1620
If there is rows=0 and one of three cases, the scores are computed and sorted even though its not needed:

fl includes score
sort includes score
q is a non constant query

If you walk through the existing if checks in SolrIndexSearcher line 1620, the first case isn't chosen since scores are requested. The second case doesn't match since its not a *:* or MatchAllDocsQuery - even if its a constant score query useFilterForSortedQuery is false and we don't really want to enable (and its false by default) that case (puts the q in the filter cache - related to your other question I'll answer below). The final case is useFilterCacheForDynamicScoreQuery which if useFilterForSortedQuery is false (which it is by default) we skip optimizations.
The changes to TestMainQueryCaching also show the other cases where the rows=0 check improves things. Avoids a full sort.

This seems contradictory. If the filterCache can compute the result, then wouldn't disabling the filterCache for the query (as I see you do in the PR) not use the filter cache then? I'm referring to the query, not the filters (which are processed the same either way).

So the check I added makes sure we don't add the q query to the filterCache. We want to use the filterCache to compute the result, but don't want to store the q in the filterCache after its computed. This is similar to useFilterForSortedQuery but this is specifically the case of a rows=0 query.

I see what's happening.  The queryResultCache's queryResultWindowSize is forcing the actual number of documents to be raised from 0 to that window (which is 1 in this test config), thus we have to score docs to find the one best doc.
I don't agree with your solution because it confuses what useFilterCache fundamentally means (use the filter cache for q).  The other code path is actually already optimized for rows==0 and no scores; it should be quite fast!
I think the solution is to not save the results into queryResultCache when rows==0; thus the window won't be applied either.  But I don't think SolrIndexSearcher should set this, I think it should be in QueryComponent by setting NO_SET_QCACHE so that some plugin/customization can easily make this decision for itself.  Additionally, QueryComponent is setting GET_SCORES if fl contains the score but I think this should be further guarded by rows != 0.

I also think a queryResultWindowSize of 1 (which is the default if it isn't specified in solrconfig and isn't documented AFAICT) should not bump up a request for no rows to a window of a paltry 1 doc.  I don't think that was intended; I think what was intended was to effectively have no window if it isn't specified.  I can see using a default of 1 seems to convey that (for typical queries that have results) but not for rows=0 case.  Likely an oversight long ago.

The other code path is actually already optimized for rows==0 and no scores

Which code path are you talking about?

I think the solution is to not save the results into queryResultCache when rows==0; thus the window won't be applied either.

Not sure I agree with that. We should be able to store the result in the queryResultCache so that we don't have to recompute for the same exact query a second time?

I also think a queryResultWindowSize of 1 (which is the default if it isn't specified in solrconfig and isn't documented AFAICT)

Its documented here https://solr.apache.org/guide/solr/latest/configuration-guide/caches-warming.html#queryresultwindowsize-element
I know in our case we do set queryResultWindowSize in solrconfig.xml.
Either way I'll look into QueryComponent some. @dsmiley as far as you are aware this change even though maybe not the best place to put it - doesn't have any negative side effects right?

(Me) The other code path is actually already optimized for rows==0 and no scores

The method you are attempting to modify calls getDocListAndSetNC when useFilterCache=false, which is well optimized for this.

Not sure I agree with that. We should be able to store the result in the queryResultCache so that we don't have to recompute for the same exact query a second time?

Okay; I sympathize.  Another alteration to my suggestion, is that queryResultWindowSize should be ignored when rows=0 to allow us to run this query as fast as possible, even if this means not caching queryResultWindowSize docs -- because we'd rather not compute their scores merely to cache something in hopes it might be used.

I made a slight change to improve the variable name I added - c6618d6

The method you are attempting to modify calls getDocListAndSetNC when useFilterCache=false, which is well optimized for this.

Right but in that case - assuming you are referring to prior to my PR line 1703 / 1708, we don't get the optimizations from SOLR-14765. This means in the case of rows=0, we don't reuse the filter cache dotset and have to recompute it.
With my change, we never get down to getDocListAndSetNC for the case of rows=0 and can build the results right from the filterCache docset.

is that queryResultWindowSize should be ignored when rows=0 to allow us to run this query as fast as possible, even if this means not caching queryResultWindowSize docs -- because we'd rather not compute their scores merely to cache something in hopes it might be used.

100% agree with this idea. I'm not sure what is happening with queryResultWindowSize docs with my change. In theory we definitely shouldn't be computing them.

I addressed the queryResultWindowSize with 326afdd when rows=0.

You claim that your approach to this uses the filter cache (for q).  Yet it does not because it calls getDocSetNC.  I feel compelled to -1 this because that's what useFilterCache means.  But we agree on the goals -- don't compute the score!

You claim that your approach to this uses the filter cache (for q)

With my change, for the case of rows=0, the filtercache docset will be used to compute the result using q.
I don't think I understand your concerns. getDocSetNC uses the filterCache docset and does not insert the query result into the filter cache. If getDocSetC is used, the query result will be inserted into the filter cache - which we don't want.

getDocSetNC uses the filterCache docset

Can you elaborate where this is so?

getDocSetNC uses the filterCache docset

Can you elaborate where this is so?

This existed prior to my change due to SOLR-14765 - SolrIndexSearcher before my PR lines 1658-1660 and with my PR lines 1673-1675.

Let's use GH links to ensure we understand each other.  You are referring to this?
        List<Query> filterList = cmd.getFilterList();
        if (filterList != null && !filterList.isEmpty()) {
          out.docSet = DocSetUtil.getDocSet(out.docSet.intersection(getDocSet(filterList)), this);
        }

This shows that the list of filter queries goes through the filter cache.  But that's true no matter what (other code paths ultimately lead to the same but in different methods deeper).  The question at hand is how is the q param processed, which in this code gets turned into a DocSet saved to out.docSet.  Immediately before these lines, it's populated via getDocSet.  This is what useFilterCache means.  In your PR, you added a condition to not do this, thus not use the filter cache for q.

Hi,
I already responded on Slack, but I now found this PR and wanted to say some additional things:
There is also a separate collector and on top of that a separate method in IndexSearcher, which automatically does a lot of the top-docs related stuff. The problem with a normal TopDocs or TopFieldDocs collector is that the empty PQ has some additional overhead (although the score is not calculated and returned as 0).
First of all: SolrIndexSearcher should also implement support for using the optimized methods and collectors, unless a DocSet is needed (for facets/aggs). Using the TotalHitCountCollector is one thing to do (this needs to be done more down the line in the search code of Solr, but it's worth to do. But as there is now support to short-circuit count queries on the Query level, you should also think of using IndexSearcher#count() directly: E.g., this one returns IndexReader#numDocs() for MatchAllDocsQuery (thats a stupid simple case), but it can also return quick counts when there are no deleted docs in a segment and the statistics in index can answer the query.
The changes here look fine (although I can't follow the discussion about those crazy flags true/false/whatever), but in addition to the code here, in case of no TopDocs and no facets, the code should call IndexSearcher#count(). In the facet case, it should at least use the TotalHitCountCollector as the final sink.

@uschindler See getDocListNC which already seems to be pretty well optimized when lastDocRequested <= 0 (i.e. rows==0), and in conjunction also when !needScores.  The reason some of the Lucene convenience collectors & IndexSearcher.count aren't used is because this code is juggling a multitude of scenarios, such as when there might be a so-called PostFilter, thus leading to another Collector to add to the head of the collectors.  Care must be taken before adding yet another optimization -- does it actually add value or it just to feel good to use another Lucene class.  getDocListAndSetNC follows this method and is similar.

Updated this based on talking w/ @dsmiley. the useFilterCache part I was confused on that it always applies to q so my change didn't make sense. I pushed a change that made it clear what useFilterCache is always used for q.
I also made the change to QueryComponent to make sure scores aren't calculated if rows=0. I think there is more here potentially.
TODO:

Look at adding some more tests
Try adding a benchmark for this

I think I found a better way in 8f7cb64 - I didn't originally like the idea of parsing rows there, but since we are explicitly checking for a single value it isn't that bad. This makes it SolrReturnFields a lot cleaner and QueryComponent doesn't even need to change at all.

I pushed 80f11d5 which has a benchmark for checking a bunch of this.   I think it's embarrassing we've had this perf issue for so long without it being noticed.  match-all-docs is so common, like in ping queries for one.
One test failed, TestPrepRecovery.testLeaderNotResponding but it's a common flapper
CC @gus-asf (9.6 RM)

I guess the question is more a matter of how safe you think this change
is... We all know that there are some flaky tests. The test doesn't sound
related (being admin/recovery related not query related) doesn't matter
much assuming it doesn't reproduce with the seed, or seem to fail more
frequently.
I haven't published the RC yet, though I have already run tests locally and
should re-do that if we are going to add new commits.
-Gus
On Mon, Apr 22, 2024 at 3:44 PM David Smiley @.***>
wrote:

Shall I just merge this for 9.6? I think it's embarrassing we've had this
perf issue for so long without it being noticed. match-all-docs is so
common, like in ping queries for one.
One test failed, TestPrepRecovery.testLeaderNotResponding but it's a
common flapper
https://ge.apache.org/scans/tests?search.relativeStartTime=P28D&search.rootProjectNames=solr-root&search.timeZoneId=America%2FNew_York&tests.container=org.apache.solr.cloud.TestPrepRecovery
CC @gus-asf https://github.com/gus-asf (9.6 RM)
—
Reply to this email directly, view it on GitHub
https://github.com/apache/solr/pull/2221#issuecomment-2070806945, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ALF2L3IFCJ6F3JJSIZGGKKLY6VR73AVCNFSM6AAAAABCJOYDZKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANZQHAYDMOJUGU
.
You are receiving this because you were mentioned.Message ID:
@.***>

--
http://www.needhamsoftware.com (work)
https://a.co/d/b2sZLD9 (my fantasy fiction book)

I think the change is "safe" from a test stability standpoint.
There is one change to be mentioned in CHANGES.txt and probably in release notes.  If rows=0 then maxScore will no longer be returned.  The user must ask for at least one row if the score is desired.

I'll not push for this in 9.6.  I confused it in part for the important work that made it to 9.1 SOLR-17131.
Kevin, I suppose an easy work-around for users is to explicitly set "fl" to something that does not include score.  If fl doesn't include scores, then maxScore won't be included either.


[Internal] [Bug] Remove FASTA Splitting For VADR

What is the Bug Related To? Please Provide a Description.
Need to adapt VADR to not expect a multi-sample FASTA file (no splitting)
Place an :x: in a Box that Best Matches the Bug's Importance:

[X] 1 - Most severe (a full-break in core function)
[] 2-4 - Moderate (break for a particular aspect/feature) (how integral is the broken feature?)
[] 5 - Least severe (non-functional issue, such as inconsitency / error in documentation or administrative in nature)

Please Complete the Following Information:

OS: [e.g. iOS]: Windows and MAC
Browser [e.g. chrome, safari]: N/A
Version [e.g. 22]: N/A
Run environment (container, cloud service, HPC, platform, etc.): Docker Container

Please Outline Necessary Steps to Replicate Bug (Go to.. Click on... Install the following... etc.):
N/A
Any Additional Context or Information? Has There Been Any Progress Made So Far Towards this Request? Any Concrete Instructions to Resolve the Bug or Helpful Resources to Reference? Screenshots or Logs?
N/A

Merged into dev. Closing for cleanliness.


Android Basics: Fragments Navigation component

URL of codelab
https://developer.android.com/codelabs/basic-android-kotlin-training-fragments-navigation-component?continue=https%3A%2F%2Fdeveloper.android.com%2Fcourses%2Fpathways%2Fandroid-basics-kotlin-unit-3-pathway-2%23codelab-https%3A%2F%2Fdeveloper.android.com%2Fcodelabs%2Fbasic-android-kotlin-training-fragments-navigation-component#7
In which task and step of the codelab can this issue be found?
Step 8
Describe the problem
It's not that much of a mistake, just something I think you should add. It's just that under the "Use FragmentContainerView in MainActivity" Heading on step 3 we do something that android studio flags as an error. I thought I messed something up earlier when this happens and searched all around for how to fix it. I'm not very experienced and thought there was a problem with the build.gradle or something. It would be helpful, to just put in parenthesis "this will show as an error, which will be addressed in a later step", or something along those lines so the user knows that they aren't doing something wrong. I am aware that this isn't really a bug, but I think it would be beneficial for other usersrs. Thank you so much!
Steps to reproduce?

Go to...Fragments and the Navigation Component collab
Click on...Step 8
See error (not really error)... Under the Use FragmentContainerView in MainActivity heading, on the 3rd (& 4th) step

Versions
Android Studio version:
API version of the emulator:
Additional information
Include screenshots if they would be useful in clarifying the problem.

@Java-driod
Thank you for contacting us and sharing your feedback. We have added a message with a note in case of a function failure. Hopefully it will be beneficial.


Invoice generation

Refs: #2314

@tobiase any comments?

Saving invoices to the media directory is problematic and we should not support that. Storing potentially sensitive information in a public directory (media) is unsafe. If all we are doing is generating HTML then this should just be a regular view with appropriate permissions. If projects want to generate downloadable files, then they would need to do that in a secure way, so that they can control who is able to download them. I don't think Oscar should provide that logic - i.e., all it should do is generate the Invoice object, and provide a basic view for it.

Actually, if directory contents should not be downloadable, it can be restricted on the webserver. Also, admin users might often need to check invoice for administrative/financial reasons, which usually happened on our projects. Finally, where would you suggest to store documents, out of the media directory?

Actually, if directory contents should not be downloadable, it can be restricted on the webserver.

Django assumes that the media directory is public by default. I think we would be setting projects up for failure if we contravene that assumption by saving potentially sensitive information to it. Everything else in the media directory is public (images etc). Invoices on the other hand should only be accessible to the customer that they are for, and administrators?

Also, admin users might often need to check invoice for administrative/financial reasons, which usually happened on our projects.

That is fine - but surely they should be using permission based views to do that?

Finally, where would you suggest to store documents, out of the media directory?

Documents that need permissions should not be in the media directory because it is public. They should be served through permission-based views. If that includes PDFs etc then you would use X-Accel-Redirect etc to ensure that the web server can serve them securely.

Instead it you can provide a pdf generation file with weasyprint example in the documentation.

I render invoices on demand and don't store them.

Invoices on the other hand should only be accessible to the customer that they are for, and administrators?

Yes.

That is fine - but they should be using permission based views to do that?

Yes.

Documents that need permissions should not be in the media directory because it is public. They should be served through permission-based views. If that includes PDFs etc then you would use X-Accel-Redirect etc to ensure that the web server can serve them securely.

Yes, I'm now convinced that we should store invoices outside of media directory.

As for PDF generation - we won't be implementing that in the Oscar core and allow developers integrate this on their own.

@sasha0 The logic, i think, is store invoices information and each one can generate his own PDF files as they want.

I think the structure of LegalEntity and LegalEntityAddress needs tweaking. Things like website and email should be part of LegalEntity in my opinion, and not part of LegalEntityAddress. The address should literally be just an address, and not used to store other information related to the entity.

Ok, we left only phone and fax number.

Settings like OSCAR_INVOICE_TERMS_AND_CONDITIONS are too specific and meet a very narrow use case. I think we should just provide a default template and expect projects to override it when they need to add custom content to the template. Most projects will have to do this anyway. Same for OSCAR_INVOICE_ADDITIONAL_DATA.

Agreed. Done.

Invoices on the other hand should only be accessible to the customer that they are for, and administrators?

For this purposes it was implemented custom storage - oscar.core.DocumentsStorage. Could be re-used for other private documents too.

I think the invoice number deserves its own class, which should be easily overridable.
That would make the use of alphanumerical invoice numbers trivial.

Right. We already move it to separate class.

I think the Invoice should store even more information than it does now. It should store everything that is needed to recreate the exact same invoice at any given time.
Invoices should be kind of immutable. The current implementation references addresses. If the customer updates an address all historical invoices using that address are wrong after the address change.
In my opinion the data needed to create a invoice can be stored denormalized, for example in a JSON-field.

It's Postgres-specific, which does not make it universal. It could be an overhead to store all related order data by default, so I think if it's the goal - it should be addressed on the project basis.
I'm almost certain that this could be rather receipt generation, than invoice, per my latest comments - https://github.com/django-oscar/django-oscar/issues/2314#issuecomment-367278936.
Any feedback is much appreciated.
Thanks.

It's Postgres-specific, which does not make it universal. It could be an overhead to store all related order data by default, so I think if it's the goal - it should be addressed on the project basis.

You're right, the about the JSON field, but we could store the data in a text field for other databases.
I think the overhead it justifyable, because it provides comprehensibility.

We are still waiting for this :D

As per our discussions @sasha0, this is now going to be a standalone app, so closing this PR.


Reloading state data

Hey,
What would be the best way to reload the data for a component? We currently have many components on a page and am unsure on the best way to allow the user to go back and fourth on the browser and keeping the state data persistent.
Cheers

store application state somewere in services, get it using resolvers, pass to components via bindings, change state by asking services.

I am using Angular cache factory within the service layer to solve this issue.

@samithaf could you share with more details?

Sorry for the late response.
First you can register your cache factory as follows.
.factory('app.core.common.mario.marioCache', $cacheFactory => {
    'ngInject'
    return $cacheFactory('app.core.common.mario.marioCache')
  })

and then you can write a service as follows which will consume the cache factory.
class MarioService {
  constructor ($http, $log, $rootScope, $cacheFactory) {
    this.$http = $http
    this.$log = $log
    this.$rootScope = $rootScope
    this.$cacheFactory = $cacheFactory

    this.model = {}
  }

getDetails(){
// pass the cache factory to http get. So Angular going to cache the data
 return this.$http.get('api/get/queen', { cache: this.$cacheFactory }).then((res) => {})
}

}
MarioService.$inject = ['$http', '$log', '$rootScope', 'app.core.common.mario.marioCache']

export default MarioService

@samithaf well... this doesn't solves any issues. This is just http response caching.

@fesor by setting cache to http object when you request the same URL angular will not going to send another request. The original question is how to prevent data get loading from server again and again isn't it? So by adding cache problem can be solved.

@samithaf nope. Imagine that there is no backend. All state is stored in memory. And if you have many services, you could easily lose control and break state consistency. This is common problem for stateful components.
It's more about where to store state, in components or elsewhere. From where components should get state? Should it require state from services directly or there is a better way?
My answers was that components should be stateless and all required state should be provided from outside via bindings. Components shouldn't change application state directly, instead of it, they should ask service layer.

@baj84 if you are struggling with state a lot, I have written an Angular module that will only delegate state updates when necessary (via PubSub) to your contextually relevant entities, giving you more control over when entities are updated:
https://github.com/slurmulon/ng-current
I have used a similar approach in production - they idea is reacting to changes when necessary instead of relying so heavily on the synchronization of the digest cycle through rapid polling (this is something I have always felt Angular 1.X did wrong, but was right for the time).  As soon as we integrated this basic concept, issues such as state drift, missed updates and unwanted state refreshes became a thing of the past as their management became more transparent.

@slurmulon are you receiving state inside components?

@fesor Yes, a directive/controller is where you ultimately receive your states. Check out this demo code for an example:
https://github.com/slurmulon/ng-current/tree/master/demo/services (contextual services)
https://github.com/slurmulon/ng-current/blob/master/demo/directives.js (components incorporating contextual services)
For a working example, check out http://plnkr.co/edit/XlQ9ho?p=preview (particularly script.js:L248-290, helps to outline the general use case through data). The idea is that you commonly work with a hierarchy of related component entities (User -> Site -> Quote), each of which may be "selected" by a user at a certain time. For example, a user may have multiple Sites (perhaps a clearer term is ConstructionSite for this example, whatever), but you need to track their selected choice so that more detailed information may be displayed later on in a component.  If the user switches a Site, you might want any dependents (Quote) to be updated as well.
Note how when you click "Switch Users", the collection of Sites and Quotes represents those only belonging to the contextually relevant user. When you click "Random Site", only the list of quotes changes, and only if the newly chosen random site is different from the previous (intentional to show how this only delegates changes when necessary)

@slurmulon there are much simpler and cleaner solution of your problem than your implementation. All that we need to do - move out state manipulation outside of components and life became much easier:
http://plnkr.co/edit/fJP3akbbngumTOPygBPG?p=preview
p.s. Stop using scope, really. And please follow angular-styleguide.

I happily accept cleaner solutions and I appreciate your example. However I have worked with many great Angular/SPA engineers for nearly 6 years now who have struggled with handling the various implications of this problem, so this is simply a result of those experiences.
I view that there are a couple undesired complications with your example.

Your code does not allow you to easily abstract out business/model logic for Site or Quote with discrete services as Angular encourages. It assumes that you should explicitly access and manage every sub-entity of User, which doesn't encourage clean abstraction or proper encapsulation as far as I see it.

You must manually delegate the updates to other dependent entities wherever they are used, logic which you have chosen to reduce to:

onRandUserPressed() {
this.User.all()
.then(users => randomItem(users))
.then(user => {
this.currentUser = user;
this.sites = user.sites;
})
.then(() => this.onRandSitePressed())
}

The entire point of this library is to prevent redundant code such as this because it's repetitive, prone to error and exposes complexity where you least want it. This logic must be re-written (or alternatively abstracted as I've done) in **every component** that involves either selecting or updating a `User`, `Site`, or `Quote` entity, which in the UIs I have worked on often involve many inter-dependent components. In other words, with this design, you must always remember that any time you switch a `User`, you must also switch a `Site`. In this particular snippet, I also find it strange that you must chain `.then(() => this.onRandSitePressed())` as this functionality should be orthogonal to the functionality of the "Switch User" button - seems to be a mix of concerns.

These issues will be exacerbated when you need to coordinate the source of your data between `cache` and the latest API representation. For instance, what if your API supports representing resource entities as either links, partial or full responses? The logic you're suggesting easily breaks down under this common scenario because it strongly depends on a canonical source of data in order for it to stay clean and maintainable. Contrary to your statement, I do not believe that this code is easily maintainable in a large modern application.

If you have encountered complex problems such as these and elegantly solved them in the past, I'd be curious to see how you did so. Thanks for the feedback!

Your code does not allow you to easily abstract out business/model logic for Site or Quote with discrete services as Angular encourages.

I prefer to place such logic in my domain entities. I trying to make services stateless.

The entire point of this library is to prevent redundant code such as this because it's repetitive

In my projects I use ui-router's resolvers to get application state. In that case I would have 3 resolvers. Separate services which know how to get application state and nothing more. So... what's wrong with separation of concerns?

in every component that involves either selecting or updating a User, Site, or Quote entity

Components doesn't know anything about how to get or update entities. They are want state passed in and services to ask for update.

I also find it strange that you must chain .then(() => this.onRandSitePressed()) as this functionality should be orthogonal to the functionality of the "Switch User" button - seems to be a mix of concerns.

Well.. this could be solved in other way:
class MyComponent {
    // ...
    get user() { return this._user }
    set user(val) {
        this._user = val;
        this.onRandSitePressed();
    }
}

And since "sites" are references to users, they also should be updated after switching user. Or maybe this is some strange business logic.

Contrary to your statement, I do not believe that this code is easily maintainable in a large modern application.

 They have only one responsibility - representing state. The should not know where this state came from or how to update it. Only service layer know this. (my app component know how to get state just because we don't have router in this example)
I tried solutions like yours year ago or so, and it just doesn't work. It hard to test, it hard to work with. In my case, there was no problems so far.
I will try to update some opensouce app (docker distribution frontend for example) to my approach, maybe this would help.

Your code does not allow you to easily abstract out business/model logic for Site or Quote with discrete services as Angular encourages.

I prefer to place such logic in my domain entities. I trying to make services stateless.

But by making your Services "stateless", you have no easy way to share/delegate that state without propagating it through a chain of dependencies, scope bindings or verbose state providers. I agree that statelessness should be generally desired, it has many benefits. But ultimately there are many common scenarios where the changes in one component can affect any number of other component states. How would you easily orchestrate something like this without some sort of high-level supervisor (I guess I'm thinking of this under the Actor paradigm)? My solution was to look at each Service as a synchronized and canonical source of state for your entities, and this has worked quite well for me.  I'm definitely curious if you have avoided issues such as this entirely in the past, but from everything I've learned about state, concurrency, functional parallelism, etc., it seems you would experience some design complications without such singleton entities as the application grows.

The entire point of this library is to prevent redundant code such as this because it's repetitive
In my projects I use ui-router's resolvers to get application state. In that case I would have 3 resolvers. Separate services which know how to get application state and nothing more. So... what's wrong with separation of concerns?

I suppose I just view it as pointless/irritating to involve entities such as this - everything has a sense of state regardless if the underlying mechanisms are stateless, even a web API, so it feels strange to abstract that in a decoupled manner.  Another problem with this is that anywhere a Service is used, I must be sure to resolve against that state's route with the latest and greatest, which seems cumbersome and repetitive to me (but admittedly free, you won't run into walls this way).  As I understand it, if you use your Service in 10 different components, which each have their own state, you would have to write 10 resolve blocks. I have worked on applications with nearly 100 directives/components, each of which may involve multiple Services, so that could easily add up to hundreds of identical resolve statements (and their associated state provider statements) being made. Using angular-ui-router on large code base just seemed to complicate my state management scenario more than resolve it (the entire team felt this way), particularly because the applications I've worked on had a lot of complicated states which could not always be represented via URLs, forcing me to partially diverge from the framework and thus a canonical source of state (sad times). I also had problems with making certain data accessible in nested components as your state always stems from a high-level component that's mapped to a route. If you're using isolate scopes, which is common, the verbosity and duplication is incredibly frustrating.

I also find it strange that you must chain .then(() => this.onRandSitePressed()) as this functionality should be orthogonal to the functionality of the "Switch User" button - seems to be a mix of concerns.
Well.. this could be solved in other way:

class MyComponent {
    // ...
    get user() { return this._user }
    set user(val) {
        this._user = val;
        this.onRandSitePressed();
    }
}

And since "sites" are references to users, they also should be updated after switching user. Or maybe this is some strange business logic.
I still feel that there is too much manual work involved here that is prone to mistake.  Why wouldn't you prefer something like:
class RandomUser
  constructor(User) {
    'ngInject'

    User.use('current', then((user) => this.user = user)
  }

  next() {
    return User.all(function(users) {
      const current = Contexts.current(user, users[0]) // arbitrarily select first user if none is selected, can come from anywhere
      const others = users.filter((user) => user.id !== current.id) // users that aren't the current one

      if (others) {
        Contexts.select('user', others[0]) // select next user in the list, delegating update to all dependent Services and components
      }
    })
  }

In this way, you don't have to needlessly invoke this.onRandSitePressed();, it only ever gets called when it needs to by the user, and this guarantees that this component will always be working with the application's relevant user selection and never anything else.

Contrary to your statement, I do not believe that this code is easily maintainable in a large modern application.
 They have only one responsibility - representing state. The should not know where this state came from or how to update it. Only service layer know this. (my app component know how to get state just because we don't have router in this example)

I couldn't agree more, stupid stateless UI components should be preferred. ng-current doesn't break that paradigm that at all since the component utilizing it doesn't have to know/care where the state came from, it just needs to concern itself with the semantic of the state (i.e, what does this state mean to me?), which is an appropriate consideration in my eyes. All it needs to know is what entity it depends on and what the context of that dependency is, which is exactly what ng-current encourages (just inject User if you want it, then call User.all(), User.byId(), User.current(), whatever makes sense for the context of the component).  It's no different than pushing this logic up into the router and having a state provider determine this context instead - the latter just involves more user code. I believe your approach provides the same behavior, however it seems to involve more explicit state setup and repeated bindings in order for it to function, which is what I want to avoid. How have you addressed managing the state of components that don't fit into the URL scheme?

I tried solutions like yours year ago or so, and it just doesn't work. It hard to test, it hard to work with. In my case, there was no problems so far.

I will try to update some opensouce app (docker distribution frontend for example) to my approach, maybe this would help.

Interestingly I have experienced the opposite, testing became sane, incredibly predictable and easy to stub once we integrated these concepts. What tools/approaches did you use in the past that were similar to ng-current? I'm also curious how you cleanly coordinated cache and API representations with your approach.
Thanks for putting together more resources, really interested to take a look.


Unit Test with Jest

Hello,
when i try to run unit tests with jest where i include multiselect i get this error:
Cannot use import statement outside a module.
Any suggest?

Hello, when i try to run unit tests with jest where i include multiselect i get this error:
Cannot use import statement outside a module.
Any suggest?

i get the same error too

With vue-cli the recommendation seems to be to adjust the transformIgnorePatterns in your jest.config.js file.
module.exports = {
	// ...
	transformIgnorePatterns: ["/node_modules/(?!@vueform/multiselect)"],
}

This way testing the multiselect with testing-library/vue works.


IDatabase.GetConnection().ConnectionString returns connection string without password

Scenario:

Build pipeline sets up sql server docker container with username / password auth
Connection string for the above is Server=sqlserver; Database=DB; User Id=sa; Password=xyz; (supplied via env variable setup in build pipeline)
Connection string is read in code, e.g. var connectionString = _db.GetConnection().ConnectionString;
Connection string returned is Server=sqlserver; Database=DB; User Id=sa; (no password)
Sql exception "Login failed" is raised when code runs

After doing some reading, this isn't related to Beef, but to behaviour of SqlConnection.ConnectionString. In short, it will not return security info, unless Persist Security Info=true has been set in the connection string itself.
Microsoft Docs
Closing this ticket.

Reopening the issue - is there another way to return unchanged connection string?

Hi @Simke11, I do not understand the issue here. Why are you trying to get the connection string back out? Could you not try the environment variable again? Where is this failing in Beef - stack trace? Hope you are well mate. Cheers...

Hey mate, so its not really an issue with Beef as such, but a behaviour of .net when returning SqlConnection.ConnectionString. Should have probably done my investigation first before raising the issue :) Getting a full connection string (with password persisted) some other way from IDatabase instance would be a nice to have.
The way I was trying to use it is probably an edge case. To give a bit more context - there is a data class which has IDatabase instance, which is then used in various methods to execute stored procs - pretty standard pattern. However I have one method that runs sql bulk copy, which requires connection string, so I thought I'd use GetConnection().ConnectionString to get it.
In any case, I am getting connection string in a different way, so its all good.

OK, thanks @Simke11. Closing the issue.


Fix nil pointer deference in pod Ready condition

Description
This PR fixes a nil pointer dereference error occurring in the virtual kubelet when a local offloaded pod does not have the Ready condition set.
Fixes #2038

/test

/merge


NFAuthenticationKey Software isn't working

Hey there,
That software for the Authentication Key login method isn't opening on Windows.

ii cannot reproduce the problem so i have no idea what problem on your computer
however this software requires the .NET 3.8 framework maybe your .NET library is broken/missing


drivers: uart_pl011: Enable shared interrupts support

The PrimeCell UART (PL011) IP can use one single combined/shared
interrupt line instead than different IRQ lines for TX/RX/Err/... This
is the most common configuration supported in the Linux world but not
currently supported in Zephyr. QEMU emulates a PL011 UART with a single
interrupt line as well.
To support this configuration we have to hookup the PL011 driver with a
shared IRQ driver and add two new configuration options when the shared
IRQ line is used.

Could we get some more reviews for this one, please?
My own take (as non-UART driver expert): wouldn't it make more sense to have a generic option that the driver selects to make the new struct member available? It seems wrong to me to have driver-specific references in include/uart.h. Alternatively, is this something that'd make sense to describe in DT?

What about moving shared_irq_dev_name into the driver-specific struct pl011_data?


Icon change

VSCode Version: 1.13.1
OS Version: Windows 7 SP1

Can we change the icon so that the middle of the symbol is not filled with white, and is instead see-through? I've attached some files I drew up of the new icon. One is actually a PNG the other is a .ico file disguised as a PNG because GitHub doesn't allow for the uploading of ICO files. Just change the extension and it should be fine.

https://github.com/Microsoft/vscode/issues/6607


Allow adding arguments to php-unit hook

Mimicking the work done for the php-stan hook, I have added support in php-unit for passing arguments.
This way, for example, you could run in a pre-push hook only the tests with a certain tag/group (e.g. the isolated ones).

I didn't find a good way to test it locally, any hint to do it properly? Thanks :-)


Remove version: qBittorrent.qBittorrent version 4.5.2

[Automated] It returns code over 400 in all urls
Microsoft Reviewers: Open in CodeFlow

URL: https://sourceforge.net/projects/qbittorrent/files/qbittorrent-win32/qbittorrent-4.5.2/qbittorrent_4.5.2_lt20_qt6_x64_setup.exe/download
Status Code: 200
(Automated message - build 896)

Close with reason: Package still available.;


OnTAP Music JS Project Added

Thanks, for letting me contribute to your repository.

Katai Zeher dude

Uda le mazak... Maza tho bohut aaya hoga mera mazak udake😢


FLEX-2688 ~ Added SetReverseTariffSchedule tests

This pull request makes the build fail.

This pull request makes the build fail.

All is well.

All is well.