Speed of values being displayed may be not realistic?

Actual behavior
This came up when considering the unit of the time-sweep indicator (#151). But is has to do with time-sweep only indirectly. If this is an issue, it does not come from the time-sweep itseld but more from the overall way of how data is processed and displayed in the frontend.
Expected behavior
Other oscilloscopes might (as I understood) display new data in their own speed, meaning a new div (pixel, respectively) in a fixed amount of time (unit: [time/div]). Also, Wieland said that our time-sweep should be unit time/div. But currently that is not what our oscilloscopse (and by this also our time-sweep) does.
Additional context
Changing this would require changing the whole way of how data is processed in the frontend (I guess).

Leon and me compared our ideas and agreed on how to proceed:

Where we stand:

The speed in which our oscilloscope plots in dependent on the frequency in which it receives packages
This receive-speed is dendent on the sending frequency of the backend (which is the generator's frequency divided by 200)
Hence, the display speed is determined by the backend. It is of unit "div per update" and not "time per div" (as it is supposed to be)

Workarounds:

Obtain the time per update and compute the time per div, as we know how many divs refer to one update (namely one pixel per update times time-sweep)
Our ideas differed in how we obtain the time per update:

Option 1: Use a constant as we know the frequency of our generator (drawback: more unrealistic as it only works for our generator and no other "sensor")
Option 2: Compute the time per update empirically on update (drawback: computation overhead and very laggy even if only measured at every 10_000 update or so)

Next steps:

Go with the first workaround option
Maybe implement second in backend after this was refactored (#165)
Nice-2-have: fix the underlying issue in the backend: buffer received signals in backend and let the oscilloscope determine its (fixed * time-sweep) display speed

Current display speed computation:

Expect number of updates from generator/backend per second (as constant = 10_000)
From this, the overall width (1000 pixels) and the number of divs (=20), we can compute the expected time per div (without time sweep) (=((1000/20) / 10_000) = 0,005s)
This is converted into ms/div and divided by the delta variable derived at time-sweep calculation

The displayed sweep speed still not matches the actual sweep speed.
The indicators display 5ms/div (with 1 div is one grid block)

The real sweep speed feals more like 1 sec for 2 div, but that's not an correct measure, more like gut feeling


Multi-Manage: Users Export - Add custom fields for existing Group's Users stats

Is your enhancement request related to a problem? Please describe.
I want to export additional user data shown on Group's Users page (e.g. https://www.steamgifts.com/group/3JcQV/baguild/users) because copying and pasting user data from browsers (Chrome, Firefox, etc) into plain text or Excel is difficult and ugly (it puts all data in a single column, not 5 or so columns).
Describe the solution you'd like.
For Multi-Manage Users' Export custom template/fields, please add these fields: SentValue, SentCount, ReceivedValue, ReceivedCount, Gift Difference, Value Difference
This information is available directly on Group's Users page.  No need to make these custom fields available from any other pages.
Describe alternatives you've considered.
Reduce the number of fields to 4: Sent (value & count), Received (value & count), Gift Difference, Value Difference
Without this enhancement, my workaround would be to manually copy & paste individual User rows into Excel columns, then optionally transposing those to columns.
Additional Context
Multiple SG/Steam groups use Value Difference in determining who stays & who gets kicked from a group, including mine (linked above). Exporting group user stats would allow for an easy to retrieve, share, and store what users' stats are at a point in time.

Keep in mind that this will work only in the current page (though you can use Endless Scrolling to load all pages and then export the data for all of the users).

Great - Thank you for the reminder about Endless Scrolling!  I will be sure to utilize that.


ionic 5: Modal Background with Google Maps Classes

Bug Report
Ionic version:

[x] 5.x
Current behavior:

In my Project this Modal "Background Color" (see Image from your Announcement Demo) is white:

I figured out why and it is because i have the Google Maps Plugin installed and this sets this:
background-image: none !important;
background: rgba(0,0,0,0) none !important;
background-color: rgba(0,0,0,0) !important;

This seems to be the Reason why it is white in my Case.
Expected behavior:

The Background should be black, even if i use the Google Maps Plugin.
Steps to reproduce:

Create a ionic v5 Project, use the Maps Plugin and create a Map. Than create a Modal (on another Page).
Other information:

Ionic info:

Ionic:

   Ionic CLI                     : 6.1.0 (/usr/local/lib/node_modules/@ionic/cli)
   Ionic Framework               : @ionic/angular 5.0.0
   @angular-devkit/build-angular : 0.803.25
   @angular-devkit/schematics    : 8.3.25
   @angular/cli                  : 8.3.25
   @ionic/angular-toolkit        : 2.1.2

Cordova:

   Cordova CLI       : 9.0.0<EMAIL_ADDRESS>   Cordova Platforms : android 8.1.0, ios 5.1.1
   Cordova Plugins   : cordova-plugin-ionic-keyboard 2.2.0, cordova-plugin-ionic-webview 4.1.3, (and 53 other plugins)

Utility:

   cordova-res (update available: 0.9.0) : 0.8.1
   native-run                            : 0.3.0

System:

   Android SDK Tools : 25.2.3 (/Users/hanskrywalsky/Library/Android/sdk)
   ios-deploy        : 1.10.0
   ios-sim           : 8.0.2
   NodeJS            : v10.16.3 (/usr/local/bin/node)
   npm               : 6.13.7
   OS                : macOS Catalina
   Xcode             : Xcode 11.3.1 Build version 11C504

Thanks for the issue. Can you try the following dev build and let me know if it resolves your issue?
npm i<EMAIL_ADDRESS>

@liamdebeasi Yes, this Dev Build resolves it. Awesome! 🎉

Thanks for the issue. This has been resolved via https://github.com/ionic-team/ionic/pull/20470 and  will be available in an upcoming release of Ionic Framework.


fix: use ROS2 interfaces instead of ROS1

There was a conflict between ROS1 and ROS2 interface naming. This fixes it and ROS2 interfaces must be specified with this format: std_msgs/msg/String
Fixes https://github.com/eProsima/Integration-Service/issues/180

Why did I get an error compiling ROS2_SH using "colcon build"
--- stderr: is-ros2
CMake Warning at CMakeLists.txt:50 (message):
          The variable 'IS_ROS2_DISTRO' was not used. You might want to set it to
          specify which ROS 2 version should be used to compile the ROS 2 System Handle.
          By default, a ROS 2 version from the sourced environment will be retrieved automatically.

CMake Error at CMakeLists.txt:75 (add_library):
Target "is-ros2" links to target "std_msgs::std_msgs__rosidl_generator_c"
but the target was not found.  Perhaps a find_package() call is missing for
an IMPORTED target, or an ALIAS target is missing?
CMake Error at CMakeLists.txt:75 (add_library):
Target "is-ros2" links to target
"std_msgs::std_msgs__rosidl_typesupport_introspection_c" but the target was
not found.  Perhaps a find_package() call is missing for an IMPORTED
target, or an ALIAS target is missing?
CMake Error at CMakeLists.txt:75 (add_library):
Target "is-ros2" links to target "std_msgs::std_msgs__rosidl_typesupport_c"
but the target was not found.  Perhaps a find_package() call is missing for
an IMPORTED target, or an ALIAS target is missing?
CMake Error at CMakeLists.txt:75 (add_library):
Target "is-ros2" links to target "std_msgs::std_msgs__rosidl_generator_cpp"
but the target was not found.  Perhaps a find_package() call is missing for
an IMPORTED target, or an ALIAS target is missing?
CMake Error at CMakeLists.txt:75 (add_library):
Target "is-ros2" links to target
"std_msgs::std_msgs__rosidl_typesupport_introspection_cpp" but the target
was not found.  Perhaps a find_package() call is missing for an IMPORTED
target, or an ALIAS target is missing?
CMake Error at CMakeLists.txt:75 (add_library):
Target "is-ros2" links to target
"std_msgs::std_msgs__rosidl_typesupport_cpp" but the target was not found.
Perhaps a find_package() call is missing for an IMPORTED target, or an
ALIAS target is missing?
CMake Error at CMakeLists.txt:75 (add_library):
Target "is-ros2" links to target "std_msgs::std_msgs__rosidl_generator_c"
but the target was not found.  Perhaps a find_package() call is missing for
an IMPORTED target, or an ALIAS target is missing?
CMake Error at CMakeLists.txt:75 (add_library):
Target "is-ros2" links to target
"std_msgs::std_msgs__rosidl_typesupport_introspection_c" but the target was
not found.  Perhaps a find_package() call is missing for an IMPORTED
target, or an ALIAS target is missing?
CMake Error at CMakeLists.txt:75 (add_library):
Target "is-ros2" links to target "std_msgs::std_msgs__rosidl_typesupport_c"
but the target was not found.  Perhaps a find_package() call is missing for
an IMPORTED target, or an ALIAS target is missing?
CMake Error at CMakeLists.txt:75 (add_library):
Target "is-ros2" links to target "std_msgs::std_msgs__rosidl_generator_cpp"
but the target was not found.  Perhaps a find_package() call is missing for
an IMPORTED target, or an ALIAS target is missing?
CMake Error at CMakeLists.txt:75 (add_library):
Target "is-ros2" links to target
"std_msgs::std_msgs__rosidl_typesupport_introspection_cpp" but the target
was not found.  Perhaps a find_package() call is missing for an IMPORTED
target, or an ALIAS target is missing?
CMake Error at CMakeLists.txt:75 (add_library):
Target "is-ros2" links to target
"std_msgs::std_msgs__rosidl_typesupport_cpp" but the target was not found.
Perhaps a find_package() call is missing for an IMPORTED target, or an
ALIAS target is missing?
CMake Error at CMakeLists.txt:75 (add_library):
Target "is-ros2" links to target "std_msgs::std_msgs__rosidl_generator_c"
but the target was not found.  Perhaps a find_package() call is missing for
an IMPORTED target, or an ALIAS target is missing?
CMake Error at CMakeLists.txt:75 (add_library):
Target "is-ros2" links to target
"std_msgs::std_msgs__rosidl_typesupport_introspection_c" but the target was
not found.  Perhaps a find_package() call is missing for an IMPORTED
target, or an ALIAS target is missing?
CMake Error at CMakeLists.txt:75 (add_library):
Target "is-ros2" links to target "std_msgs::std_msgs__rosidl_typesupport_c"
but the target was not found.  Perhaps a find_package() call is missing for
an IMPORTED target, or an ALIAS target is missing?
CMake Error at CMakeLists.txt:75 (add_library):
Target "is-ros2" links to target "std_msgs::std_msgs__rosidl_generator_cpp"
but the target was not found.  Perhaps a find_package() call is missing for
an IMPORTED target, or an ALIAS target is missing?
CMake Error at CMakeLists.txt:75 (add_library):
Target "is-ros2" links to target
"std_msgs::std_msgs__rosidl_typesupport_introspection_cpp" but the target
was not found.  Perhaps a find_package() call is missing for an IMPORTED
target, or an ALIAS target is missing?
CMake Error at CMakeLists.txt:75 (add_library):
Target "is-ros2" links to target
"std_msgs::std_msgs__rosidl_typesupport_cpp" but the target was not found.
Perhaps a find_package() call is missing for an IMPORTED target, or an
ALIAS target is missing?
CMake Error at CMakeLists.txt:75 (add_library):
Target "is-ros2" links to target "std_msgs::std_msgs__rosidl_generator_c"
but the target was not found.  Perhaps a find_package() call is missing for
an IMPORTED target, or an ALIAS target is missing?
CMake Error at CMakeLists.txt:75 (add_library):
Target "is-ros2" links to target
"std_msgs::std_msgs__rosidl_typesupport_introspection_c" but the target was
not found.  Perhaps a find_package() call is missing for an IMPORTED
target, or an ALIAS target is missing?
CMake Error at CMakeLists.txt:75 (add_library):
Target "is-ros2" links to target "std_msgs::std_msgs__rosidl_typesupport_c"
but the target was not found.  Perhaps a find_package() call is missing for
an IMPORTED target, or an ALIAS target is missing?
CMake Error at CMakeLists.txt:75 (add_library):
Target "is-ros2" links to target "std_msgs::std_msgs__rosidl_generator_cpp"
but the target was not found.  Perhaps a find_package() call is missing for
an IMPORTED target, or an ALIAS target is missing?
CMake Error at CMakeLists.txt:75 (add_library):
Target "is-ros2" links to target
"std_msgs::std_msgs__rosidl_typesupport_introspection_cpp" but the target
was not found.  Perhaps a find_package() call is missing for an IMPORTED
target, or an ALIAS target is missing?
CMake Error at CMakeLists.txt:75 (add_library):
Target "is-ros2" links to target
"std_msgs::std_msgs__rosidl_typesupport_cpp" but the target was not found.
Perhaps a find_package() call is missing for an IMPORTED target, or an
ALIAS target is missing?
CMake Error at CMakeLists.txt:75 (add_library):
Target "is-ros2" links to target "std_msgs::std_msgs__rosidl_generator_c"
but the target was not found.  Perhaps a find_package() call is missing for
an IMPORTED target, or an ALIAS target is missing?
CMake Error at CMakeLists.txt:75 (add_library):
Target "is-ros2" links to target
"std_msgs::std_msgs__rosidl_typesupport_introspection_c" but the target was
not found.  Perhaps a find_package() call is missing for an IMPORTED
target, or an ALIAS target is missing?
CMake Error at CMakeLists.txt:75 (add_library):
Target "is-ros2" links to target "std_msgs::std_msgs__rosidl_typesupport_c"
but the target was not found.  Perhaps a find_package() call is missing for
an IMPORTED target, or an ALIAS target is missing?
CMake Error at CMakeLists.txt:75 (add_library):
Target "is-ros2" links to target "std_msgs::std_msgs__rosidl_generator_cpp"
but the target was not found.  Perhaps a find_package() call is missing for
an IMPORTED target, or an ALIAS target is missing?
CMake Error at CMakeLists.txt:75 (add_library):
Target "is-ros2" links to target
"std_msgs::std_msgs__rosidl_typesupport_introspection_cpp" but the target
was not found.  Perhaps a find_package() call is missing for an IMPORTED
target, or an ALIAS target is missing?
CMake Error at CMakeLists.txt:75 (add_library):
Target "is-ros2" links to target
"std_msgs::std_msgs__rosidl_typesupport_cpp" but the target was not found.
Perhaps a find_package() call is missing for an IMPORTED target, or an
ALIAS target is missing?
CMake Error at CMakeLists.txt:75 (add_library):
Target "is-ros2" links to target "std_msgs::std_msgs__rosidl_generator_c"
but the target was not found.  Perhaps a find_package() call is missing for
an IMPORTED target, or an ALIAS target is missing?
CMake Error at CMakeLists.txt:75 (add_library):
Target "is-ros2" links to target
"std_msgs::std_msgs__rosidl_typesupport_introspection_c" but the target was
not found.  Perhaps a find_package() call is missing for an IMPORTED
target, or an ALIAS target is missing?
CMake Error at CMakeLists.txt:75 (add_library):
Target "is-ros2" links to target "std_msgs::std_msgs__rosidl_typesupport_c"
but the target was not found.  Perhaps a find_package() call is missing for
an IMPORTED target, or an ALIAS target is missing?
CMake Error at CMakeLists.txt:75 (add_library):
Target "is-ros2" links to target "std_msgs::std_msgs__rosidl_generator_cpp"
but the target was not found.  Perhaps a find_package() call is missing for
an IMPORTED target, or an ALIAS target is missing?
CMake Error at CMakeLists.txt:75 (add_library):
Target "is-ros2" links to target
"std_msgs::std_msgs__rosidl_typesupport_introspection_cpp" but the target
was not found.  Perhaps a find_package() call is missing for an IMPORTED
target, or an ALIAS target is missing?
CMake Error at CMakeLists.txt:75 (add_library):
Target "is-ros2" links to target
"std_msgs::std_msgs__rosidl_typesupport_cpp" but the target was not found.
Perhaps a find_package() call is missing for an IMPORTED target, or an
ALIAS target is missing?

@Heyangq that looks like a workspace issue where it can't find ROS2 libs in the workspace. You need to source ROS2 before you build.

@MiguelBarro while you are looking at ROS2-SH could you please check out this PR? I thought this was a pretty bad bug and I am confused as to why others aren't running into it?


<EMAIL_ADDRESS>hash check failed

PS Z:\> scoop install vcxsrv
Installing 'vcxsrv' (<IP_ADDRESS>) [64bit]
vcxsrv-<IP_ADDRESS>.1.installer.exe (746 B) [====================================================================] 100%
Checking hash of vcxsrv-<IP_ADDRESS>.1.installer.exe ... ERROR Hash check failed!
App:         extras/vcxsrv
URL:         https://downloads.sourceforge.net/project/vcxsrv/vcxsrv/<IP_ADDRESS>/vcxsrv-<IP_ADDRESS>.1.installer.exe#/dl.7z
First bytes: 3C 68 74 6D 6C 3E 3C 68
Expected:    4556b51226873d88380a15c81e83af2f3ba460a3
Actual:      8340847f43894bcbb48b66ef2bd7126ac823a02a
SourceForge.net is known for causing hash validation fails. Please try again before opening a ticket.

vcxsrv-<IP_ADDRESS>.1.installer.exe (746 B)

Your download failed, please try again. Looks like a network of firewall problem.

Oh, I see. Sadly I don't have access to firewall logs and such.

The hash in the manifest (the “expected” hash above) is correct. Please try again.
>scoop install vcxsrv
Installing 'vcxsrv' (<IP_ADDRESS>) [64bit]
vcxsrv-<IP_ADDRESS>.1.installer.exe (39.6 MB) [================================================================================================================================================] 100%
Checking hash of vcxsrv-<IP_ADDRESS>.1.installer.exe ... ok.
Extracting dl.7z ... done.
Linking C:\scoop\apps\vcxsrv\current => C:\scoop\apps\vcxsrv\<IP_ADDRESS>
Creating shim for 'vcxsrv'.
Creating shim for 'xauth'.
Creating shim for 'xcalc'.
Creating shim for 'xclock'.
Creating shim for 'xhost'.
Creating shim for 'xkbcomp'.
Creating shim for 'xlaunch'.
Creating shim for 'xrdb'.
Creating shim for 'xwininfo'.
Creating shortcut for VcXsrv (vcxsrv.exe)
Creating shortcut for XLauncher (xlaunch.exe)
'vcxsrv' (<IP_ADDRESS>) was installed successfully!


dev: Cache expensive (no-argument) LinearOperator methods that are reused in other calculations.

Some expensive LinearOperator methods are reused in calculations. For example, the .to_root() method for a DenseLinearOperator returns the Cholesky decomposition that is costly to compute. But once computed, it is cheap to use in matrix operations such as solving linear systems, computing log-determinants, etc. Caching this would enhance performance.

Have investigated this. This has to be functional, otherwise code will break e.g., in lax.scan's.
Root caching (if the dense matrix is not needed in further calculations, or is cheap to compute from the root) can safely be achieved in the current software with:
def compute_and_cache_root(lo: LinearOperator) -> Tuple[LinearOperator, LinearOperator]
    root_lo = lo.to_root()
    cached_lo = lo.from_root(root_lo)
    return root_lo, cached_lo

Might think about adding a cache_root class method, similar to from_root that builds a new class, but that ignores dense matrix construction.


master

I have updated this to be a simple change. If you don't want to target top, you'll need to override _form_with_header.rb, which I think is an adequate expectation.


Add validation for model durations

It was previously possible to accidentally enter obviously wrong values
for start/end dates. Add some basic validation to catch input errors
when creating or editing various models (when not using a timer).

Nice! I actually have a few unpushed commits that establish validation for some forms, but I have not done anything with duration yet. Let me get those pushed and then we'll need to do a bit of merge work here.

@youngbob do you have any preference for doing a rebase vs. me resolving and doing a squash and merge? I have mostly used rebase myself and just tried the GH merge conflict web UI on your other PR. It's odd, hah.

I'm in the middle of rebasing and removing my changes that conflict with yours around the form errors.

Coverage decreased (-0.01%) to 97.081% when pulling 1eeba2398d9b8b96eb3d53a5fdd452589b429e37 on youngbob:duration-sanity-check into 862066003e803152fd999f059d85034125fa4b51 on cdubz:master.

So, apparently I did this a little differently from your other validation validation work. I think it makes more sense to do this kind of checking in the model validation (which is called by ModelForm).

Yep, I was just looking at that and I agree with your method. I'm still pretty new to Django and working my way around the form validation stuff was a little rocky (:

Thanks again! 👍


[Proposal] Select * support HLL and Bitmap column

Why
Currently, select * doesn't support HLL and Bitmap column.

Which isn't compatible with tableau or navicat ... mysql tool and BI tools.
Which isn't friendly for user.

How

return null for  HLL and Bitmap column when select *

Directly return HLL and bitmap binary content when select *

Rewrite the sql and return cardinality of HLL or bitmap when select *

Rewrite the sql and return to_string of HLL or bitmap when select *

I prefer to solution 3:  Rewrite the sql and return cardinality of HLL or bitmap when select

I prefer 2.
If we follow the third way, its behavior will be inconsistent with insert into select *.

Usually it's a mistake to directly select HLL or bitmap column without applying function on it. In order to work around the "select *" queries issued automatically by BI tools, we could return NULL for HLL and bitmap columns by default. For users who want to get the raw binary of HLL and bitmap, we could add a configuration like return_raw_value_for_complex_type to support such scenario.

For users who want to get the raw binary of HLL and bitmap, we could add a configuration like return_raw_value_for_complex_type to support such scenario.

We don't need a configuration, If users indeed want to get the raw binary of HLL and bitmap, they could use select hll_column, bitmap_cilumn from table.  which sql is valid in Doris.


IPV6 missing under firewall setting

To Reproduce
Steps to reproduce the behavior:
Firewall > Settings > Advanced > IPv6 Options > Allow IPv6
Describe alternatives you considered
this option for Allow IPv6 is missing from the recent 1-2 months of version upgrade. sorry didn't track when exactly it disappeared.
Environment
Software version used and hardware type if relevant, e.g.:
OPNsense 24.7.1 (amd64).

Go to Interfaces - Settings. https://github.com/opnsense/core/commit/f5b298ec6cbfea7ee526d3eef2ebe12b49abc803

I'm pretty sure this was updated in the documentation as well so I'm closing this.


Updating documentation to cut out testrpc as a dependency

Small fixes

Testing yields weird issues in the interaction between MetaMask and the truffle develop testrpc (possibly due to re-using the seed), so not merging this for now.

MetaMask is making efforts to resolve this: https://github.com/MetaMask/metamask-extension/issues/1999 When the resulting code has been merged, we can move away from stand-alone testrpc, hopefully.

C'mon guys, the documentation needs to be updated ;) Is there still something wrong with this PR ?

Well, the issue I linked to to MetaMask in the last comment is still open, so my guess is that developing using truffle develop still requires periodic reinstallation of MetaMask, which, in my opinion, is not acceptable.
I would probably prefer switching to ganache as the recommended test-blockchain, as that is what the truffle team seems to be pushing. If I find time to test that and update the docs I will, but I'm a little short on time at the moment, so unless a PR for that magically appears hint hint it will stay this way for now :stuck_out_tongue:

So I actually got to doing it xD Fixed with #39


Create Controllers for Weapons Detection

Add a new controller for integration of Immich infrastructure created for weapons detection. This will be the access point for the API calls made for weapons detection.

Created controller in weapons-detect.controller.ts. Only one API endpoint - "weapons-detect/:id" (GET method). Commit for reference - 2bc009e467b51f2b8e61841c8e4b7cf1b5c8d0eb

This task is closed.


Double onPropertyUpdated in PropertyGrid when pressing Tab

Describe the bug
PropertyGridComponent from @itwin/property-grid-react calls onPropertyUpdated twice when you press TAB key (while editing a property). The two calls lead to some issues in our update implementation that uses EditCommands - you cannot start two overlapping EditCommands. This currently doesn't cause huge issues but our we end up showing this warning (when handling the second attempt to start EditCommand):

It also seems that onPropertyUpdated is called when focus is lost, this leads to some nasty error cycle if the first call throws and we want to show some kind of error alert UI - I'm guessing that error alert moves focus, onPropertyUpdated runs again, it errors out, we show an error alert again ...

NOTE:
There is a similar issue already: https://github.com/iTwin/appui/issues/915
To Reproduce

Start editing a property
Press TAB
Notice that it is called twice - first call is not awaited when second one is done.

See sample code and resulting console logs:

Expected Behavior
No response
Screenshots
No response
Desktop (please complete the applicable information)
Reproduced in iTwin Studio, here are its versions:
Version: 1.0.63 (b7a3432)
Build: iTwin Desktop Platform (Mango) 2024.07.10-2
iTwin.js: 4.7.4
iTwinUI: 3.10.0
AppUI: 4.12.0
React: 17.0.2
Node.js: 20.9.0
Electron: 29.1.0
Additional context
No response

The fix released with<EMAIL_ADDRESS>


Needed . [dot] support

@ipraba, nice work! However, sometimes we need a dot with our signatures, currently, I am checking the Example in the Simulator, I can't add a dot. Please close this issue if it's working on the real device.
Thanks!

the dot is must required please make this update in library. or help me to adding this at my side.


[IconMenu] Fix controlled IconMenus to honor onRequestChange

[x] PR has tests / docs demo, and is linted.
[x] Commit and PR titles begin with [ComponentName], and are in imperative form: "[Component] Fix leaky abstraction".
[x] Description explains the issue / use-case resolved, and auto-closes the related issue(s) (http://tr.im/vFqem).

This PR fixes a problem that allows controlled icon menus to close on its own. Now, if the icon menu is controlled, it will just call onRequestChange and not automatically close the menu.

That looks good to me. Thanks.
That could be considered a breaking change, but I would rather see this as a bug. That would have been better with a test.

@hai-cea Your last PR was some time ago. I'm glad you are back 😄 .

Thanks @oliviertassinari - Trying to get back at it. I will do better next time with tests. :)


random questions

want to implement random question for every users

Currently savsoft quiz v6.0 doesn't have random questions features. We will release this features soon in net updates.. watch this project to get updates.


[BUG] set_flyte_config_file should fail fast

Describe the bug
An invalid filepath passed to set_flyte_config_file should not be silently swallowed and should error or at least log.
Expected behavior
Flyte component

[ ] Overall
[ ] Flyte Setup and Installation scripts
[ ] Flyte Documentation
[ ] Flyte communication (slack/email etc)
[ ] FlytePropeller
[ ] FlyteIDL (Flyte specification language)
[x] Flytekit (Python SDK)
[ ] FlyteAdmin (Control Plane service)
[ ] FlytePlugins
[ ] DataCatalog
[ ] FlyteStdlib (common libraries)
[ ] FlyteConsole (UI)
[ ] Other

To Reproduce
Steps to reproduce the behavior:

...
...

Screenshots
If applicable, add screenshots to help explain your problem.
Environment
Flyte component

[x] Sandbox (local or on one machine)
[x] Cloud hosted

[ ] AWS
[ ] GCP
[ ] Azure

[ ] Baremetal
[ ] Other

Additional context

cc @MarathonDrew @whw

+1

This is available in flytekit==0.10.4


Dependabot autoupdates breaking versions of crates that haven't had a major release yet!

Describe the bug
Dependabot is currently automatically updating not just 1.x.y releases but also 0.x.y releases which is defined to to be a bad time and in practice quite often includes breaking changes.
(from https://semver.org)

Major version zero (0.y.z) is for initial development. Anything MAY change at any time. The public API SHOULD NOT be considered stable.

Expected behavior
Notify but don't auto-update on anything but releases that are defined not to break their public interface to avoid a rude awakening when functionality changes in subtle ways.

Example: https://github.com/varfish-org/varfish-server-worker/commit/34eefc9fae6c979e14b3b25c0a9d06fa672522d3


A discussion on out of memory error!

I am running a CNN/LSTM model on biomedical data and I am getting out of memory error. I am aware of all the discussion on this issue like here and here . I know that the solution is using a smaller network or batch size. But let's analyze the problem in this thread, because when I am doing calculations, I don't know why my GPU is out of memory. Additionally I am using GeForce GTX 980 Ti which has 6G memory. The most advance GPU is NVIDIA TITAN X which has 12G memory. Not a big difference! So please find paradox in my calculations at below. Here is my network parameters:
input_shape = (None, 210, 22, 26, 1)
total_params= 62545
batch_size =64
So the memory for this network should be:
network_memory = total_params * batch_size * 4(bytes) = 62545 * 64 * 4 = 16,011,520.
If we add the size of each batch of data then we have:
data_memory = 1210 * 22 * 26 * 64 * 4 = 30,750,720.
So the total used memory is 47 M which is very small in comparison with 6G memory that I have on the cluster. I am sure that GPU memory is not used by other devices also. So why I am getting out of memory error?
This is the error that I am getting:
MemoryError: Error allocating 123002880 bytes of device memory (CNMEM_STATUS_OUT_OF_MEMORY).
Apply node that caused the error: GpuContiguous(GpuDimShuffle{0,3,1,2}.0)
Toposort index: 562
Inputs types: [CudaNdarrayType(float32, 4D)]
Inputs shapes: [(13440, 16, 11, 13)]
Inputs strides: [(2288, 1, 208, 16)]
Inputs values: ['not shown']
Outputs clients: [[GpuDnnPoolGrad{mode='max'}(GpuContiguous.0, GpuContiguous.0, GpuContiguous.0, TensorConstant{(2,) of 2}, TensorConstant{(2,) of 2}, TensorConstant{(2,) of 0})]]

This is my network just in case:
___________________________________________________________________________________________________
Layer (type)                     Output Shape          Param #     Connected to
====================================================================================================
timedistributed_1 (TimeDistribute(None, 210, 22, 26, 16160         timedistributed_input_1[0][0]
____________________________________________________________________________________________________
activation_1 (Activation)        (None, 210, 22, 26, 160           timedistributed_1[0][0]
____________________________________________________________________________________________________
timedistributed_2 (TimeDistribute(None, 210, 11, 13, 160           activation_1[0][0]
____________________________________________________________________________________________________
dropout_1 (Dropout)              (None, 210, 11, 13, 160           timedistributed_2[0][0]
____________________________________________________________________________________________________
timedistributed_3 (TimeDistribute(None, 210, 11, 13, 324640        dropout_1[0][0]
____________________________________________________________________________________________________
activation_2 (Activation)        (None, 210, 11, 13, 320           timedistributed_3[0][0]
____________________________________________________________________________________________________
timedistributed_4 (TimeDistribute(None, 210, 5, 6, 32) 0           activation_2[0][0]
____________________________________________________________________________________________________
dropout_2 (Dropout)              (None, 210, 5, 6, 32) 0           timedistributed_4[0][0]
____________________________________________________________________________________________________
timedistributed_5 (TimeDistribute(None, 210, 5, 6, 64) 18496       dropout_2[0][0]
____________________________________________________________________________________________________
activation_3 (Activation)        (None, 210, 5, 6, 64) 0           timedistributed_5[0][0]
____________________________________________________________________________________________________
timedistributed_6 (TimeDistribute(None, 210, 2, 3, 64) 0           activation_3[0][0]
____________________________________________________________________________________________________
dropout_3 (Dropout)              (None, 210, 2, 3, 64) 0           timedistributed_6[0][0]
____________________________________________________________________________________________________
timedistributed_7 (TimeDistribute(None, 210, 384)      0           dropout_3[0][0]
____________________________________________________________________________________________________
dropout_4 (Dropout)              (None, 210, 384)      0           timedistributed_7[0][0]
____________________________________________________________________________________________________
convolution1d_1 (Convolution1D)  (None, 210, 16)       18448       dropout_4[0][0]
____________________________________________________________________________________________________
maxpooling1d_1 (MaxPooling1D)    (None, 26, 16)        0           convolution1d_1[0][0]
____________________________________________________________________________________________________
dropout_5 (Dropout)              (None, 26, 16)        0           maxpooling1d_1[0][0]
____________________________________________________________________________________________________
lstm_1 (LSTM)                    (None, 64)            20736       dropout_5[0][0]
____________________________________________________________________________________________________
dense_1 (Dense)                  (None, 1)             65          lstm_1[0][0]
====================================================================================================
Total params: 62545
____________________________________________________________________________________________________

The parameter values and the input data are only a small part of your memory requirements. You'll need far more memory to store the intermediate results, i.e., the outputs of each layer. For non-trivial models, this is where most memory is going (you could use the numbers from the "Output Shape" column to get an estimate of that). Theano will try to use the available memory somewhat efficiently -- running some operations in-place, for instance -- but many intermediate results need to be kept in memory to be able to compute the gradients.

Smaller mini-batch size is a easy way to lower the requested memory usage.
For RNN model type, Theano now have a new "scan" feature that do a thread
off between memory usage and speed:
http://deeplearning.net/software/theano_versions/dev/
library/scan.html?highlight=scan#theano.scan_checkpoints
If you don't want to lower the mini-batch size.
I don't think keras offer to use it, but it is an easy change to do.
On Fri, Jan 27, 2017 at 9:32 AM, Gijs van Tulder<EMAIL_ADDRESS>wrote:

The parameter values and the input data are only a small part of your
memory requirements. You'll need far more memory to store the intermediate
results, i.e., the outputs of each layer. For non-trivial models, this is
where most memory is going (you could use the numbers from the "Output
Shape" column to get an estimate of that). Theano will try to use the
available memory somewhat efficiently -- running some operations in-place,
for instance -- but many intermediate results need to be kept in memory to
be able to compute the gradients.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/fchollet/keras/issues/5199#issuecomment-275678188,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AALC-6-kaDisN2_s8mq91NGOTgRvNDs4ks5rWgADgaJpZM4LvbZE
.

It might also help to make sure that you're using the Theano image_dim_ordering = 'th' in your Keras config. It looks like you might be using the TensorFlow ordering now, is that correct? If you are, switching to the Theano ordering might avoid some copying of your data.
The error message you linked to failed at GpuContiguous and GpuDimShuffle, which is an combination that is introduced when converting your data from the TensorFlow ordering to Theano and back.
MemoryError: Error allocating 123002880 bytes of device memory (CNMEM_STATUS_OUT_OF_MEMORY).
Apply node that caused the error: GpuContiguous(GpuDimShuffle{0,3,1,2}.0)
Toposort index: 562
Inputs types: [CudaNdarrayType(float32, 4D)]
Inputs shapes: [(13440, 16, 11, 13)]
Inputs strides: [(2288, 1, 208, 16)]
Inputs values: ['not shown']
Outputs clients: [[GpuDnnPoolGrad{mode='max'}(GpuContiguous.0, GpuContiguous.0, GpuContiguous.0, TensorConstant{(2,) of 2}, TensorConstant{(2,) of 2}, TensorConstant{(2,) of 0})]]

I don't think this error is caused by Tensorflow/ Theano specifically. I got the same error even though I use Theano as backend.
{
    "image_dim_ordering": "th",
    "epsilon": 1e-07,
    "floatx": "float32",
    "backend": "theano"
}

MemoryError: Error allocating<PHONE_NUMBER> bytes of device memory (CNMEM_STATUS_OUT_OF_MEMORY).
Apply node that caused the error: GpuAdvancedSubtensor1(embedding_1_W, Elemwise{Cast{int64}}.0)
Toposort index: 6
Inputs types: [CudaNdarrayType(float32, matrix), TensorType(int64, vector)]
Inputs shapes: [(20001, 100), (11697000,)]
Inputs strides: [(100, 1), (8,)]
Inputs values: ['not shown', 'not shown']

I'm also trying to calculate the used memory, but there are many factors, that are different to calculate, i could not find a pattern. Besides the numbers of parameters and the batch_size, the choice of optimizer has also a big effect on the memory usage (SGD seems to consume much less than for example adadelta). But sometimes, the memory usage just seems to be quite random with theano. It might use 2500MB in one run, and 5000MB in another and back to 2500MB at a different time.

Which value do you use for the half device? If it start with GPU, do you
use the flag lib.cnmem? If not using it will speed up the computation and
"fix" this problem.
I would recommend that you use the new GPU backend, with device=cuda. Check
Theano web site about it.
Le ven. 26 mai 2017 07:10, maderafunk<EMAIL_ADDRESS>a écrit :

I'm also trying to calculate the used memory, but there are many factors,
that are different to calculate, i could not find a pattern. Besides the
numbers of parameters and the batch_size, the choice of optimizer has also
a big effect on the memory usage (SGD seems to consume much less than for
example adadelta). But sometimes, the memory usage just seems to be quite
random with theano. It might use 2500MB in one run, and 5000MB in another
and back to 2500MB at a different time.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/fchollet/keras/issues/5199#issuecomment-304256475,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AALC-65aPY-gPwc3pJA8jAT58aAJib5Xks5r9rMGgaJpZM4LvbZE
.


Sort pages by filename prefix

By integer:

1.page-name
1-page-name
1_page-name

By date:

YYYY-MM-DD-page-name.

Pages are already sorted alphabetically: the goal is to define what prefixes can be used (with a regex?) and delete them from the title and permalink.

WIP.

Done with the PR #228.


imageURL always return the same set of photos.

Hi @ctf0,
:imageURL() method provides fake images URL coming from Lorempixel.com, which is a tiny but useful free service. Such fake images are for layout purposes, and therefore this remote provider is not a royalty free stock photos service - which is a much more difficult (and valuable) service to provide ;-)
Feel free to propose any pull-request hack based on a reliable public domain photos provider: such improvement would be greatly appreciated!
We're looking forward to review your suggestion/code!

Great answer, @ronanguilloux. I don't see an easy way to fix this one, So I'll close the issue.

@ronanguilloux i made a PR for that.


Inserting graph with an empty relation no longer works.

I'm not positive if this a bug/regression or if I've been doing it wrong and need guidance on what the "right way" is. But I do have code that breaks when I attempt to upgrade to at least 1.5.0 where 46d937055a6f3374223a8ee56349ca7c5eabb6e0 as added.
Simplified example:
await Person.query().upsertGraph({
  firstName: 'Jennifer',
  lastName: 'Aniston',
  parent: {}, // BelongsToOneRelation
});

In my case I'm dealing with a one-to-one for polymorphic attributes, but that shouldn't matter here.
What use to happen was two INSERTs would fire off, one for the primary object and one for the relationship. For the second, it would only insert the ID of the new primary object (plus any defaults).
However, as of 1.5, only the first INSERT is executed.
Regression or is there a better way to insert an "empty" relation in a graph?

Inserting an empty item should work, so this is a bug. I'll fix this asap. Thanks for bringing this up!

@mastermatt I wrote a test and I'm not able to reproduce this. Both objects get inserted in my tests.

I'm afraid I'll need a reproduction for this one from you.

Here is a reproduction with the classes I'm working with pared down to just the attributes that map to columns and the one relationship that matters.
Payment Model
export default class PaymentTest extends Model {
  public static tableName = "payments";
  public static relationMappings: RelationMappings = {
    credit_card: {
      relation: Model.HasOneRelation,
      modelClass: "PaymentCreditCardTest",
      join: {
        from: "payments.id",
        to: "payment_credit_cards.id",
      },
    },
  };

  public readonly id!: number;
  public commerce_customer_id!: number;
  public organization_id!: number | null;

  public currency!: string;
  public currency_amount!: string;
  public currency_exchange_rate!: string;
  public requested_currency!: string;
  public requested_currency_amount!: string;
  public requested_currency_exchange_rate!: string;
  public usd_amount!: string;

  public site_id!: number;
  public payment_status_id!: number | null;

  public payment_id_external!: string | null;
  public payment_id_external_source_id!: number | null;
  public payment_method_id!: number;
  public merchant_account_id!: number;

  public gateway_reference_id!: string;

  public create_time!: Date;

  public credit_card!: Partial<PaymentCreditCardTest>;
}

Credit Card Model
export default class PaymentCreditCardTest extends Model {
  public static tableName = "payment_credit_cards";

  public readonly id!: number;
  public type_id!: number;
  public bin!: string | null;
  public last_four!: string | null;
  public exp_month!: string | null;
  public exp_year!: string | null;
}

elsewhere, something like this fires
const paymentData = {
  commerce_customer_id: 17000001,
  organization_id: 133000000,
  site_id: 1,
  requested_currency: 'USD',
  requested_currency_amount: '100',
  currency: 'USD',
  currency_amount: '100',
  usd_amount: '100',
  requested_currency_exchange_rate: '1',
  currency_exchange_rate: '1',
  payment_id_external: 'abc',
  payment_id_external_source_id: 65,
  payment_method_id: 1,
  merchant_account_id: 163,
  credit_card: {},
};

await PaymentTest.query().upsertGraph(paymentData);

note, in this example insertGraph could just as easily be used, by in my real world logic the payment may already exist and paymentData would include an id.
v 1.5+ Debug logs the one INSERT while awaiting for the upsert
{
  method: 'insert',
  options: {},
  timeout: false,
  cancelOnTimeout: false,
  bindings: [ 17000001, 'USD', '100', '1', 163, 133000000, 'abc', 65, 1, 'USD', '100', '1', 1, '100' ],
  __knexQueryUid: 'a87ca5e6-daaa-4215-b323-2208d60791c9',
  sql: 'insert into `payments` (`commerce_customer_id`, `currency`, `currency_amount`, `currency_exchange_rate`, `merchant_account_id`, `organization_id`, `payment_id_external`, `payment_id_external_source_id`, `payment_method_id`, `requested_currency`, `requested_currency_amount`, `requested_currency_exchange_rate`, `site_id`, `usd_amount`) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)'
}

v1.4.0 Debug logs show both the INSERTs
{
  method: 'insert',
  options: {},
  timeout: false,
  cancelOnTimeout: false,
  bindings: [ 17000001, 'USD', '100', '1', 163, 133000000, 'abc', 65, 1, 'USD', '100', '1', 1, '100' ],
  __knexQueryUid: 'c3e18b90-1281-4f52-9120-1965022ff904',
  sql: 'insert into `payments` (`commerce_customer_id`, `currency`, `currency_amount`, `currency_exchange_rate`, `merchant_account_id`, `organization_id`, `payment_id_external`, `payment_id_external_source_id`, `payment_method_id`, `requested_currency`, `requested_currency_amount`, `requested_currency_exchange_rate`, `site_id`, `usd_amount`) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)'
}
{
  method: 'insert',
  options: {},
  timeout: false,
  cancelOnTimeout: false,
  bindings: [ 1 ],
  __knexQueryUid: '9ccf9316-8be5-4d79-8413-6a7e78fb0812',
  sql: 'insert into `payment_credit_cards` (`id`) values (?)'
}

For the record, that's not a reproduction.  But I saw that the relationship is a HasOneRelation instead of BelongsToOne as you originally said. I'll try my test with a HasOneRelation.

I tried that with a HasOneRelation and it also works. So at least this isn't completely broken, but rather some detail in your setup is causing this.
If you want me to debug this further, I need a piece of code I can run with one single command, that reproduces the bug.

Your mapping is from primary key to primary key. Are you sure that's what you want?
      join: {
        from: "payments.id",
        to: "payment_credit_cards.id",
      }

That could be causing it somehow.

Yeah, it's related to primary key -> primary key relationships. I was able to reproduce this now. Fix will come soon.

That did the trick, thanks.


fix!: Use builtin probe endpoints

Description of the change
This starts using the built in probe endpoints.
These are /.backstage/health/v1/readiness and /.backstage/health/v1/liveness and were added in v1.29
Ref: https://backstage.io/docs/releases/v1.29.0#backend-health-service
I made this a breaking change, since these are new defaults
Checklist

[x] Chart version bumped in Chart.yaml according to semver.
[x] Variables are documented in the values.yaml and added to the README.md. The helm-docs utility can be used to generate the necessary content. Use helm-docs --dry-run to preview the content.
[x] JSON Schema generated.
[x] List tests pass for Chart using the Chart Testing tool and the ct lint command.

Hi @nikolaik would you be able to update the branch with the main? That should also reduce the amount of changes in the diff.

Hi @nikolaik would you be able to update the branch with the main? That should also reduce the amount of changes in the diff.

Rebased now <3

@nikolaik  Seems to be some test failures in the pipeline, are you able to take a look?

@nikolaik Seems to be some test failures in the pipeline, are you able to take a look?

@ChrisJBurns Sorry for the delay! Found the issue with the failing tests

Hi @nikolaik! I've noticed that the PR isn't actually specifying the new values as default:
https://github.com/backstage/charts/blob/1c75a54d57cd1514b943b101054df486f177b25a/charts/backstage/values.schema.tmpl.json#L418

Fixed now! But hitting another issue with the :latest backstage image, seems to be related to the new default config required for techdocs. I'm thinking of waiting until :latest is pointing to v1.31.0 to see if things get fixed

@vinzscam This should be good for a re-review

lgtm


Update README.md

Added my name

Thanks @shivaprasadyanala
Do give it a ⭐ and share it if you like


[WFLY-11570][WFLY-11687][WFLY-11607] component upgrades to fix remote transaction propagation issues

https://issues.jboss.org/browse/WFLY-11687
~~https://issues.jboss.org/browse/WFLY-11684~~
https://issues.jboss.org/browse/WFLY-11570
https://issues.jboss.org/browse/WFLY-11607
project issue: https://issues.jboss.org/browse/JBEAP-16089
The fix for the transaction timeout propagation error was done in two components (jboss ejb client and the wfly transaction client). That's why the component upgrades.
The reason of the changes in the integration testsuite is the different handling of timeouted transaction in wftc as it was so far. For more details please check the discussion at https://issues.jboss.org/browse/WFTC-54?focusedCommentId=13677791#comment-13677791

@ochaloup I want to merge this today as I'd like the upgrades in tonight. Can you send up a PR to address my minor test comments?

@ochaloup Sorry; my last comment was unclear. I meant please send up a separate PR as I'm merging this one.

thanks @bstansberry. @istudens fixed my ommisions in the PR https://github.com/wildfly/wildfly/pull/12059. Sorry for the errors here.


⚠ ClamAV has degraded performance

In 88154fe, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 462 ms

Resolved: ClamAV performance has improved in e5fff03.


[NOREF] clay eks teardown test

Creating this PR to test functionality in https://github.com/CMS-Enterprise/easi-app/pull/2915

Link to teardown job


[WIP]Alleviate memory pressure in SpectralClustering

An intermediate computation helps avoid excessive memory usage in a sample
problem.
Still having issues for larger problems (hence the WIP).
Closes https://github.com/dask/dask-ml/issues/151

I think I've narrowed things down a bit.
setup:
import numpy as np
import dask.array as da
from distributed import Client
from sklearn.datasets import make_blobs

from dask_ml.metrics.pairwise import  rbf_kernel

N = 100
c = N // 8

X, y = make_blobs(n_samples=N, n_features=1)
X = da.from_array(X.reshape(-1, 1), chunks=c).persist()

keep = X[:10]
rest = X[10:]

A = rbf_kernel(keep)
B = rbf_kernel(keep, rest)

bb = da.random.uniform(size=B.shape, chunks=B.chunks)
cc = np.random.uniform(size=B.shape[1],)

r = (B * cc).sum(1)
s = (bb * cc).sum(1)

For larger problems, the computation of r leads to excessive memory usage, while the computation of s is fine.
Here's the graph for r

And here's the graph for s

Two things:
Computing just B.sum(1).compute(), i.e. r without multiplying by a NumPy array is fine. This makes me think that something can be improved within dask, though perhaps not.
For now, I'm hopeful we'll be able to rewrite r to fuse the kernel function and the multiplication into one operation within dask-ml.

Hmm that last post may not be entirely accurate. For large values
N = 4_000_000
c = N // 8
n_components = 100

I'm seeing the memory usage computing s (the good case) grow as well.
%memit s.compute()
peak memory: 7319.70 MiB, increment: 5721.94 MiB

%memit r.compute()
peak memory: 7053.45 MiB, increment: 4311.25 MiB

Checking in.  Which version of Dask are you using?  I strongly recommend
updating to master if you haven't done so in the last few days.
On Wed, Mar 21, 2018 at 5:37 PM, Tom Augspurger<EMAIL_ADDRESS>wrote:

Hmm that last post may not be entirely accurate. For large values
N = 4_000_000
c = N // 8
n_components = 100
I'm seeing the memory usage computing s (the good case) grow as well.
%memit s.compute()
peak memory: 7319.70 MiB, increment: 5721.94 MiB
%memit r.compute()
peak memory: 7053.45 MiB, increment: 4311.25 MiB
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/dask/dask-ml/pull/152#issuecomment-375104479, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AASszAxia6iTgQTf2JCXZavTiEJqRho0ks5tgsgxgaJpZM4Syaxn
.

Looking at the graph page during computation I can convince myself that it's doing the right thing.

Yes, I think I see the same. Something that confuses me though is why these two have different behavior:
import numpy as np

import dask.array as da
from distributed import Client
from sklearn.datasets import make_classification
from dask_ml.cluster import SpectralClustering
from dask_ml.metrics.pairwise import rbf_kernel
client = Client(processes=False)

N = 1_000_000
C = 100_000
n_components=100

X, y = make_classification(n_samples=N, n_features=9)

X = (X - X.mean(0)) / X.std(0)
X = da.from_array(X.reshape(-1, 1), chunks=C).persist()

X_keep = X[:n_components]
X_rest = X[n_components:]

A = rbf_kernel(X_keep)
B = rbf_kernel(X_keep, X_rest)

a = np.random.uniform(size=len(X_keep,))
b = np.random.uniform(size=len(X_rest,))

This is OK
%memit (a.reshape(-1, 1) * B).sum(1).compute();
peak memory: 2375.54 MiB, increment: 1933.70 MiB

This is not
%memit (B * b).sum(1).compute();

/Users/taugspurger/Envs/dask-dev/lib/python3.6/site-packages/distributed/distributed/worker.py:741: UserWarning: Large object of size 72.00 MB detected in task graph:
  (array([0.73740599, 0.29811969, 0.59019085, ..., 0 ... 99900, None),))
Consider scattering large objects ahead of time
with client.scatter to reduce scheduler burden and
keep data on workers

    future = client.submit(func, big_data)    # bad

    big_future = client.scatter(big_data)     # good
    future = client.submit(func, big_future)  # good
  % (format_bytes(len(b)), s))
distributed.core - WARNING - Event loop was unresponsive in Scheduler for 12.42s.  This is often caused by long-running GIL-holding functions or moving large chunks of data. This can cause timeouts and instability.
distributed.core - WARNING - Event loop was unresponsive in Worker for 12.43s.  This is often caused by long-running GIL-holding functions or moving large chunks of data. This can cause timeouts and instability.
distributed.core - WARNING - Event loop was unresponsive in Scheduler for 1.15s.  This is often caused by long-running GIL-holding functions or moving large chunks of data. This can cause timeouts and instability.
distributed.core - WARNING - Event loop was unresponsive in Worker for 1.16s.  This is often caused by long-running GIL-holding functions or moving large chunks of data. This can cause timeouts and instability.
distributed.core - WARNING - Event loop was unresponsive in Scheduler for 1.15s.  This is often caused by long-running GIL-holding functions or moving large chunks of data. This can cause timeouts and instability.

peak memory: 8595.58 MiB, increment: 7368.24 MiB

distributed.core - WARNING - Event loop was unresponsive in Worker for 1.15s.  This is often caused by long-running GIL-holding functions or moving large chunks of data. This can cause timeouts and instability.

In my system activity monitor, I see the python process peaking at ~13GB.
I assumed it was just that b is so much larger. However, that's not the sole cause. I'm unable to reproduce the memory spike with a large dask array of the same shape.
N = 100
P = 9000000
X = da.random.uniform(size=(N, P), chunks=(100, 100000))
a = np.random.uniform(size=N,)
b = np.random.uniform(size=P,)

%memit (X * b).sum(1).compute()

peak memory: 1869.46 MiB, increment: 1426.89 MiB

So it's likely something within rbf_kernel (which is doing some moderately complex operations) that causes the issue when combined with the large multiply (B.sum(1) is just fine).
I'll keep looking, this is a good debugging exercise.

My guess is that the numpy array b gets included in every task and so is multiplied a bit throughout the scheduler.  You might try wrapping it in da.from_array explicitly to see if that makes a difference.
At a low level I would be curious to know if we include be in each of the tasks like (add, B._keys()[0], b) or if we include it in the graph once and then refer to it like {'b': b, ('out', 0): (add, B._keys()[0], 'b')}

any updates?

Unfortunately not. I only had a bit of time last week to look into things
and didn't make any progress.
Still planning to look further, hopefully soon. Sorry about the delay.
On Tue, Apr 3, 2018 at 7:00 AM, John (EBo) David<EMAIL_ADDRESS>wrote:

any updates?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/dask/dask-ml/pull/152#issuecomment-378225410, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABQHIr2xZapBj45pAm4ndNP_XxXhn_vkks5tk2RvgaJpZM4Syaxn
.

I have modified your original example to read/write GeoTIFFs (a moderate sized LANDSAT mosaic):
https://github.com/ebo/pangeo-tutorials/blob/master/geo-spectral-geotiff-da.ipynb
To stress test this I will work on constraining the number of workers and cores, and watch the memory.  I will also plan on making a new version that uses xarrays, and probably modify both to work out of core.

OK, picked this up again.
I'm able to successfully cluster 24GB of data on my laptop w/ 16GB of ram, with a peak memory usage of 282 MiB according to memit, in 1 min 29s.
I haven't decomposed the improvement into changes in dask/dask vs. changes here yet. Will hopefully have time later.

https://github.com/dask/dask-ml/pull/228 has the non-memory impacting changes.
Overall, with just #228, things look really good. I'm able to cluster larger than memory datasets in low memory. This makes the changes here to manage memory & chunk size less important.
One potential remaining slowdown is how we handle reordering the large X. The approximation algorithm requires us to re-order X into two "blocks" (not dask blocks), a small, exactly computed block and a large approximated block:
[
    X_small,
    X_large,
]

Currently, this induces a slice with a large array of integers (which has also been recently improved in dask). But we're getting some performance warnings because the slice isn't entirely sorted. There are n_components that are out of place (something like 5-100 elements of the large n_samples). Looking into ways to improve this.

Can you say more about the array of integers, and why it might not be entirely sorted?

In the code, it's https://github.com/dask/dask-ml/blob/master/dask_ml/cluster/spectral.py#L280
I'll have a small example shortly. I had hoped
X = da.arange(0, 1000, chunks=100).reshape(-1, 1)

ind = np.arange(len(X))
keep = np.random.choice(ind, 10, replace=False)
print('keep', keep)
rest = ~np.isin(ind, keep)

blocked = da.concatenate([X[keep].rechunk(-1, -1), X[rest]])
blocked[np.argsort(np.concatenate([keep, ind[rest]]))].compute();

would produce the warning, but apparently it doesn't meet the condition.

import dask.array as da
import numpy as np

X = da.arange(0, 1000, chunks=500).reshape(-1, 1)

ind = np.arange(len(X))
keep = np.random.choice(ind, 20, replace=False)
print('keep', keep)
rest = ~np.isin(ind, keep)

blocked = da.concatenate([X[keep].rechunk(-1, -1), X[rest]])
blocked[np.argsort(np.concatenate([keep, ind[rest]]))].compute()

gets the warning.

Is it OK to sort the keep array?

Yeah (and I think it is sorted in dask-ml).
I think the only constraint from the algorithm is that keep comes first when we do the approximation. The relative ordering withing there shouldn't matter.

My current plan is to make partition the final index of integers np.argsort(np.concatenate([keep, ind[rest]]) into sections that are all sorted. It'll be
[
    block_before_first_component,
    first_component,  # single element
    block_before_second_component,
    second_component,
    ...
]

and then concatenate those. We'll have 2 * n_compomenents slices to concatenate, which seems fine.

def test_slice():
    X = da.arange(0, 1000, chunks=500).reshape(-1, 1)

    ind = np.arange(len(X))
    keep = np.random.choice(ind, 20, replace=False)
    keep.sort()
    rest = ~np.isin(ind, keep)

    blocked = da.concatenate([X[keep].rechunk(-1, -1), X[rest]])
    idx = np.argsort(np.concatenate([keep, ind[rest]]))

    slices = [slice(None, keep[0]), [keep[0]]]
    windows = list(sliding_window(2, keep))

    for l, r in windows:
        slices.append(slice(l + 1, r))
        slices.append([r])

    slices.append(slice(keep[-1] + 1, None))

    with pytest.warns(None) as w:
        result = da.concatenate([blocked[idx[[slice_]]] for slice_ in slices])

    assert len(w) == 0

    assert_eq(result, X)

seems to do it (aside from not handling edge cases properly). I think this is too specific a use-case for inclusion in dask.array.slicing, so I'll just it here for now, unless you think otherwise.

This now just just the slicing changes.
I've removed the proposed new hyperparameters, as they didn't seem to be beneficial, and just added complexity.
I could maybe see an argument for rechunk_strategy, which allowed the user to specify chunks to use the two stages, but I'd rather hold off on it for now, since I think it'll be difficult to use correctly.


Request: Can the plugin add an option to automatically get the link file name as the caption when pasting an image?

Request: Can the plugin add an option to automatically get the link file name as the caption when pasting an image?
Now it is like this:
![](<./path/filename.png>)
Hope it can be like this:
![filename.png](<./path/filename.png>)

Are you sure you want add extension? Markdown links by default are added without .md

OK, then don't add the extension.

Implemented in https://github.com/mnaoumov/obsidian-better-markdown-links/releases/tag/2.6.0


Add support for proxies

There doesn't seem to be an existing method to configure the proxy settings. For those with devices behind firewalls, this would be a helpful enhancement to have (included before the initial sync).
$config = (Get-WsusServer).GetConfiguration()
$config.ProxyName = ${proxy_name}
$config.ProxyServerPort = ${proxy_port}
$config.UseProxy = $true
$config.Save()

Hey @RFBennet ,
would you be able to submit a PR with this added feature?


Correct gen series str

Hello @Rubtsowa! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file sdc/datatypes/hpat_pandas_stringmethods_functions.py:

Line 1080:109: W292 no newline at end of file


Stateless workers design

This starts a designs folder to keep design documents in github instead of google docs, starting with the design for scheduler/stateless workers refactor.
@kellrott wanted to move designs into github, so he can provide more detail about the motivation for that if needed. Some benefits I can think of:

closer to having everything in once place.
github usernames instead of google accounts, means clearer relationship to the code.
follows the pull request model for proposing changes and ideas.
more activity in the repo, which might be noticeable.
even if we use Google Docs, we still need a page linking out to all those Docs.

Why I didn't use the wiki:

wiki can't have a pull request, which will be useful for discussion and comments.
wiki lacks good organization tools.
wiki is not part of the codebase and version history, like everything else is.
wiki requires additional user permission admin, while pull requests are open to anyone.

That said, I'm not strongly opinionated on any of this. I don't care where we put designs, as long as we do it consistently. I think putting it in the codebase works fine and other projects have done this successfully.

One downside of using github markdown is that small edits become a commit, which gets a little tedious and spammy.

Don't hear a strong push against google docs, which seems to be preferred by the funnel devs.


cdx1.6

@mtsfoni This would fix some of the issues.
One issue which fails several of the tests is that Evidence.Identity can now also be an array of EvidenceIdentities.
On another note, why did you introduce additional fields like CipherSuite.Algorithms_XML?


Fix: Prevent out-of-range line error in set_highlight function

Pull Request Body
This pull request adds a safeguard to the set_highlight function in error-lens.nvim to prevent errors when attempting to highlight diagnostics that reference lines outside the valid range of the buffer.
Problem
Previously, error-lens.nvim could encounter an error (Invalid 'line': out of range) when calling nvim_buf_set_extmark or nvim_buf_add_highlight if a diagnostic line number was out of range. This would disrupt the highlighting and could lead to plugin errors, especially when diagnostics are provided asynchronously or if a buffer is changed dynamically.
Solution
This fix adds a check to ensure diagnostic.lnum is within the buffer’s line count before attempting to highlight it. Specifically:
The function now verifies that diagnostic.lnum is between 0 and the total number of lines in the buffer.
If diagnostic.lnum is out of range, the function skips highlighting for that diagnostic, thus preventing the error.

Hey @WebDeveloperBen
appreciate your commit! Thanks for fixing that.
I've seen you changed the indentation in the file, this should be consistent throughout the project.
Would it be possible for you to change that so its consistent?


Add logs to debug PurgeMessages latency spikes

Coverage decreased (-0.2%) to 68.131% when pulling 8938249fe3d845b9ac67fc4b659721aab3ef95e4 on purge-latency-log into c12bb7fbe1a7bd806f87cd0ca7451cd1dcaa7ad3 on master.


Documenting how to view Modelfiles

Upstreaming info from https://github.com/jmorganca/ollama/issues/685:

Documented tags page in https://ollama.ai/library
Documented ollama show --modelfile

Cc @pdevine @technovangelist

nice.

Hi @jamesbraza thanks for adding this! Looks pretty good so far, let's just move it a bit further down the doc so that it comes after the example Modelfiles

@jmorganca btw this is ready for your review (or anyone who can review)

This was such a pain point for me initially. Adding documentation like this will be great for all. Thanks, @jamesbraza

Hey @jmorganca or @mxyng can I bug for a review here?


Version 6 OS X — AsciiDoc not working

I have just updated to GitBook Editor 6, and find that I cannot edit or preview any of my asciidoc files. This poses a problem, since all of my files are asciidoc.
Meanwhile I will revert to version 5.5

The preview mode is returned in v6.0.1., thanks :+1: :beer:
However, in this mode, the History Bar doesn't show, Revision History shows only the diff between 2 branches (not the history of the file).
It would be nice if the basic features could be added back in case of asciidoc: syntax highlighting, basic UI elements for editing (formatting, insert link, image, etc.), inserting links of articles in an easy way (drag-and-drop, assets manager, context menu, etc.).
Also, summary list rendering is off in case of asciidoc, see #47.
Thanks,
Imre

Also, in the preview, in case of tables, the [options="header"] attribute is not displayed properly:


[C++] Possible to authorize building with orc support on windows ?

Hello,
I successfully compiled Arrow with ORC with the help of VCPKG on windows (providing the ORC feature to vcpkg).
But each time I do this, I need to modify the CMakeLists.txt because the building of ORC is disabled explicitly at this place :
https://github.com/apache/arrow/blob/f2bac9b63987b63f04a513791517e6c127d13051/cpp/CMakeLists.txt#L411-L416
Maybe this is legacy code and could be removed ?

Thanks for your answer, I managed to build Arrow with ORC support, so I will submit a PR soon.


Size class label and semantic class label

Hi,
According to the codes below, it seems that size regression is coupled with semantic classification. The size class label is the same as the semantic class label. I guess this is under the assumption that templates (average size) can provide a strong proposal.
I just wanna check if I misunderstand something. Please correct me if I'm wrong.
https://github.com/facebookresearch/votenet/blob/257b8d8369511c6b4e0cea9c33ef0da01dd10f77/sunrgbd/sunrgbd_detection_dataset.py#L169
https://github.com/facebookresearch/votenet/blob/257b8d8369511c6b4e0cea9c33ef0da01dd10f77/sunrgbd/model_util_sunrgbd.py#L38-L42
Best,
Jianyuan

HI @jytime
Your understanding is right. We assumed that the size class is the same as the object class. It could be wrong in some cases (like a huge table, whose size may be closer to the bed template) but is in general okay. You can also decouple this relationship and experiment with more size templates. Let us know if it helps significantly!

Hi,
Currently, I have not found a significant boost. I will update this if I find it later.
Best


Unknown Event error when toggling hyprland's special workspace

output from hyprland-workspaces:
hyprland-workspaces `hyprctl monitors | grep "ID $1" | awk '{print $2}'` | jq -a -c -M 'del(.[0] | select(.name == "special"))'
[{"active":true,"class":"workspace-button w1 workspace-active wa1","id":1,"name":"1"}]
A unknown event was passed into Hyprland-rs
            PLEASE MAKE AN ISSUE!!
            The event was: activespecial
[{"active":true,"class":"workspace-button w1 workspace-active wa1","id":1,"name":"1"}]
^C

to reproduce:
put this or something to its effect in your hyprland config
bind = $mainMod SHIFT, f, movetoworkspace,special
bind = $mainMod, f, togglespecialworkspace

then toggle the special workspace while running hyprland-workspaces in a terminal and watch the logs

There is an open issue for this upstream: https://github.com/hyprland-community/hyprland-rs/issues/111

I have updated the code base to just ignore these, instead of printing them out. So even though they haven't yet fixed this upstream, I'll close this out.


re-enable allocation test for Swift 5 (fixes #685)

Motivation:
We had to disable the allocation test because of a SwiftPM bug which is
now fixed.
Modifications:
re-enable the allocation tests
Result:
more tests == better

Looks like we have an allocation issue. Mind tracking down whether the increase in allocations is expected or not?

ok, much better now. Due to SR-9518 fixed (thanks @eeckstein) there are now no more memory leaks. However we still seem to be 2 allocations worse per HTTP1 req/res pair but AFAIK only on Linux... /me investigating


Use a documented attribute to find groupby columns

This PR removes usage of an undocumented attribute and replaces with a documented one.

[ ] Closes #xxxx
[ ] Tests added / passed
[ ] Passes black dask / flake8 dask / isort dask

This makes sense to me!


define a secret token to make it slighty harder to use the api

set auth header.
on the server: refuse write, allow read for backwards compatibility.
set a dummy token in the public repo and hand out the dev token to all contributors.

This would break F-Droid-builds as long as the dummy token is meant to be non-functional. As F-Droid-builds have to be 100% reproducible, all of the code has to be public.
Nevertheless, the MozStumbler Andoird-app for example has an own flavour meant for F-Droid-builds that provides an API key.
There was also a discussion about that topic in the F-Droid Server issues.

i havent really thought about that yet. thanks for pointing that out.
maybe we can find ways to make our api less exposed to attacks by implementing some kind of attack detection that just ignores malicious behaviour. i will get back to you in this.

i think we can just close this. when we notice malicious behavior, we should let the backend do the locking out of users by blocking their device.
lets look into that when i have pushed the legacy backend code so we can properly make plans on how to build a new one with those kinds of mechanics.

:+1:


Unitary Operation Composer

Design file here: https://www.figma.com/file/Iz86xPHpPs6HGyFMwZFlXY/2527-Single-Systems?node-id=177%3A1655

This repository is no longer maintained. It has been superseded by IBM Quantum Learning.


WIP: [BAC-1178] add first two steps of socket integration

https://github.com/etherspot/etherspot-sdk/pull/112
superceeded


Add tests for nested fragments and default route.

So just to be clear; I'm not even sure Fragment can be used similarily to Router from react-router. I just added the tests to highlight typical use-cases for people coming from react-router. Specifically if there is no mechanism to select the first matched Fragment from a list, each Fragment would have to exclude all the other possibilities. From the limited docs it seems the primary use-case for Fragment is to toggle components on and off rather than act as (react-router) Router. If so this is probably worth highlighting in the docs.

I really like this project, but I think this PR highlights an important missing feature - the ability to order routes by priority so that overlapping URL patterns can be resolved predictably.
Looking at the source, I think this is the implicit prioritization of routes, based on reverse-alphabetical order of the route strings.
I'm wondering if it might make sense to move toward an explicit array-based routes definition so that route patterns could be tested in the order explicitly provided

You couldn't have had better timing: https://github.com/FormidableLabs/redux-little-router/pull/108
I'll be cutting a major release with this over the weekend 🎉

I guess I just never closed this? But greedy nested fragments and default routes are both available as of v13!


Mocked ECSClient (using mockClient(ECSClient)) is not assignable to parameter of type 'ECSClient'

Checklist

[X] I have read Caveats documentation and didn't find a solution for this problem there.

Bug description
I did read the Caveats docs and don't think this is quite the issue that is being described there - correct me if I am wrong though.
I have a class that takes an ECSClient object (imported from @aws-sdk/client-ecs) as a parameter in it's constructor but trying to pass a mocked one in gives the error:
Argument of type 'AwsStub<ServiceInputTypes, ServiceOutputTypes, ECSClientResolvedConfig>' is not assignable to parameter of type 'ECSClient'.
  Type 'AwsStub<ServiceInputTypes, ServiceOutputTypes, ECSClientResolvedConfig>' is missing the following properties from type 'ECSClient': config, destroy, getDefaultHttpAuthSchemeParametersProvider, getIdentityProviderConfigProvider, middlewareStackts(2345)

It seems that the type of the mocked ECSClient isn't quite what is expected, or perhaps I am misunderstanding the goal of the library?
Reproduction
Class under test:

import {
  ECSClient,

} from '@aws-sdk/client-ecs';

export class EcsDeploymentMonitor implements IDeploymentMonitor {
  ...

  constructor(private stage: StageMetadata, private service: ServiceMetadata, private ecsClient: ECSClient,
    timeoutMinutes?: number, tag?: string) {
    ...
  }

Test file:
import {
  ECSClient,
} from '@aws-sdk/client-ecs';
import { describe, it, jest } from '@jest/globals';
import { mockClient } from 'aws-sdk-client-mock';
import 'aws-sdk-client-mock-jest';
import { EcsDeploymentMonitor } from '../../src/utils/ecs-deployment-monitor';

const ecsMock = mockClient(ECSClient);

describe('#someMethod', () => {
  it('is implemented', async () => {
    const ecsDeploymentMonitor = new EcsDeploymentMonitor(stage, service, ecsMock);
    await ecsDeploymentMonitor.getRunningTaskArnIds();
  });
});

package.json:
...
  "dependencies": {
    "@aws-cdk/cloud-assembly-schema": "2.136.1",
    "@aws-cdk/cloudformation-diff": "2.136.1",
    "@aws-cdk/cx-api": "2.136.1",
    "@aws-sdk/client-ecs": "^3.109.0",
    "@aws-sdk/util-arn-parser": "^3.55.0",
    "@envato/cdk-deploy-with-change-set-review-plugin": "0.23.0",
    "@oclif/core": "^3",
    "@oclif/plugin-help": "^6",
    "aws-cdk": "2.136.1",
    "aws-cdk-lib": "2.136.1",
    "aws-sdk": "^2.1586.0",
    "chalk": "^4",
    "change-case": "^4.1.2",
    "constructs": "^10.1.38",
    "inquirer": "^8.2.4",
    "json-diff": "^0.9.0",
    "minimatch": "^9.0.3",
    "mustache": "^4.2.0",
    "oclif": "^4.4.5",
    "param-case": "^3.0.4",
    "promptly": "^3.2.0",
    "table": "^6.8.0",
    "ts-node": "^10.8.1",
    "uuid": "^8.3.2"
  },
  "devDependencies": {
    "@aws-sdk/client-ecs": "^3.109.0",
    "@jest/globals": "^29.6.1",
    "@oclif/test": "^3",
    "@octokit/core": "^3.6.0",
    "@octokit/plugin-rest-endpoint-methods": "^5.13.0",
    "@types/inquirer": "^8.2.1",
    "@types/json-diff": "^0.7.0",
    "@types/mustache": "^4.1.3",
    "@types/node": "^20",
    "@types/promptly": "^3.0.2",
    "@types/semver": "^7.3.9",
    "@types/uuid": "^8.3.4",
    "@typescript-eslint/eslint-plugin": "^6.2.0",
    "@typescript-eslint/parser": "^6.2.0",
    "aws-sdk-client-mock": "^4.0.0",
    "aws-sdk-client-mock-jest": "^4.0.0",
    "eslint": "^8.45.0",
    "eslint-import-resolver-node": "^0.3.7",
    "eslint-import-resolver-typescript": "^3.5.5",
    "eslint-plugin-import": "^2.27.5",
    "jest": "^29.6.1",
    "semver": "^7.3.7",
    "ts-jest": "^29.1.1",
    "typescript": "^5.1.6"
  },
  "peerDependencies": {
    "@aws-cdk/cloud-assembly-schema": "2.136.1",
    "@aws-cdk/cloudformation-diff": "2.136.1",
    "@aws-cdk/cx-api": "2.136.1",
    "aws-cdk": "2.136.1",
    "aws-cdk-lib": "2.136.1",
    "aws-sdk": "^2.1586.0",
    "constructs": "^10.1.38",
    "minimatch": "^9.0.3"
  },
...

Environment

Node version: 20.12.2
Testing lib and version: jest 29.6.1
Typescript version: 5.1.6
AWS SDK v3 Client mock version: 4.0.0
AWS JS SDK libs and versions:

"@aws-sdk/client-ecs": "^3.109.0",
"@aws-sdk/util-arn-parser": "^3.55.0",
"aws-sdk": "^2.1586.0",

I'm getting a similar error with a class's constructor not able to take the mocked client but I'm trying to mock the SNSClient.
I actually get a type error if I fully type the output of mockClient
const thing: AwsClientStub<SNSClient> = mockClient(SNSClient);

That gives me a Smithy-types error that the caveats section was unable to resolve.

This seems to be broken in the latest STSClient currently at version (3.575.0):
<EMAIL_ADDRESS>It works in the previous version (3.574.0):
<EMAIL_ADDRESS>Seems like the 3.575.0 release includes som breaking changes regarding smithy https://github.com/aws/aws-sdk-js-v3/releases/tag/v3.575.0
In my STSClient case:
https://github.com/aws/aws-sdk-js-v3/commit/6877db975b7676ae9535cc4a072828a855de8f5f#diff-c00e767676da286301fe37f850b4c4cdaa0bf86930bcb97a454342605f95938e

Same problem here with SNSClient or others AWS clients

Looks like there have been similar issues before: https://github.com/m-radzikowski/aws-sdk-client-mock/issues/197
I wonder if this is a new problem or the same? Although the major change in smithy smells bad 👃

We've found a workaround:
const ecsClientMock = mockClient(ECSClient);
const ecsClient = (ecsClientMock as unknown) as ECSClient;

We can mock the result of commands with ecsClientMock.on(ListTaskscommand).resolves({ ... }) but pass in the ecsClient where it's needed. Not sure if this is the intended workaround...

I cannot even create mock with<EMAIL_ADDRESS>error when trying to create a mock:
test/verifier.test.ts:15:26 - error TS2345: Argument of type 'typeof SESv2Client' is not assignable to parameter of type 'InstanceOrClassType<Client<ServiceInputTypes, MetadataBearer, SmithyResolvedConfiguration<HttpHandlerOptions>>>'.

15     const sesStub = mock(SESv2Client);
                            ~~~~~~~~~~~

test/verifier.test.ts:30:13 - error TS2345: Argument of type 'typeof GetEmailIdentityCommand' is not assignable to parameter of type 'new (input: GetEmailIdentityCommandInput) => AwsCommand<GetEmailIdentityCommandInput, MetadataBearer, any, any>'.
  Construct signature return types 'GetEmailIdentityCommand' and 'AwsCommand<GetEmailIdentityCommandInput, MetadataBearer, any, any>' are incompatible.
    The types of 'middlewareStack.concat' are incompatible between these types.
      Type '<InputType extends GetEmailIdentityCommandInput, OutputType extends GetEmailIdentityCommandOutput>(from: MiddlewareStack<InputType, OutputType>) => MiddlewareStack<...>' is not assignable to type '<InputType extends GetEmailIdentityCommandInput, OutputType extends MetadataBearer>(from: MiddlewareStack<InputType, OutputType>) => MiddlewareStack<...>'.
        Types of parameters 'from' and 'from' are incompatible.
          Type 'MiddlewareStack<InputType, OutputType>' is not assignable to type 'MiddlewareStack<InputType, GetEmailIdentityCommandOutput>'.
            Types of property 'addRelativeTo' are incompatible.
              Type '(middleware: MiddlewareType<InputType, OutputType>, options: RelativeMiddlewareOptions) => void' is not assignable to type '(middleware: MiddlewareType<InputType, GetEmailIdentityCommandOutput>, options: RelativeMiddlewareOptions) => void'.
                Types of parameters 'middleware' and 'middleware' are incompatible.
                  Type 'MiddlewareType<InputType, GetEmailIdentityCommandOutput>' is not assignable to type 'MiddlewareType<InputType, OutputType>'.
                    Type 'InitializeMiddleware<InputType, GetEmailIdentityCommandOutput>' is not assignable to type 'MiddlewareType<InputType, OutputType>'.
                      Type 'InitializeMiddleware<InputType, GetEmailIdentityCommandOutput>' is not assignable to type 'InitializeMiddleware<InputType, OutputType>'.
                        Call signature return types 'InitializeHandler<InputType, GetEmailIdentityCommandOutput>' and 'InitializeHandler<InputType, OutputType>' are incompatible.
                          Type 'Promise<InitializeHandlerOutput<GetEmailIdentityCommandOutput>>' is not assignable to type 'Promise<InitializeHandlerOutput<OutputType>>'.
                            Type 'InitializeHandlerOutput<GetEmailIdentityCommandOutput>' is not assignable to type 'InitializeHandlerOutput<OutputType>'.
                              Types of property 'output' are incompatible.
                                Type 'GetEmailIdentityCommandOutput' is not assignable to type 'OutputType'.
                                  'GetEmailIdentityCommandOutput' is assignable to the constraint of type 'OutputType', but 'OutputType' could be instantiated with a different subtype of constraint 'MetadataBearer'.

and I cannot call expect
test/verifier.test.ts:43:45 - error TS2345: Argument of type 'typeof GetEmailIdentityCommand' is not assignable to parameter of type 'new (input: GetEmailIdentityCommandInput) => AwsCommand<GetEmailIdentityCommandInput, MetadataBearer>'.
  Type 'GetEmailIdentityCommand' is not assignable to type 'AwsCommand<GetEmailIdentityCommandInput, MetadataBearer>'.

43       expect(sesStub).toHaveReceivedCommand(GetEmailIdentityCommand);

I'm also having this issue with the EC2Client

Any news about that ?

With both @aws-sdk/client-ecs v3.575.0 and v3.588.0 (current latest) the mockClient(ECSClient) works fine without type errors. Same for EC2 client.
The package.json:
    "@aws-sdk/client-ecs": "^3.109.0",

means any version between 3.109.0 and 4.0.0. If you have @aws-sdk/* packages in different versions installed, they can install separate types in different versions, leading to this problem.
The solution steps, as @Crafoord noted, are described in #197
If the problem persists, see the last point in the issue on providing the exact dependency versions. Even better if you create a repo with reproduction.
I'll leave it open for a bit and close later if there are no further problems.

@m-radzikowski thanks for the update!
I updated all my aws-sdk dependencies and additionally added the override and it is working for me now.


Implement Remote Weapon

As a player, I want to have have remote weapon type to improve play experience.
[ ] When there is no target, weapon should be able to aim at same location as agent is aiming
[ ] When there is target, weapon will flow around target in circular to fire at different direction
[ ] Each remote weapon is destructible by other weapon
[ ] The remote weapon can be multiple, but have a maximum, like max six unit per agent
[ ] Each unit of remote weapon can be purchased through store
[ ] Each remote weapon has cool down time, reload time to ensure it is not too strong
[ ] Each remote unit position should be consistent across network
[ ] Each remote unit can be disposed as pick up item if not equipped. Once equip, the item cannot be detached.
As part of this issue implementation, will need to address following:
[ ] Ability to switch target from detected list
[ ] Ability to fire remote weapon (separate from left/right weapon)
[ ] Ability to disable auto target, to allow remote weapon/other aiming type of weapon to just aim at agent aiming direction
[ ] Ability to zoom in/zoom out

Add following additional controls:
Q - PREVIOUS TARGET
E - NEXT TARGET
F - DISABLE AUTO TARGET AIMING
MOUSE MIDDLE WHEEL UP - ZOOM IN
MOUSE MIDDLE WHEEL DOWN - ZOOM OUT
MOUSE MIDDLE BUTTON - REMOTE WEAPON FIRE
The store also added a store item Remote Rifle to able to purchase remote item.
After purchase, the item can be used to equip remote weapon.
There will only be maximum 6 remote weapon units allowed per agent at once. Once a remote weapon unit is destroyed, a new one can be added.
Remote units cannot be repaired.

Complete this issue and test sample can be found in https://youtu.be/Ahllg2HLPbs


Remove unsupported examples from master branch

r? @ustulation
(maidsafe_highfive has picked a reviewer for you, use r? to override)


Add Openshift Docs

Calico's openshift-ansible integration is close to being merged.
We need a docs landing page and resources for people coming from the readme's over there.
For a small increment, it could just be a landing page and explanation of which Kubernetes docs / concepts apply.
Longer term we need:

Explanation of integration with openshift components
Custom walkthroughs using oc CLI

Proposed layout:

Path
Description

/getting-started/openshift/installation/index.md
Cover how to use ansible installs

/getting-started/openshift/tutorials/simple-policy.md
The simple policy demo for openshift

This was merged in #816


Badges API

ported from: https://github.com/NuGet/Home/issues/2113
Currently using GitHub badges for my projects: https://github.com/bchavez/RethinkDb.Driver
The service I'm using to render badges is http://shields.io/. The problem is shields.io constantly offline or inaccessible. I've had so many problems getting NuGet metadata for the project.

Would be nice if NuGet provided an API to render badges directly:

Total Downloads.
Download Count of current version.
Last published date.

Thanks,
Brian
CC @bchavez

Thank you. For comparison, here's what it looks like when the badges when they actually work:

@yishaigalatzer is there a designer we can talk to to create the badges?

Should the NuGetGallery use the NuGet V3 itself to expose such badges?
I have a similar (but simpler idea) to provide a simple Atom/RSS feed for packages - back in the old days (2 years ago or so) I tried it by accessing the database via EF, but I was told I shouldn't do it this way and wait for a more stable api, which doesn't hammer the database.

For the badges, the gallery can make use of the search service (much like what the package details page does to check if the package was indexed or not)

Is this still relevant? If so, please reopen.

Yes, it's still relevant. I would reopen but I don't have that option here.

@bchavez , can you please provide more details? Is http://shields.io/ continues to be offline frequently?

@skofman1 , http://shields.io uptime has improved since we made this issue. However, shields.io has reduced the number of NuGet badges that it supports. I do not know the reasoning behind the reduced NuGet support.
Originally, we could obtain the download total :1234: badge (seen here), but the download total badge is not available from http://shields.io anymore. Now, we've only got the NuGet package :package: :label: version number.
:cry:

May I suggest to use BuildStats.info for the NuGet badge? It's already widely used for many .NET projects hosted on GitHub (e.g. see the NUnit README).

Really I have to use a third party for badges in 2022

BuildStats.info has been shut down now 😞
Looks like shields.io now supports both versions and downloads for NuGet packages.


Add new members to maintainers

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 3 committers have signed the CLA.:white_check_mark: devksingh4:x: 23ahall:x: AGawde05You have signed the CLA already but the status is still pending? Let us recheck it.

Pull Request Test Coverage Report for Build 300051762

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

Totals

Change from base Build 298459614:
0.0%

Covered Lines:
293

Relevant Lines:
498

💛  - Coveralls


Remove obsolete content

Time for a little summer cleanup. The rules are simple: each of us removes what he regards as superfluous, and validates the PR when satisfied. I take the responsibility to finally merge.
Although I have cleared the README of some obviously outdated content, documentation overhaul is not directly in the scope of this PR

Nice! I located more superfluous data and removed it. It looks to me that all Aspergillus content is purged now.


go.mod: go get github.com/openshift/osde2e-common@latest

fetch latest osde2e-common for prometheus client fix
openshift/osde2e-common#111
unable to setup prometheus client
Unexpected error:
    <*errors.errorString | 0xc0004001c0>:
    failed to find token secret for prometheus-k8s serviceaccount
    {
        s: "failed to find token secret for prometheus-k8s serviceaccount",
    }
occurred

https://ci.int.devshift.net/view/osde2e/job/osde2e-gap-analysis-aws-osd/9/testReport/junit/(root)/Osd Metrics Exporter/_It__osd_metrics_exporter_is_installed/
/hold

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

Project coverage is 56.66%. Comparing base (d9e8b49) to head (50c5143).

Additional details and impacted files

@@           Coverage Diff           @@
##             main     #145   +/-   ##
=======================================
  Coverage   56.66%   56.66%
=======================================
  Files          11       11
  Lines         540      540
=======================================
  Hits          306      306
  Misses        220      220
  Partials       14       14

/retest

/close
closing in favor of #147


.github

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@8da77b5). Click here to learn what that means.
The diff coverage is n/a.

:exclamation: Current head 294df85 differs from pull request most recent head 232d61c. Consider uploading reports for the commit 232d61c to get more accurate results

@@            Coverage Diff            @@
##             master      #21   +/-   ##
=========================================
  Coverage          ?   53.31%
=========================================
  Files             ?       27
  Lines             ?     2517
  Branches          ?        0
=========================================
  Hits              ?     1342
  Misses            ?     1130
  Partials          ?       45

:mega: Codecov can now indicate which changes are the most critical in Pull Requests. Learn more


Warning with shadowStyle

Hello, i have the following warning when using the component.
Warning: Failed prop type: SegmentedControl: prop type shadowStyle is invalid; it must be a function, usually from the prop-types package, but received undefined.

      <SegmentedControl
        tabs={getTabsLabel()}
        onChange={onChange}
        currentIndex={index}
        activeSegmentBackgroundColor={Colors.primary}
        paddingVertical={8}
        width={initialLayout.width - 16}
        containerStyle={{
          marginVertical: 8,
          marginHorizontal: 8
        }}
        textStyle={{
          fontSize: 12,
          fontFamily: 'RobotoRegular'
        }}
      />

@Alex237 Fixed the warning. Check out the new version. 🎉


Doctests can't be triggered for structs with lifetimes

I cannot run the doctests from SublimeText directly when a struct contains a lifetime parameter.
Code to reproduce:
pub struct Works {}
impl Works {
    /// Creates self
    ///
    /// # Examples
    /// ```
    /// use lsp_doctest::Works;
    /// let x = Works::foo();
    /// assert_eq!(x.bar(), 12);
    /// ```
    pub fn foo() -> Self {
        Self {}
    }
    pub fn bar(&self) -> usize {
        12
    }
}

pub struct DoesntWork<'a> {
    x: &'a usize
}

impl<'a> DoesntWork<'a> {
    /// Creates self
    ///
    /// # Examples
    /// ```
    /// use lsp_doctest::DoesntWork;
    /// let n = 12usize;
    /// let x = DoesntWork::foo(&n);
    /// assert_eq!(x.bar(), &12);
    /// ```
    pub fn foo(x: &'a usize) -> Self {
        Self {x}
    }
    pub fn bar(&self) -> &usize {
        self.x
    }
}

Clicking the "Run Doctest" for the Works struct works with the following result:
Finished test [unoptimized + debuginfo] target(s) in 0.00s
   Doc-tests lsp-doctest

running 1 test
test src/lib.rs - Works::foo (line 6) ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 1 filtered out; finished in 0.60s
process is terminated with return code 0.

Clicking the "Run Doctest" for the DoesntWork struct does not work and returns the following result:
    Finished test [unoptimized + debuginfo] target(s) in 0.00s
   Doc-tests lsp-doctest

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 2 filtered out; finished in 0.00s
process is terminated with return code 0.

Maybe this is related to the fact that the test is called DoesntWork<'a>::foo? and the ' somewhat breaks the test command? Is there a way to see the actual command that SublimeText executes?
The tests work when run from the command line:
$ cargo test --doc
   Compiling lsp-doctest v0.1.0 (./lsp-doctest)
    Finished test [unoptimized + debuginfo] target(s) in 0.25s
   Doc-tests lsp-doctest

running 2 tests
test src/lib.rs - Works::foo (line 6) ... ok
test src/lib.rs - DoesntWork<'a>::foo (line 27) ... ok

test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.55s

Addendum:
I did check the command line that is called to run doctest:
rustdoc \
--edition=2021 \
--crate-type lib \
--crate-name lsp_doctest \
--test lsp-doctest/src/lib.rs \
-L dependency=lsp-doctest/target/debug/deps \
-L dependency=lsp-doctest/target/debug/deps \
--test-args DoesntWork::foo \
--nocapture \
--extern lsp_doctest=lsp-doctest/target/debug/deps/liblsp_doctest-60746c6531973132.rlib -C embed-bitcode=no \
--error-format human

The DoesntWork::foo filtering returns 0 results, because the test should be called DoesntWork<'a>::foo
In order to manually run the test on the command line, one needs to run:
cargo test -- DoesntWork\<\'a\>::foo

and escape the redirect < and > characters as well as the single quote '

This command comes from the rust-analyzer, not generated by this plugin.  If it is generating the wrong command it will need to be fixed upstream.
I tested this same test case in VSCode's rust-analyzer plugin and it behaves the same way so this will likely need to be reported upstream https://github.com/rust-lang/rust-analyzer

Thanks for the quick response. I opened an issue on rust-analyzer now (https://github.com/rust-lang/rust-analyzer/issues/14142)


[DNM] Debug openstack-operator kuttl tests

Avoids cleanup the environment to help on debug

/hold


Update homepage content

Within the homepage search box, can we please make the following changes?

Change the text to "Explore variant-gene-trait associations from UK Biobank, FinnGen, and GWAS Catalog"

[x] Remove the "News: Subscribe to our newsletter" section

[x] Add a new section called "Current data release:" and use the GraphQL API meta endpoint to display the dataVersion.major.dataVersion.minor values and link to https://genetics-docs.opentargets.org/release-notes

[x] Update the text in the "Welcome to Open Targets Genetics":

Browse and rank gene and variant associations identified by our Locus-to-Gene (L2G) scoring pipeline

Uncover credible sets for variant and trait associations based on our fine mapping analyses pipeline

Explore and compare studies from UK Biobank, FinnGen, and GWAS Catalog using our multi-trait comparison tool

Also, please remove the bold blue text formatting

closing this one as work is done.