Add BdvViewCreatedListener

This PR adds the following functionalities to org.mastodon.mamut.WindowManager.

Classes that implement BdvViewCreatedListener get a notification when a new MamutViewBdv instance is created.
getBdvWindows() exposes currently open BigDataViewer windows.

The intention (notify about new MamutViewBdv) is fine.
Please use Listeners.List<BdvViewCreatedListener> for the member storing the listeners list and Listeners<BdvViewCreatedListener> for returning a Listeners handle where listeners can be un/registered (There should be one bdvViewCreatedListeners() method instead of methods for adding/removing).
The field should not simply be named listeners. I can already see the PR for adding TrackSchemeViewCreatedListener, and then that would be not specific enough.
See for example FeatureTable for the pattern to use
https://github.com/mastodon-sc/mastodon/blob/master/src/main/java/org/mastodon/feature/ui/FeatureTable.java#L141
https://github.com/mastodon-sc/mastodon/blob/master/src/main/java/org/mastodon/feature/ui/FeatureTable.java#L186
https://github.com/mastodon-sc/mastodon/blob/master/src/main/java/org/mastodon/feature/ui/FeatureTable.java#L299-L302

👍

Could you reopen this PR?  (or should I create a new PR)
I noticed that bdvCreatedListeners should be reset in setAppModel() instead of the constructor. With this change, bdvCreatedListeners will no longer accumulate every time you load/create a project.
https://github.com/elephant-track/mastodon/commit/d2348e7d4f83a4764f03c4b44abf073f4d0c701d

It seems wrong to clear registered listeners in setAppModel().
Can you explain your problem in more detail? Probably there is a better way to solve it.

Thanks. I figured out that I needed to remove the listener on close of a BDV window.
The following change in my plugin solved the problem. bdvCreatedListeners does not need to be reset in setAppModel().
https://github.com/elephant-track/elephant-client/commit/bc494df6e3237af33fe7a703fd58e20ff16b5379
The problem was that the previous listener would remain after loading/creating a project, but the above change solved that problem.

The above change was also wrong as you pointed out here https://github.com/elephant-track/elephant-client/commit/bc494df6e3237af33fe7a703fd58e20ff16b5379#r52880240
I hope I get the point, this time.
https://github.com/elephant-track/elephant-client/commit/ca6944bdb3c41a9b0d9fb271e6c271d7d274f904
Thank you for your kind instructions.


Git Clone - Build Initialize fails

When cloning the repository, build initialize fails during package restore.
Unable to locate System.Reflection.Primitives >= 4.0.0

Same here

Works on my PC, what are your machine package sources? %APPDATA%\NuGet\NuGet.Config

@ErikEJ this is mine nuget.config

You need to indent :smile:

Best I can do for now :) can you point me to indent docs?

I've already tried multiple (4) times with no luck. Where System.Reflection.Primitives does come from? Looks like it isn't a corefx package

MyGet: https://www.myget.org/gallery/aspnetvnext .. strange....

This is my nuget.config
<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageRestore>
    <add key="enabled" value="True" />
    <add key="automatic" value="True" />
  </packageRestore>
  <packageSources>
    <add key="nuget.org" value="https://www.nuget.org/api/v2/" />
    <add key="api.nuget.org" value="https://api.nuget.org/v3/index.json" />
    <add key="vNext nightly builds" value="https://www.myget.org/F/aspnetvnext/api/v2/" />
    <add key="vNext milestone builds" value="https://www.myget.org/F/aspnetmaster/api/v2/" />
  </packageSources>
  <disabledPackageSources>
    <add key="api.nuget.org" value="true" />
    <add key="vNext milestone builds" value="true" />
  </disabledPackageSources>
  <activePackageSource>
    <add key="vNext nightly builds" value="https://www.myget.org/F/aspnetvnext/api/v2/" />
  </activePackageSource>
</configuration>

We had a few issues yesterday with the .NET Core packages. Try deleting %USERPROFILE%\.dnx\packages and %LOCALAPPDATA%\dnu then try again.

I just tried again after deleting those 2 folders, works great now, thanks!

Yup - worked for me too


Plotting error in tutorial CoLab

Plotting code in cell 8 spits an error related to coloring the bounding box when running from ipynb cloned from git:

AttributeError: 'Shell' object has no attribute 'highlighting_style'

Attempting to print information about the image (ie image.url) returns the same error. Perhaps related to pip install error in issue #8 .
The bounding box in this instance appears to be misplaced. Concept = Cystocrepis setigera

Fixed. OpenCV bounding box rendering changed to PIL ImageDraw


unable to use moveit task constructor related launch the example files provided with the humble build!

Description
Overview of your issue here.
Your environment

ROS Distro: Humble
OS Version: e.g. Ubuntu 22.04
I am trying to launch the example files provided with the humble build. But none of them works as expected. Can anybody look not the problem?

Steps to reproduce
ros2 launch moveit2_tutorials demo.launch.py
ros2 launch moveit2_tutorials pick_place_demo.launch.py
Backtrace or Console output
[INFO] [launch]: All log files can be found below /home/samiul/.ros/log/2022-06-15-20-12-04-261710-samiul-H110M-S2PH-6814
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [mtc_tutorial-1]: process started with pid [6817]
[mtc_tutorial-1] [INFO] [1655302330.988382762] [moveit_rdf_loader.rdf_loader]: Loaded robot model in 0.0250817 seconds
[mtc_tutorial-1] [INFO] [1655302330.988526453] [moveit_robot_model.robot_model]: Loading robot model 'panda'...
[mtc_tutorial-1] Link panda_link1 had 1 children
[mtc_tutorial-1] Link panda_link2 had 1 children
[mtc_tutorial-1] Link panda_link3 had 1 children
[mtc_tutorial-1] Link panda_link4 had 1 children
[mtc_tutorial-1] Link panda_link5 had 1 children
[mtc_tutorial-1] Link panda_link6 had 1 children
[mtc_tutorial-1] Link panda_link7 had 1 children
[mtc_tutorial-1] Link panda_link8 had 1 children
[mtc_tutorial-1] Link panda_hand had 2 children
[mtc_tutorial-1] Link panda_leftfinger had 0 children
[mtc_tutorial-1] Link panda_rightfinger had 0 children
[mtc_tutorial-1] [INFO] [1655302331.109981162] [moveit.ros_planning.planning_pipeline]: Using planning interface 'OMPL'
[mtc_tutorial-1] [INFO] [1655302331.118015736] [moveit_ros.add_time_optimal_parameterization]: Param 'ompl.path_tolerance' was not set. Using default value: 0.100000
[mtc_tutorial-1] [INFO] [1655302331.118065828] [moveit_ros.add_time_optimal_parameterization]: Param 'ompl.resample_dt' was not set. Using default value: 0.100000
[mtc_tutorial-1] [INFO] [1655302331.118077833] [moveit_ros.add_time_optimal_parameterization]: Param 'ompl.min_angle_change' was not set. Using default value: 0.001000
[mtc_tutorial-1] [INFO] [1655302331.118140121] [moveit_ros.fix_workspace_bounds]: Param 'ompl.default_workspace_bounds' was not set. Using default value: 10.000000
[mtc_tutorial-1] [INFO] [1655302331.118177474] [moveit_ros.fix_start_state_bounds]: Param 'ompl.start_state_max_bounds_error' was set to 0.100000
[mtc_tutorial-1] [INFO] [1655302331.118189353] [moveit_ros.fix_start_state_bounds]: Param 'ompl.start_state_max_dt' was not set. Using default value: 0.500000
[mtc_tutorial-1] [INFO] [1655302331.118210880] [moveit_ros.fix_start_state_collision]: Param 'ompl.start_state_max_dt' was not set. Using default value: 0.500000
[mtc_tutorial-1] [INFO] [1655302331.118219060] [moveit_ros.fix_start_state_collision]: Param 'ompl.jiggle_fraction' was not set. Using default value: 0.020000
[mtc_tutorial-1] [INFO] [1655302331.118274518] [moveit_ros.fix_start_state_collision]: Param 'ompl.max_sampling_attempts' was not set. Using default value: 100
[mtc_tutorial-1] [INFO] [1655302331.118303777] [moveit.ros_planning.planning_pipeline]: Using planning request adapter 'Add Time Optimal Parameterization'
[mtc_tutorial-1] [INFO] [1655302331.118318061] [moveit.ros_planning.planning_pipeline]: Using planning request adapter 'Resolve constraint frames to robot links'
[mtc_tutorial-1] [INFO] [1655302331.118324861] [moveit.ros_planning.planning_pipeline]: Using planning request adapter 'Fix Workspace Bounds'
[mtc_tutorial-1] [INFO] [1655302331.118331047] [moveit.ros_planning.planning_pipeline]: Using planning request adapter 'Fix Start State Bounds'
[mtc_tutorial-1] [INFO] [1655302331.118336786] [moveit.ros_planning.planning_pipeline]: Using planning request adapter 'Fix Start State In Collision'
[mtc_tutorial-1] [INFO] [1655302331.118344027] [moveit.ros_planning.planning_pipeline]: Using planning request adapter 'Fix Start State Path Constraints'
[mtc_tutorial-1] Stack trace (most recent call last):
[mtc_tutorial-1] #10   Object "", at 0xffffffffffffffff, in
[mtc_tutorial-1] #9    Object "/home/samiul/Documents/ros_arm/install/moveit2_tutorials/lib/moveit2_tutorials/mtc_tutorial", at 0x556e550aa044, in _start
[mtc_tutorial-1] #8    Source "../csu/libc-start.c", line 392, in _libc_start_main_impl [0x7f9010df6e3f]
[mtc_tutorial-1] #7    Source "../sysdeps/nptl/libc_start_call_main.h", line 58, in libc_start_call_main [0x7f9010df6d8f]
[mtc_tutorial-1] #6    Source "/home/samiul/Documents/ros_arm/src/moveit2_tutorials/doc/tutorials/pick_and_place_with_moveit_task_constructor/src/main.cpp", line 375, in main [0x556e550af5d9]
[mtc_tutorial-1]         372:   });
[mtc_tutorial-1]         373:
[mtc_tutorial-1]         374:   mtc_task_node->setupPlanningScene();
[mtc_tutorial-1]       > 375:   mtc_task_node->doTask();
[mtc_tutorial-1]         376:
[mtc_tutorial-1]         377:   spin_thread->join();
[mtc_tutorial-1]         378:   rclcpp::shutdown();
[mtc_tutorial-1] #5    Source "/home/samiul/Documents/ros_arm/src/moveit2_tutorials/doc/tutorials/pick_and_place_with_moveit_task_constructor/src/main.cpp", line 73, in doTask [0x556e550aa623]
[mtc_tutorial-1]          71:   try
[mtc_tutorial-1]          72:   {
[mtc_tutorial-1]       >  73:     task.init();
[mtc_tutorial-1]          74:   }
[mtc_tutorial-1]          75:   catch (mtc::InitStageException& e)
[mtc_tutorial-1]          76:   {
[mtc_tutorial-1] #4    Object "/home/samiul/Documents/ros_arm/install/moveit_task_constructor_core/lib/libmoveit_task_constructor_core.so", at 0x7f90116fc187, in moveit::task_constructor::Introspection::publishTaskDescription()
[mtc_tutorial-1] #3    Object "/home/samiul/Documents/ros_arm/install/moveit_task_constructor_core/lib/libmoveit_task_constructor_core.so", at 0x7f90116f8193, in moveit::task_constructor::Introspection::fillTaskDescription(moveit_task_constructor_msgs::msg::TaskDescription<std::allocator >&)
[mtc_tutorial-1] #2    Object "/home/samiul/Documents/ros_arm/install/moveit_task_constructor_core/lib/libmoveit_task_constructor_core.so", at 0x7f90116d482c, in moveit::task_constructor::ContainerBase::traverseRecursively(std::function<bool (moveit::task_constructor::Stage const&, unsigned int)> const&) const
[mtc_tutorial-1] #1    Object "/home/samiul/Documents/ros_arm/install/moveit_task_constructor_core/lib/libmoveit_task_constructor_core.so", at 0x7f90116f84cb, in moveit::task_constructor::Introspection::fillTaskDescription(moveit_task_constructor_msgs::msg::TaskDescription<std::allocator >&)::{lambda(moveit::task_constructor::Stage const&, unsigned int)#1}::operator()(moveit::task_constructor::Stage const&, unsigned int) const [clone .constprop.0]
[mtc_tutorial-1] #0    Object "/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30", at 0x7f9011162e2c, in std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_assign(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&)
[mtc_tutorial-1] Segmentation fault (Address not mapped to object [0x43])
[ERROR] [mtc_tutorial-1]: process has died [pid 6817, exit code -11, cmd '/home/samiul/Documents/ros_arm/install/moveit2_tutorials/lib/moveit2_tutorials/mtc_tutorial --ros-args --params-file /tmp/launch_params_9wz5j4ax'].

@samiulextreem It got fixed with https://github.com/ros-planning/moveit_task_constructor/pull/372, please use that until it gets merged upstream


OTel Trace Source: Logging and integration tests

Description
Changes to OTel Trace Source
Logging improvements when traces fail to parse. These are related to #2185.

Logs only the exception message. The whole stack trace is not necessary since this is not a bug in Data Prepper.
Include the Trace in the message.
Adds the SENSITIVE marker so that this logging can be disabled.
Move to WARN from ERROR. Again, this is not a bug in Data Prepper.

Adds new integration tests. The test for this did not actually verify correct behavior for gRPC calls. This adds a few new tests to verify this behavior.
Issues Resolved
Related to #2185.
Check List

[ ] New functionality includes testing.
[ ] New functionality has been documented.

[ ] New functionality has javadoc added

[ ] Commits are signed with a real name per the DCO

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

Codecov Report

Merging #2262 (398e95a) into main (a5e51a3) will decrease coverage by 0.30%.
The diff coverage is n/a.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@             Coverage Diff              @@
##               main    #2262      +/-   ##
============================================
- Coverage     93.90%   93.60%   -0.30%
- Complexity     1812     1824      +12
============================================
  Files           221      224       +3
  Lines          5246     5284      +38
  Branches        424      426       +2
============================================
+ Hits           4926     4946      +20
- Misses          218      235      +17
- Partials        102      103       +1

Impacted Files
Coverage Δ

...opensearch/dataprepper/pipeline/ProcessWorker.java
71.15% <0.00%> (-17.31%)
:arrow_down:

...pper/peerforwarder/client/PeerForwarderClient.java
92.00% <0.00%> (-8.00%)
:arrow_down:

...aprepper/peerforwarder/PeerForwarderAppConfig.java
91.30% <0.00%> (-3.94%)
:arrow_down:

...rwarder/discovery/AwsCloudMapPeerListProvider.java
92.85% <0.00%> (-2.39%)
:arrow_down:

...peerforwarder/codec/JacksonPeerForwarderCodec.java
81.57% <0.00%> (ø)

...pper/peerforwarder/model/PeerForwardingEvents.java
80.00% <0.00%> (ø)

...er/peerforwarder/codec/JavaPeerForwarderCodec.java
100.00% <0.00%> (ø)

...pper/peerforwarder/PeerForwarderConfiguration.java
87.96% <0.00%> (+0.25%)
:arrow_up:

...peerforwarder/server/PeerForwarderHttpService.java
97.50% <0.00%> (+8.40%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Incorrect license listed in Eclipse

Description
The license shown in Eclipse for org.jkiss.dbeaver.ide.feature just sais license instead of showing the Apache License text.

DBeaver Version
Community Edition 24.1.0
Operating System
Ubuntu 24.04 LTS x86_64
Database and driver
n/A
Steps to reproduce

Install Eclipse
Install DBeaver into Eclipse from the Marketplace
When being asked to agree to the license, it shows the wrong license
After installing DBeaver, go to Help>About Eclipse IDE>Installation Details>Search for DBeaver IDE>Properties>License Agreement
It shows the wrong license

Additional context
I assume that this is the part causing the issue.

Thank you for bug report.


sdmmc: add example for initializing sdcard

Hi all,
Over the past few weeks, I've developed a demo program to interface with SDHC peripherals. The current version successfully initializes the peripherals and SD cards, reads the CID register, and outputs the results. The program has been tested and runs on the development board(nezha-d1), with the output shown below:

Key Challenges and Solutions:

SDHC Peripheral Configuration:
Configuring SDHC peripherals involved selecting the appropriate clock source and calculating parameters accurately. The oreboot project helped as a reference. I also encountered a register operation bug that took some time to find, and it is now fixed.

SDIO Protocol Operation:
Implementing SD card data read and write functionality using the SDIO protocol presented complexity, particularly with version compatibility and edge cases. Since no Rust crate currently supports this, I have implemented basic initialization and CID register reading for now. Future improvements could include expanding functionality or developing a general SDIO protocol library for broader use.

Flashing and Running the Program:
After compiling, the program requires a correct image header and burning using the xfel tool. I referred to the steps in https://github.com/YuzukiHD/SyterKit/pull/129 to complete.

Reference
https://github.com/oreboot/oreboot/pull/636
https://github.com/oreboot/oreboot/pull/701
https://github.com/YuzukiHD/SyterKit/pull/143
https://github.com/YuzukiHD/SyterKit/pull/129
I believe that this demo will support future boot program development and help adapt frameworks like Rust SyterKit :)

cc @luojia65


fix: extracting enums along with extracting request params

https://github.com/acacode/swagger-typescript-api/issues/506


spirv-val: OpAccessChain without indices is permitted

The following SPIR-V passes spirv-val's checks
               OpCapability Shader
          %1 = OpExtInstImport "GLSL.std.450"
               OpMemoryModel Logical GLSL450
               OpEntryPoint Fragment %4 "main"
               OpExecutionMode %4 OriginUpperLeft
               OpSource ESSL 310
          %2 = OpTypeVoid
          %3 = OpTypeFunction %2
          %6 = OpTypeBool
          %7 = OpTypePointer Function %6
          %4 = OpFunction %2 None %3
          %5 = OpLabel
         %10 = OpVariable %7 Function
         %11 = OpAccessChain %7 %10
               OpReturn
               OpFunctionEnd

In this code, the Base operand of the OpAccessChain is not a pointer to a composite. Also, indices operands are missing. The same issue arises with OpInBoundsAccessChain.

@alan-baker @s-perron ping

@alan-baker Where did the spec come done on the legality of this?  I remember we had discussions about it because some optimizations assume at least one index.  However, I forget the result.

It was left as valid because there are a reasonable number of code generators that generate this case.

spirv-opt doesn't support this case, though. This SPIR-V
               OpCapability Shader
          %1 = OpExtInstImport "GLSL.std.450"
               OpMemoryModel Logical GLSL450
               OpEntryPoint Fragment %4 "main"
               OpExecutionMode %4 OriginUpperLeft
               OpSource ESSL 310
          %2 = OpTypeVoid
          %3 = OpTypeFunction %2
          %6 = OpTypeBool
          %7 = OpTypePointer Function %6
          %4 = OpFunction %2 None %3
          %5 = OpLabel
         %10 = OpVariable %7 Function
         %11 = OpAccessChain %7 %10
         %12 = OpLoad %6 %11
               OpReturn
               OpFunctionEnd

produces an error

error: line 16: Expected at least one index to OpCompositeExtract, zero found
%12 = OpCompositeExtract %bool %13
error: line 0: Validation failed after pass convert-local-access-chains

when executed with the following command spirv-opt <attached file> -o out.spv --validate-after-all --convert-local-access-chains. This can be reproduced on 28f32ca5.
Compiled shader is in the attached file .

In an internal discussion, it was suggested that the pointer operand must point to a composite (as implied by the spec). Thus, this can be regarded as a spirv-val bug.
And 0 indices is fine, so this can be classed as a spirv-opt bug.


W2D4 - various parameters not described in functions

For example, in Ex 5 measurement is not described in the function. Other functions have similar issues.
def value_function(measurement, act, cost_sw):
  """
  value function

  Args:
    act (numpy array of string): length T with each element
                                  taking value "stay" or "switch"
    cost_sw (float): the cost of switching side

  Returns:
    value (float): expected utility per unit time
  """
...

This is a minor issue, but readability would be improved by adding details about each parameter, in order.

fixed in the W2D4_PreCronical (#536)


realtime: Bump image to 2.33.70

What kind of change does this PR introduce?
Bump image to 2.33.70

Pull Request Test Coverage Report for Build<PHONE_NUMBER>4
Details

0 of 0   changed or added relevant lines in 0 files are covered.
5 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.02%) to 59.721%

Files with Coverage Reduction
New Missed Lines
%

internal/gen/keys/keys.go
5
12.9%

Totals

Change from base Build<PHONE_NUMBER>7:
-0.02%

Covered Lines:
7652

Relevant Lines:
12813

💛  - Coveralls


Home Page Layout and Design for Content and Discovery

We need to address the layout and design of the home page between the header and footer for featured content and discovery. Based on the discussion we can create individual tickets to address the layout and design of the home page.

Depends on the following:

[ ] #437
[ ] #438
[ ] #439
[ ] #481

These have been completed and verified in QA.


Viewing a local running instance of neurosift using the jupyterhub proxy.

Hello Jeremy,
Thank you for developing neurosift.  I think is a great software, to get to learn & debug NWB files.
I hope you can help me getting it to run locally. Let me explain what I am doing. I got an NWB that I am able to read inside a jupyter notebook:

The file is in the staging jupyterhub from dandi.
I have installed neurosift using pip to be the latest version and run it from a jupyterhub terminal window passing the path of the nwb file. It looks as follows:

Then, I opened a second tab in the browser and enter the port and path that I got from neurosift:
https://hub-staging.dandiarchive.org/user/ovalerio/proxy/58981/tmp/view_nwb_sSXSRYZn
and it is showing empty:

In the terminal where I run neurosift there is no error messages:
(suite2p) jovyan@jupyter-ovalerio:~$ neurosift view-nwb results_orig/suite2p/ophys.nwb
npm version: 10.8.1
node version: v22.4.1

up to date, audited 65 packages in 2s

12 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities
Opening https://flatironinstitute.github.io/neurosift/?p=/nwb&url=http://localhost:58981/files/ophys.nwb

><EMAIL_ADDRESS>start
> node src/index.js /tmp/view_nwb_sSXSRYZn

Serving files in /tmp/view_nwb_sSXSRYZn
Serving files in /tmp/view_nwb_sSXSRYZn on port 58981.

For the record, I am using Firefox in Ubuntu:

Best,
Omar

I also tried using the neurosift.app URL suggested on the command line and gave me a CORS.

Hi @ovalerio . The issue is that the server is listening on that port on the dandihub instance, not on your local machine. So it's not going to work if you open a new tab on your browser.
I can see the appeal of using neurosift to view an .nwb file that is local to dandihub. But I can't think of a way to do it right now.

@ovalerio
I thought of how you can do this!
In your jupyter notebook (on dandihub), run the following cell
from IPython.display import IFrame
ns_url = 'https://neurosift.app?p=/nwb&url=...'
display(IFrame(ns_url, width='100%', height=800))

where you'd fill in the appropriate url. Adjust the height as appropriate.

@magland Thanks!
I will try this once dandihub is back online and come back here to share the result.

@magland
Hello again,  I tried your suggestion and it is working as far as I can see.  :+1:
The neurosift window was showing for a brief second (it was showing also the left navigation panels) and then I got an error message: "Problem loading file. Unable to load root group."
I'm not sure if the problem is due to my NWB file. I'm not getting that error when opening the file using the pynwb.NWBHDFIO module.

First, make sure you have the latest neurosift python package
pip install --upgrade neurosift
If that doesn't work, is that file something you could share? Maybe email to me or put it in a downloadable location?
Alternatively, could you downloaded it to your local machine and try to view it without jupyter?


Fix an off-by-one error for maximum_agents

Coverage remained the same at 65.63% when pulling d7ce92f42bef327580c3a6de2aaf200ff31f6596 on guidow:fix_max_agents into 6a2e7a6de7345891fa234f4b9098b3aa8473067b on pyfarm:master.

Coverage remained the same at 65.63% when pulling d7ce92f42bef327580c3a6de2aaf200ff31f6596 on guidow:fix_max_agents into 6a2e7a6de7345891fa234f4b9098b3aa8473067b on pyfarm:master.

Looks good, merging.


Autocomplete is incompatible with qualified partial imports

I have the following Main.purs:
module Main where

import Prelude
import Control.Monad.Eff (Eff)
import Control.Monad.Eff.Console (CONSOLE, logShow) as C

main :: forall e. Eff (console :: C.CONSOLE | e) Unit
main = do
  C.logShow 4

It builds with no issues. If I add a new line (after building) with notmain = do C.lo then autocomplete fails to suggest C.logShow.
On the other hand, if I add a line with notmain = do lo then autocomplete suggests logShow, which does not exist in this context.

It looks like the plugin's import parsing is breaking down here. Why would you explicitly list the imports for a qualified import though? If you just go with import Control.Monad.Eff.Console as C and type C. you will get all the right completions. The reason for why identifiers that are not imported yet pop up in the completion list is related to #126. If we don't want to manually edit import statements, we need to be able to autocomplete not yet imported functions.

You would explicitly list imports for a qualified import when importing multiple modules with the same qualifier - this is recommended for some things and will otherwise trigger import warnings.
Will take a look at this when I can, my expectation is that for explicit qualified imports, everything with that qualifier should be suggested or just the imported things, according to the settings.

This is fixed as of 6609dfeb69b37bdfc6681d97f82304985dddadc5 along with updates in the current compiler master, in that explicit/hiding imports with qualifier will suggest completions with the qualifier. The following caveats apply

Suggestions are never filtered for explicit/hiding identifiers, which isn't quite right when not adding imports on completion
We never add imports on completion for qualified explicit imports (this would require compiler changes and I don't feel it's worth it unless demand shows otherwise - you can remove the explicit list and apply the auto-fix suggestion afterwards)

Fixed in 0.10


NCCL Python Wrapper

There are a lot of use-cases for having NCCL run directly in the Python layer. It looks like the current wrapper requires the user to work at the level of ctypes pointers rather than native Python objects.
There is user interest in being able to initialize a NCCL clique and pass cupy arrays directly to the collective comms functions. This opens up a lot of possibilities for users and I have also seen interest from the NCCL project in having such a wrapper made.
Included in this feature, should also be some well-documented examples of using the new NCCL Python API.

It’s not that complicated. The underlying device pointer of CuPy arrays is exposed via either arr.data.ptr or arr.__cuda_array_interface__['data'][0]. Once this is known, making a Python wrapper is straightforward without using ctypes, which I hate 😉
For example, this is a thin wrapper we used in one of our projects:
import numpy as np
import cupy as cp
try:
    from cupy.cuda import nccl
except ImportError:
    import sys
    print("NCCL does not exist.", file=sys.stderr)
    nccl = None
    del sys

if nccl is not None:
    def get_unique_id():
        return nccl.get_unique_id()

    class NCCLComm(nccl.NcclCommunicator):
        def __init__(self, ndev, commId, rank):
            super(NCCLComm, self).__init__(ndev, commId, rank)

        def get_NCCL_count_dtype(self, arr):
            if arr.dtype == cp.complex64:
                return arr.size*2, nccl.NCCL_FLOAT32
            elif arr.dtype == cp.complex128:
                return arr.size*2, nccl.NCCL_FLOAT64
            elif arr.dtype == cp.float32:
                return arr.size, nccl.NCCL_FLOAT32
            elif arr.dtype == cp.float64:
                return arr.size, nccl.NCCL_FLOAT64
            else:
                raise ValueError("This dtype is not supported by NCCL.")

        def Allreduce(self, send_arr, recv_arr, op=nccl.NCCL_SUM, stream=None):
            sendbuf = send_arr.__cuda_array_interface__['data'][0]
            recvbuf = recv_arr.__cuda_array_interface__['data'][0]
            count, datatype = self.get_NCCL_count_dtype(send_arr)
            if stream is None:
                stream = cp.cuda.Stream.null.ptr
            else:
                stream = stream.ptr
            super(NCCLComm, self).allReduce(sendbuf, recvbuf, count, datatype, op, stream)

        def Reduce(self, send_arr, recv_arr, op=nccl.NCCL_SUM, root=0, stream=None):
            sendbuf = send_arr.__cuda_array_interface__['data'][0]
            recvbuf = recv_arr.__cuda_array_interface__['data'][0]
            count, datatype = self.get_NCCL_count_dtype(send_arr)
            if stream is None:
                stream = cp.cuda.Stream.null.ptr
            else:
                stream = stream.ptr
            super(NCCLComm, self).reduce(sendbuf, recvbuf, count, datatype, op, root, stream)

        def Bcast(self, arr, root=0, stream=None):
            buff = arr.__cuda_array_interface__['data'][0]
            count, datatype = self.get_NCCL_count_dtype(arr)
            if stream is None:
                stream = cp.cuda.Stream.null.ptr
            else:
                stream = stream.ptr
            super(NCCLComm, self).bcast(buff, count, datatype, root, stream)

The idea here is to make the NCCL comm behave like a mpi4py comm.

Btw, I meant to say it’s nice to have this wrapper built-in in CuPy, but it’s probably just a convenience handle, as none of the CuPy functions uses NCCL so far. Given that the wrapper is so simple, perhaps we could just add it to the examples?

This is something we would like to use for collective comms (alongside UCX-py) in RAPIDS cuML. We could host this there as part of our API, but as other projects are likely to want to use it as well, it seemed more reasonable if it was available as part of cupy’s public API. I could really go either way, though. RAPIDS cugraph may have an interest in this very soon as well.
Sent from my iPhone

On Dec 19, 2019, at 7:33 PM, Leo Fang<EMAIL_ADDRESS>wrote:

Btw, I meant to say it’s nice to have this wrapper built-in in CuPy, but it’s probably just a convenience handle, as none of the CuPy functions uses NCCL so far. Given that the wrapper is so simple, perhaps we could just add it to the examples?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

@cjnolet If CuPy prefers not to support this, I am happy to contribute to the RAPIDS stack if you could guide me 🙂

Implemented via #5590!


SPFarm: CentralAdministrationPort should be configurable

Details of the scenario you tried and the problem that is occurring
Recently I was tasked to changed the central admin port. I tried to use the sp_farm resource, but failed. currently the CentralAdministrationPort will not be checked.
Suggested solution to the issue
Add CentralAdministrationPort to the test params and add function to set the central admin port.
Version of the DSC module that was used ('dev' if using current dev branch)
master - <IP_ADDRESS>

Have implemented this. Will be included in my next PR


API endpoint to get possible values for de.fraunhofer.iais.eis.SecurityProfile

For the "Restrict to specific Security Level" contract the user has to choose the profile in the UI.
For now I hardcoded the profiles (idsc:TRUST_SECURITY_PROFILE, idsc:BASE_SECURITY_PROFILE, idsc:TRUST_PLUS_SECURITY_PROFILE).
Would it be possible to get the possible types i.e. via Enum API Endpoint (GET /api/configmanager/enum/)?

Is on PR, will be /api/configmanager/enum/securityprofile


doesn't work with ExpandedArmory-1.7.10-1.4.1

ExpandedArmory-1.7.10-1.4.1 doesn't detect your version of weapon mod

This is expected and also as things should be.
I have my own fork of Expanded Armory, which will be released rather soon.

This is expected and also as things should be. I have my own fork of Expanded Armory, which will be released rather soon.

Good to hear, what integrations have you added or are planning to add?

Related:
https://github.com/ThexXTURBOXx/Expanded-Armory-Legacy/issues/1 and https://github.com/ThexXTURBOXx/Expanded-Armory-Legacy/issues/2


Add include_directories to pugl_dep.

Had more errors on Mac.  The OSX apps were reaching one directory back to far ('../../../../include') to a non-existent folder.   I assume include is public headers,  so I added it to include_directories on the pugl_dep object.  Fixes these mac errors and also probably good when used as a subproject.
pugl| subprojects/pugl/examples/pugl_cairo_demo.app/MacOS/meson.build:4: WARNING: include_directories sandbox violation!
The project is trying to access the directory **'../../../../include'** which belongs to a different
subproject. This is a problem as it hardcodes the relative paths of these two projects.
This makes it impossible to compile the project in any other directory layout and also
prevents the subproject from changing its own directory layout.

Instead of poking directly at the internals the subproject should be executed and
it should set a variable that the caller can then use. Something like:

# In subproject
some_dep = declare_dependency(include_directories: include_directories('include'))

# In subproject wrap file
[provide]
some = some_dep

# In parent project
some_dep = dependency('some')
executable(..., dependencies: [some_dep])

This warning will become a hard error in a future Meson release.

subprojects/pugl/examples/pugl_cairo_demo.app/MacOS/meson.build:1:0: ERROR: Include dir ../../../../include does not exist.

Yeah, my bad, pugl-as-a-subproject tends to rot still, since I haven't yet incoroprated it into lv2kit or my personal subproject tree.
Fix LGTM, thanks.  Merged as c3bc53d (same, but with some whitespace and the mangled commit message fixed).

No problem.  The subproject is has been getting tons of attention in LVTK lately.  Think I'm going shift focus to high performing customizable GUI's in 3.0: https://github.com/lvtk/lvtk/tree/main/include/lvtk/ui .

Nice!  I'll check it out

With a major version bump: could also be a chance to finish offical LV2 c++ bindings (if you even want that).  LVTK could then just expand upon official templates.

It's a thing I'm certainly thinking about, although I'm not sure about the details yet.  Still trying to get things solidly maintained and moving forward before adding stuff, but that phase is thankfully almost done now...
As a smaller step, we could bring the project under the umbrella of the lv2 organization on git* if that appeals to you.  I think it would be nice to have more projects under that banner, and individual projects can more or less remain as they are maintaner- and other-wise.  For lvtk, the build system and license already match, so it would be pretty easy to take advantage of the CI infrastructure and whatnot as a concrete perk.  The Windows and Mac stuff runs on my personal machines, so aren't quite as available as Gitlab-hosted Docker images, but they're usually online and I don't mind.

Re: the bindings, IIRC I liked the direction you took there and it seemed pretty close to being suitable as "official" bindings, but it's been a while.  I'm just coming out of vacation mode at the moment, but I'll try to take a look shortly and refresh my memory.

Yeah, absolutely: lv2/lvtk would be a great honor!  As for c++ bindings, I'll keep moving forward for sure. In my mind, LVTK 3 should implement real lv2 bare bones, templates and expose a higher level API with minimal templating.
I have an idea where there's a managed/internal context that owns the coder's instance class.  Some kind of pipeline between UI and Plugin contexts could be established and make it really easy for users to do UI <=> Plugin comms.... and also have a built-in Widget library on par (or better) than typical GUI toolkits.

Yeah, there's some template vs runtime overhead struggles there I never really found an ideal solution to.  Atoms make really easy/nice bindings annoying to, mainly because the type URIDs are dynamic.  I'm still really interested in exploring standard URIDs being static to make such things dramatically cleaner and easier to use, but it's a pretty big change, and I'm not sure how to do it in a maintainable way given the modular spec (e.g. one huge enum somewhere seems... questionable?  or maybe not?)
Getting a bit ahead of ourselves here though, I suppose.  If you're interested in lvtk, or parts of it, or... something, moving under the lv2 org umbrella, that's great; I'll try to figure out some nitty-gritty details and take that topic up elsewhere.

It could be as simple as the big enum + a utily lv2_map_standard_uris (map, unmap) .. then suggest hosts start using it and send a data-only feature to plugins.  IDK, that's my initial reaction without over thinking.

Giant enum I'm sure could easily be generated with a meson generator + python script (or something)

Oh... this method  the enum serves as the key in a key/value relationship... not the mapped URI... could be misleading for plugin authors just wanting the URIDs...  it's a toughie .

Yeah, easy enough to generate initially.  I've done it before with just a bit of command line and text editor hackery.  The details are the tricky bit: prefixes are annoying, but there are name clashes, a single header somewhere having a dependency on every other extension (which are still true "extensions" and not particularly privileged except being maintained together with the core), etc


Error including wasm-bindgen feature in a workspace crate.

This is happening on Windows, but I think the same would happen on other OS's.
mkdir workspace
cd workspace
cargo init --lib
cargo new test1
cargo new test2

Edit the root cargo.toml file:
[package]
name = "workspace"
version = "0.1.0"
edition = "2021"

[workspace]
members = [
    "test1",
    "test2",
]

Edit test1's Cargo.toml file:
rhai = { version = "1.17.1", features = ["wasm-bindgen"] }
Run:
cargo run -p test1
And get:
compile_error!("wasm-bindgen cannot be used for non-WASM target");
To solve it, you're supposed to be able to add test1/.cargo/config.toml
[build]
target = "wasm32-unknown-unknown"

However this does not work, and you still get the compilation error. Move the .cargo/config.toml file up to the workspace level, and it works.
BUT the issue is then you get conflicts with other crates.
Add this to test2/Cargo.toml:
[dependencies]
warp = "0.3"
tokio = { version = "1", features = ["full"] }

And suddenly you're getting cannot find type 'Event' in module 'sys' errors, because tokio depends on mio which uses conditional flags to include OS-specific features. Even including a new test2/.cargo/config.toml file with a local target, such as this does not work:
[build]
target = "x86_64-pc-windows-msvc"

I'm not sure if this is a Cargo issue, rust-analyzer issue, a RHAI issue, or a MIO issue yet.

I managed to get around the issue temporarily by specifying conditional dependencies in my Cargo.toml file:
[target.'cfg(target_arch = "wasm32")'.dependencies]
rhai = { version = "1.17.1", features = ["wasm-bindgen"] }

However this only works because I am actually using rhai from yet a different crate, otherwise Rust-Analyzer would complain that "rhai" doesn't exist.

Not very sure about this... I think it might be a hiccup with Rust Analyzer...

I think you're right. I think it may not be supported by Rust Analyzer. https://github.com/rust-lang/rust-analyzer/issues/16765

I'll close this issue as it is not RHAI specific.


High-symmetry points are not labelled when using non-sumo KPOINTS file

When I execute the sumo-bandplot command, the generated bandplot does not indicate the high symmetric points. I want to know where sumo reads the high symmetric points label when drawing the bandplot, KPOINTS or OUTCAR? I run the command in the folder after the execution of the vasp calculation task. I use the high symmetric point path generated from the seek-path website to write my own defined KPOINTS, is it necessary to use the band path generated by the sumo-kgen command?
band.pdf

It reads them from KPOINTS. The standard sumo workflow is to produce KPOINTS using sumo-kgen. This tool provides several ways of specifying the path, including a --seekpath option which uses the SeeK-path library. https://smtg-bham.github.io/sumo/sumo-kgen.html
I suggest having a play with this tool to understand what sumo-bandplot is looking for; you can add this information to an existing KPOINTS file if necessary.

Many thanks for your replying!


Fixed the Navbar height and user login page

💡 [REQUEST] -  Navbar and User login page #192
Description of Changes

I have fixed the height of navbar which was causing the navbar to appear thick and also it was covering the content
I have changed the positioning of the main form in user login page
In the Orignal screenshot 2 you can clearly see how bad it looks

Checklist:

[x] My code adheres to the established style guidelines of this project.
[x] I have conducted a self-review of my code.
[x] I have included comments in areas that may be difficult to understand.
[x] I have made corresponding updates to the project documentation.
[x] My changes have not introduced any new warnings.

Screenshots

Original
Updated

Feedback is appreciated

Please provide any update about merging this pull request

Did the changes you wanted

[ ] Maintain the UI formity of login, registration and forget password container
[ ] Can you remove the scroll bar? ( That is coming in registration and login.
[ ] UI needs to be improved in mobile view
[ ] Added sitemap-0.xml in gitignore

I hope you like it @anmode

Great! But UI formity did not achieved?
see

Added UI formiity just as you said. I hope i came over your expectations,
please merge the changes @anmode

I'll mark it as level 3. If you can include Nav and mentor card fixing too. It is your wish otherwise Level 2 is good. and I'll assign it.

Thank you, but i am okay with level 2

Congrats!

Thank you


Could not format generated source. The generated code is probably invalid, and this is most likely a bug in drift_dev.

Hi
database.dart
// @dart=2.12

import 'package:drift/drift.dart';

import 'connection/connection.dart' as impl;

part 'database.g.dart';

@DriftDatabase(include: {'tables.drift'})
class AppDatabase extends _$AppDatabase {
  AppDatabase() : super(impl.connect());

  @override
  int get schemaVersion => 1;
}

table.drift
import 'package:app/model/register.dart';

CREATE TABLE Register (
        Id INTEGER PRIMARY KEY, Download TEXT, ExtraCode TEXT, WcfURL TEXT, CompanyName TEXT, CompanyId INTEGER,
        CompanyPersonId INTEGER, ImeiCode TEXT, RegisterCode TEXT
) WITH RegisterModel;

register.dart
class RegisterModel {
  String download;
  String extraCode;
  String wcfUrl;
  String companyName;
  int companyId;
  int companyPersonId;
  String imeiCode;
  String registerCode;

  RegisterModel(this.download, this.extraCode, this.wcfUrl, this.companyName,
      this.companyId, this.companyPersonId);

}

After running flutter pub run build_runner build --delete-conflicting-outputs the below Warning shows up in terminal:
[WARNING] drift_dev on lib/app/databse/tables.drift:
line 11, column 53 of package:app/model/register.dart: Unexpected parameter wcfUrl which has no matching column.
   ╷
11 │   RegisterModel(this.download, this.extraCode, this.wcfUrl, this.companyName,
   │                                                     ^^^^^^
   ╵

[WARNING] drift_dev on lib/app/databse/database.dart:
Could not format generated source. The generated code is probably invalid, and this is most likely a bug in drift_dev.

Its is a warning but the generated database.g.dart file is broken:

After adding Id
register.dart
class RegisterModel {
  int id;
  String download;
  String extraCode;
  String wcfUrl;
  String companyName;
  int companyId;
  int companyPersonId;
  String imeiCode;
  String registerCode;

  RegisterModel(
      this.id,
      this.download,
      this.extraCode,
      this.wcfUrl,
      this.companyName,
      this.companyId,
      this.companyPersonId,
      this.imeiCode,
      this.registerCode);
}

terminal log
line 16, column 12 of package:app/model/register.dart: Unexpected parameter wcfUrl which has no matching column.
   ╷
16 │       this.wcfUrl,
   │            ^^^^^^
   ╵
[WARNING] drift_dev on lib/app/databse/database.dart:
Could not format generated source. The generated code is probably invalid, and this is most likely a bug in drift_dev.

database.g.dart

I even tried a simpler table:
tables.drift:
import 'package:app/model/combo.dart';

CREATE TABLE Combo (
        ComboId INTEGER PRIMARY KEY, Value TEXT NOT NULL
) WITH ComboModel;

combo.dart:
class ComboModel {
  int comboId;
  String value;

  ComboModel(this.comboId, this.value);
}

terminal log: (Only one warning this time)
[WARNING] drift_dev on lib/app/databse/database.dart:
Could not format generated source. The generated code is probably invalid, and this is most likely a bug in drift_dev.

database.g.dart:

Looking at the generated code, it seems like intermediate typedefs generated by drift_dev during an internal analysis phase aren't working properly.
You can most likely fix this by raising the SDK constraint in your pubspec.yaml to >=2.13.0, because that's the version of the Dart SDK that enables general typedefs. I'll take a look at how this can efficiently be fixed in drift too.

I moved to a newer test project and its still happening
environment:
  sdk: ">=2.16.2 <3.0.0"

Did you also remove // @dart=2.12 in your database.dart file? Also try to run flutter clean, in case the result stays the same.

Ye I did remove it. It was actually the goal of creating a new project to test without // @dart=2.12
Also tried flutter clean and did not work

If you look at .dart_tool/build/generated/<your package name>/<path to drift file>.drift.types.temp.dart, does that file contain dynamic Function() anywhere?
I still think it's likely about that hidden source which drift uses to share Dart types across different build steps. But flutter clean removes the .dart_tool folder which should delete the cache, so if you have sdk: ">=2.16.2 <3.0.0" in your pubspec there shouldn't be a problem.
If the problem persists, you could try a development drift version. I tried to fix this problem in b2b37666bd5810dc0a79eaf3fd04512aae4eb5f0.

This is the content of the file you asked for:
import 'package:crm_ideal_app/model/register.dart' as i0;
typedef T0 = i0.RegisterModel;

Yeah, so the problem might be that this file gets interpreted as an older Dart version which doesn't have generalized typedefs, in which case the analyzer thinks this is a mistyped function type.
Does your package have the correct language version in .dart_tool/package_config.json?

here is the related content:
  {
     "name": "drift",
     "rootUri": "file:///C:/Users/Dev/AppData/Local/Pub/Cache/hosted/pub.dev/drift-2.7.0",
     "packageUri": "lib/",
     "languageVersion": "2.19"
   },
   {
     "name": "drift_dev",
     "rootUri": "file:///C:/Users/Dev/AppData/Local/Pub/Cache/hosted/pub.dev/drift_dev-2.7.0",
     "packageUri": "lib/",
     "languageVersion": "2.17"
   },


cannot import name 'url' from 'django.conf.urls'

django.conf.urls.url() was deprecated in Django 3.0, and is removed in Django 4.0+

so does that mean that django-rest-framework-social-oauth2 does not work with django4.0+

Not sure why it hasn't been merged yet, but you can add this to your requirements.txt
django-rest-framework-social-oauth2 @ git+https://github.com/islam-kamel/django-rest-framework-social-oauth2

@islam-kamel Could you release a new version please?

@kntiwary I've just released new version with this fix.

@kntiwary I've just released new version with this fix.

Thanks


[BUG] PPO with torchrl tutorial broken on Colab

Describe the bug
When trying to run the tutorial on Colab, the following error is thrown when importing torchrl:
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
[<ipython-input-4-8f198eb0e7fb>](https://localhost:8080/#) in <cell line: 9>()
      7 from torch import nn
      8
----> 9 from torchrl.collectors import SyncDataCollector
     10 from torchrl.data.replay_buffers import ReplayBuffer
     11 from torchrl.data.replay_buffers.samplers import SamplerWithoutReplacement

8 frames
[/usr/local/lib/python3.10/dist-packages/torchrl/data/replay_buffers/samplers.py](https://localhost:8080/#) in <module>
     11 import torch
     12
---> 13 from torchrl._torchrl import (
     14     MinSegmentTreeFp32,
     15     MinSegmentTreeFp64,

ImportError: /usr/local/lib/python3.10/dist-packages/torchrl/_torchrl.so: undefined symbol: _ZN5torch8autograd13_wrap_outputsERKSt6vectorIN2at6TensorESaIS3_EERKSt13unordered_setIPN3c1010TensorImplESt4hashISB_ESt8equal_toISB_ESaISB_EESJ_NS9_8ArrayRefINS9_8optionalIS3_EEEERKSt10shared_ptrINS0_4NodeEESt8functionIFS5_S5_S5_EESJ_

---------------------------------------------------------------------------
NOTE: If your import is failing due to a missing package, you can
manually install dependencies using either !pip or !apt.

To view examples of installing some common dependencies, click the
"Open Examples" button below.
---------------------------------------------------------------------------

To Reproduce

Import tutorial notebook on Colab
Uncomment code installing the packages
Run the code

Expected behavior
Error doesn't happen
Screenshots
If applicable, add screenshots to help explain your problem.
System info
Standard Google Colab En
Checklist

[x] I have checked that there is no similar issue in the repo (required)
[x] I have read the documentation (required)
[x] I have provided a minimal working example to reproduce the bug (required)

Wild guess: Colab does not have torch 2.1. Can you confirm?

Indeed, Colab seems to ship with Pytorch 2.0.1. For the time being, maybe add a pip install --upgrade torch to the Google Colab block in the tutorial?

Maybe a hard requirement of Pytorch 2.1 is still too aggressive for now.

I think the ideal scenario going forward would be:

pip install torchrl upgrades PyTorch to the latest version
pip install torchrl-nightly installs PyTorch nightlies
python setup.py develop works with any existing PyTorch >=1.13

The first two are mandatory since it's the PyTorch version used to build the wheels (nothing else will work). But we make sure that local install work with previous versions of torch so we must ensure that there's a way to make it work!
This would also incidentally solve the notebook issue since you'd be installing the recent PyTorch with torchrl.

Is it an option to build wheels for different versions of PyTorch and tag the wheel with it?

I don't think it is possible to tell PyPI that one version of a library has multiple sets of dependencies (at least I have never seen that in the past). Looking forward, the public wheels of v. in torchrl will always be tied to v<X+2>. in PyTorch I'm afraid 😧

We can specify pytorch>=x in the runtime dependencies where x is the minimum PyTorch version needed, no?
And for the build dependencies, let it be controlled with an argument.

It's also fine I guess if it is synced with a particular version of PyTorch. Users can still build a wheel with the PyTorch version they have in their environment. It would probably be more helpful to write somewhere the minimum PyTorch version needed. (E.g. torchrl 0.2 works fine with pytorch 2.0 AFAIK)

Looks like Colab bumped pytorch to 2.1, tutorial works again

I have made it so that torchrl depends on the latest pytorch version, hence running the tutorial with the binaries from #1642 will install the latest pytorch anyway.

Torchrl now has a stronger dependency to PyTorch which means that you'll be able to install it in any Colab at any time in the future.
You can still downgrade PyTorch to a version >=1.13 if needed!


Supporting host memory registration in CUDA via external buffers.

Re-landing #11848 that was reverted in #11895 due to performance regressions.
The original commit included context push/pop during deallocation which resulted in device synchronizes due to CUDA's context threading model. For now a warning has been added that (like much of the current CUDA driver) threading is not quite handled right. User APIs that may manage buffer lifetime will need to be aware of the thread they are releasing buffers on until a larger cleanup can be performed and that was the case before the changes made here.
The original commit also incorrectly allowed requests for imports as DEVICE_LOCAL usage to be performed when importing host allocations; this led to program constant buffers being mapped from files and used as if they were on device.
This reverts commit 3c78102749f8ceb3f82bf9a103a74d215adf160b.

Showing major cuda regression still. Psychic debugging fail.

Benchmark seems good now! PTAL


Develop getLocationData API Endpoint

Description
Develop the getLocationData API endpoint that retrieves data specific to a location selected on the frontend map. This endpoint will interface with the API Composer to fetch and aggregate data from all available datasets within the spatial database, providing comprehensive location-based insights.
Acceptance criteria

The getLocationData endpoint successfully accepts coordinates or an area as input.
Data from multiple datasets is accurately queried and aggregated based on the location specified.
The endpoint returns data in a structured format that is easy to interpret on the frontend.
Ensure the response time is optimized for quick user interactions.

Definition of done (DoD)

Component tests have been written and pass
All CI tests passed for the pull request
Code review has been completed and code has been merged into sprint-release branch
All feature branches have been merged and closed
New feature code has been documented

DoD general criteria

Feature has been fully implemented
Feature has been merged into the mainline
All acceptance criteria were met
Product owner approved features
All tests are passing
Developers agreed to release

Done during the last sprints. Moved to the "Done" column during the sprint meeting by POs. Closing.


Why ranx is too slow in this simple example?

from ranx import Qrels
from ranx import Run
from ranx import evaluate

qrels_dict = {
    "text_1": {
        "label_1": 1
    },

    "text_2":{
        "label_2": 1,
    }
}

qrels = Qrels(qrels_dict, name="testing")

run_dict = {
    "text_1": {
        "label_1": 1,
        "label_2": 0.9,
        "label_3": 0.8,
        "label_4": 0.7,
        "label_5": 0.6,
        "label_6": 0.5,
        "label_7": 0.4,
        "label_8": 0.3,
        "label_9": 0.2,
        "label_10": 0.1,
    },

    "text_2": {
        "label_1": 0.9,
        "label_2": 1,
        "label_3": 0.8,
        "label_4": 0.7,
        "label_5": 0.6,
        "label_6": 0.5,
        "label_7": 0.4,
        "label_8": 0.3,
        "label_9": 0.2,
        "label_10": 0.1,
    },
}

run = Run(run_dict, name="bm25")

evaluate(qrels, run, ["mrr@1", "mrr@5", "mrr@10"])

CPU times: user 55.2 s, sys: 467 ms, total: 55.7 s
Wall time: 56.8 s

This behavior can be reproduced in this Google Colab.

Wow, it is taking forever in a real example with about 60k queries!
Am I missing something?

Hi, and thanks for your interest in ranx!
I think you are missing that all numba-based ranx functions need to be compiled the first time you use them (there is a disclaimer on top of each of my notebooks about that).
Also, Google Colab is very slow in compiling them.
If you run your notebook again (without reloading Colab), you should notice an extremely lower computation time.
Unfortunately, I suspect you must recompile ranx functionalities every time you start a new Colab instance.
On your local machine, the compiled functions should be automatically stored for future usage by numba.
If you are stuck with Colab, I suggest you compile the functions with toy examples before using them with real-world data.
You should be absolutely fine then with 60k queries, especially with MRR, which is very optimized.
On my local machine, a four years old MBP, I get these execution times for 1M queries with 100 results each:
%%time
evaluate(qrels, run, ["mrr@1", "mrr@5", "mrr@10"])

CPU times: user 11.6 s, sys: 38.6 ms, total: 11.6 s
Wall time: 1.05 s

%%time
evaluate(qrels, run, ["map", "mrr", "ndcg"])

CPU times: user 25.8 s, sys: 73.8 ms, total: 25.9 s
Wall time: 2.3 s

Hope this answer your question.
Please, consider giving ranx a start if you like it!
Best,
Elias

Hi @AmenRa,
That was the case. Thank you for your quick answer.

Could you please post a sample of your specific Qrels without any modification?

Ok, I'm reading up on Numba a bit, and I think I found the root cause.

I found an option to disable JIT compilation:

https://numba.readthedocs.io/en/stable/user/troubleshoot.html#disabling-jit-compilation
I tried it, and my test program gets significantly faster:
[INFO] 2023-11-14 20:50:48.255 generated new fontManager
[INFO] 2023-11-14 20:50:48.785 Crearting a small Qrels object.
[INFO] 2023-11-14 20:50:48.785 Qrels object created in 0.00 seconds.

So, this is good for a quick fix. Although, this way I guess we lose the benefits of Numba for larger eval sets? So, a less pressing question is: is there a way to compile once and reuse for subsequent runs?

I found the cache=true option in the Numba docs, precisely to allow for reusing the numba-compiled code:

https://numba.readthedocs.io/en/stable/user/faq.html#there-is-a-delay-when-jit-compiling-a-complicated-function-how-can-i-improve-it
Checking ranx, it seems it uses the cache=True option (most of the time):
https://github.com/search?q=repo%3AAmenRa%2Franx+jit&type=code

I realized I left out a seemingly minor detail from my previous post: I run the program in a Docker container. So, it might be that every time the program terminates and the container is stopped and removed, I just lose the Numba cache with it? After a bit of digging, I found a way to specify the cache directory:

https://numba.readthedocs.io/en/stable/reference/envvars.html#numba-envvars-caching
So, I tried setting the NUMBA_CACHE_DIR to point to a directory which is mapped from the host. Unfortunately it does not work. I don't see any files created by Numba, and hence I don't see any speed-up on repeated runs.
So, the question is narrowed down to: how can I get ranx/Numba to use the cache?

Hi, thanks for the information and debugging effort.
I bet it will be of help to other people.
If you like ranx, please give it a star.
Thank you!


Remove Greenlight and move into a separate Role

Greenlight is used for BigBlueButton but does not belong to BigBlueButton by default.
This should be in its own Role.

Hi @BrutalBirdie if you search for a greenlight role, you can use this one https://github.com/crosscodr/ansible-role-greenlight.
Some of the recent changes in ebbba.biglbuebutton were also transferred to this role.


When use Spring Boot AutoConfiguration occur NoMappingException (2.0.1)

Use Dynamic Class Load by ClassName, It is initialized and new instance returns.
Should fix to load already exist Models.DEFAULT

Fix in 2.0.2
Use Class.forName to load existing object.


Fix blocking IO in send_message

Fix for https://github.com/home-assistant/core/issues/120690 when reading icon

Thanks!


UAT || Filling || While filling case , Showing 1 mandatory field is missing for 'Complainant Details'. (pin code for the address automatically removed).

Describe the bug
While filling case , Showing 1 mandatory field is missing for 'Complainant Details'. (pin code for the address automatically removed).
To Reproduce
Steps to reproduce the behaviour:

Login as advocate
Click on 'File a Case' button
File all details of complainant , click on 'continue'
File all Respondent Details , click on 'continue'
File all Case Specific Details , click on 'continue'
File all Additional Details , click on 'continue'

Expected behaviour
Pin code for the address should not be automatically removed
Actual behaviour
Pin code for the address is automatically removed
Desktop (please complete the following information):

OS: windows
Browser : chrome

Tested in QA env, Working as Expected. User able to file a case without encountering any issues.
Ref,
https://jam.dev/c/ecc7412e-43c7-447d-b9cc-56662cdb31be


Fast exit on refresh release

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.03%) to 29.086%

Totals

Change from base Build<PHONE_NUMBER>:
-0.03%

Covered Lines:
888

Relevant Lines:
3053

💛  - Coveralls


Fix green screen on wsl /linux and ad option to display model axes

This pull request adresses 2 separate issues,

Fix for https://github.com/stef-levesque/vscode-3dviewer/issues/32

Added user setting to display the model axis

I tested on windows 11 and wsl, basic viewer works correctly in my tests.

Will this be merged?
having this problem as well.
@stef-levesque


reverting #18844

What does this PR do?
Reverting PR #18844 as it had an edge case (enabling goTLS + falling back to prebuilt version) that could prevented USM from being loaded.

Motivation

Additional Notes

Possible Drawbacks / Trade-offs

Describe how to test/QA your changes

Enabled USM with CO-RE/RUNTIME-COMPILATION and allow fallback to prebuilt, also enable gotls

system_probe_config:
  enable_co_re: true
  enable_runtime_compiler: true
  allow_precompiled_fallback: true

service_monitoring_config:
  enabled: true
  enable_go_tls_support: true

apply the following diff

diff --git a/pkg/network/ebpf/c/runtime/usm.c b/pkg/network/ebpf/c/runtime/usm.c
index 198375f11e..b1580927c0 100644
--- a/pkg/network/ebpf/c/runtime/usm.c
+++ b/pkg/network/ebpf/c/runtime/usm.c
@@ -569,10 +569,10 @@ int uprobe__crypto_tls_Conn_Write__return(struct pt_regs *ctx) {
     u64 pid_tgid = bpf_get_current_pid_tgid();
     u64 pid = pid_tgid >> 32;
     tls_offsets_data_t* od = get_offsets_data();
-    if (od == NULL) {
-        log_debug("[go-tls-write-return] no offsets data in map for pid %d\n", pid);
-        return 0;
-    }
+//    if (od == NULL) {
+//        log_debug("[go-tls-write-return] no offsets data in map for pid %d\n", pid);
+//        return 0;
+//    }

Build and run USM
Expect to see co-re and runtime compilation fails, and the log  go-tls subprogram does not support prebuilt build mode
Check USM is up and running
curl example.com
sudo curl --unix /opt/datadog-agent/run/sysprobe.sock http://unix/network_tracer/debug/http_monitoring

Reviewer's Checklist

[ ] If known, an appropriate milestone has been selected; otherwise the Triage milestone is set.
[ ] Use the major_change label if your change either has a major impact on the code base, is impacting multiple teams or is changing important well-established internals of the Agent. This label will be use during QA to make sure each team pay extra attention to the changed behavior. For any customer facing change use a releasenote.
[ ] A release note has been added or the changelog/no-changelog label has been applied.
[ ] Changed code has automated tests for its functionality.
[ ] Adequate QA/testing plan information is provided if the qa/skip-qa label is not applied.
[ ] At least one team/.. label has been applied, indicating the team(s) that should QA this change.
[ ] If applicable, docs team has been notified or an issue has been opened on the documentation repo.
[ ] If applicable, the need-change/operator and need-change/helm labels have been applied.
[ ] If applicable, the k8s/<min-version> label, indicating the lowest Kubernetes version compatible with this feature.
[ ] If applicable, the config template has been updated.

CI is failing on apt get failure messaged eBPF-platform


Apply media bottom padding to CupertinoTabBar

This adjusts the CupertinoTabBar height in the presence of bottom
padding. On the iPhone X, this will increase the height to account for
the home indicator widget.

Fixes #12099 for CupertinoTabBar, or will do once the corresponding material change lands and two lines of code are uncommented in the engine :)

LG


Enrich the Memory2D component of droidlet dashboard

Type of Issue
Select the type of issue:

[ ] Bug report (to report a bug)
[x] Feature request (to request an additional feature)
[ ] Tracker (I am just using this as a tracker)
[ ] Refactor request
[ ] Documentation Ask

Description
This feature would enhance the current existing Memory2D component in he droidlet dashboard that currently shows a snapshot of the agent's memory on a  2-d grid. The Memory2D react component is here . Here's how we set the state of this component through the StateManager.
Currently the dashboard communicates with the backend robot process through socket io events. The workflow is : backend sends a  sensor payload objects every once in a while (from here) and the StateManager in the frontend captures that event here and maps it to its own functions here and here. Note that this method will then be called whenever backend sends over the payload through an event called sensor_payload.
This is how the current setup looks:

As a part of enhancing the Memory2D component further, to start with, we ask for a feature in the Memory2D React component so we can have the coordinate axes show up in the memory2D map along with the objects as moving dots.
Once we get there, we can then add an ability to zoom in and zoom out and have the coordinates (and the corresponding richness of object information) change.
To make these changes, you'll first have to setup droidlet as explained in the README here and here. Then:

Once you have successfully set things up, you can visualize the dashboard at localhost:8000
To make changes to the Memory2D React component, you will have to run it in dev mode as explained here. So run it using yarn start and then go to your localhost:3000. Your local changes made there should reflect on the dashboard on port 3000. Once you are ready to check in your changes and have them reflect on 8000, follow the instructions here .

I am assigning myself for the agent memory/agent backend side of this

I am assigning myself for the agent memory/agent backend side of this

Isn't this a frontend issue?


Add AllDenomMetadata BankQuery

Based on #1647
I simplified the PageRequest and improved the mock
See also https://github.com/CosmWasm/wasmd/pull/1426 and https://github.com/CosmWasm/wasmvm/pull/430

@Mergifyio backport release/1.3


DO NOT MERGE - chore: adding autogenerated docs for noirjs

Description
This PR works with this one on the docs repo to autogenerate documentation for the NoirJS and Barretenberg classes.
It makes some changes to NoirJS core code. Mostly changing the exports from noir_js index file. These are needed to avoid outputting irrelevant docs.
It also adds some "quality of life" things, not related to docs so I can make them a separate PR:

It adds the destroy method to proxy to backend_barretenberg.
Noir only instantiates the Backend once: at init. This makes the user UX faster as it's not called every time we prove or verify something.
Noir doesn't take in the circuit in the constructor. Instead, since we're passing it to the Backend, we can just call this.backend.circuit.
Adds an "options" object that is passed to the initialisation of barretenberg:

// previously
new Backend(circuit, 4) // what's the 4?

// now
new Backend(circuit { numOfThreads : 4}) // oh it's the number of threads!

Problem*
Manually documenting the reference for NoirJS packages involves a lot of effort. Let's have machines doing it instead.
Summary*

Made it not export acvm, abi, generateWitness, and others from the index file of noir_js
Added the "references" to tsconfig.json and "composite" for types. These are required to correctly link in the docs.
Created typedoc.json files for the two packages being documented
Added a bunch of @internal tags in the Backend implementation. We don't want to document them since we want to only interface with Noir. A concrete example would be:

const backend = new Backend(circuit, options)
const noir = new Noir(backend)

backend.generateFinalProof // ❌ we want to discourage this
noir.generateFinalProof // ✅

Separated the Backend type into two interfaces: Backend and BackendInternal so it's clearer what's supposed to be called by the Noir class and what's not yet implemented there.

Please use draft when you do not want to merge.

It also adds some "quality of life" things, not related to docs so I can make them a separate PR:

Please split these out so they can be discussed separately. We shouldn't be making omnibus PRs as it makes it harder to review, if any of the changes are contentious then it holds up the whole lot.


Upgrade to docz2

:tada: This PR is included in version 3.0.1 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


apply design search screen

Idea Description
apply design
Reference images and links
coming soon

I will divide the issue


Feature/events

Implemented Event Handling and Math Logic in Calculator Component
In this pull request, I implemented the following

[x] created a new directory called logic and copied the files calculate.js and operate.js into it.
[x] installed the big.js library using NPM.
[x] analyzed and improved on the calculate.js and operate.js files.
[x] imported the calculate.js file in the Calculator.js component.
[x] implemented click event handlers in the Calculator component using the math logic from calculate.js and operate.js.
[x] tested the application in the browser to ensure the Calculator performs math operations correctly.

Hi @Braingenius2  The link to your issue is broken can you fix it ?


喜站根據香港前線戰友的反饋，推出措辭更精準的修正版

喜站根據香港前線戰友的反饋，推出措辭更精準的修正版

Hong Kong People Should Stick To The Four MUST-DO List

MUST withdraw the Public Order Ordinance that has been used to charge against the peaceful protesters of Hong Kong;

MUST withdraw the Fugitive Bill, instead of suspending or postponing it;

MUST have the following person stepped down with immediate effect:
• Carrie Lam as the Chief Executive;
• Teresa Cheng as the Secretary of Justice;
• John Lee as the Head of the Security Bureau;
• and Stephan Lo as the Commissioner of Police.

MUST call for Universal Suffrage under One Man One Vote to elect the New Chief Executive of Hong Kong, instead of being manipulated behind the scene by the small circle backed by Beijing.


Help Command Error

sent me an error but also dmed me the error that it couldn't send me s dm with an API error which says That it doesn't have permissions

resolved in v2.3.2


[WIP] DTLS: Switch to native DTLS

WIP switch to native DTLS using pions/dtls.
Current behavior:

Examples

data-channels: works on Linux
data-channels-create: works on Linux. Hits bug in SCTP (which may be exposed by DTLS)
gstreamer-receive: works on Linux. However we have to force PLI (we are losing some packets)
gstreamer-send: works on Linux.
gstreamer-send-offer: works on Linux.
janus-gateway: Not tested
pion-to-pion: works on Linux.
save-to-disk: works on Linux.
sfu: Not working

TODO:

[ ] Fix broken tests
[ ] Add alerts/error handling
[ ] Fix initial packet loss with SRTP (and possibly SCTP)
...

Resolves #204

Pull Request Test Coverage Report for Build 1139

27 of 80 (33.75%)  changed or added relevant lines in 2 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage decreased (-0.9%) to 63.24%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

rtccertificate.go
0
14
0.0%

rtcpeerconnection.go
27
66
40.91%

Files with Coverage Reduction
New Missed Lines
%

rtcpeerconnection.go
1
41.49%

Totals

Change from base Build 1135:
-0.9%

Covered Lines:
1101

Relevant Lines:
1741

💛  - Coveralls


How to fix: At least 1 ClickEvent is missing a parentId value. Implement parentId to identify features within the application.

What do we need to do to fix this issue:
At least 1 ClickEvent is missing a parentId value. Implement parentId to identify features within the application.
https://learn.microsoft.com/en-us/azure/azure-monitor/app/javascript-click-analytics-plugin

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 63604709-9e90-d1fc-6f89-65ba3411892e
Version Independent ID: c2e41db1-84d5-e411-c8c9-f903158764c6
Content: Click Analytics Auto-collection plugin for Application Insights JavaScript SDK - Azure Monitor
Content Source: articles/azure-monitor/app/javascript-click-analytics-plugin.md
Service: azure-monitor
Sub-service: application-insights
GitHub Login: @AaronMaxwell
Microsoft Alias: aaronmax

@rogerprz
Thanks for your feedback! We will investigate and update as appropriate.

#SwathiDhanwada-MSFT - Please #assign to v-jbasden if Roger is no longer experiencing technical difficulty. Jaret may be reaching out to you or your team for further technical assistance while he processes feedback from Roger. Some of the feedback may need to go to the PM team as it appears to involve resources outside of Learn.

@AaronMaxwell I reached out to Roger to confirm the same. I will follow up offline. As suggested, I will reassign the issue to Jaret.


ONNX model ::  Failed to load Model due to adapter error: Error calling stat on model file

Trying to deploy a PyTorch model in ONNX format on Azure AKS cluster namespace. Steps I followed:

Edited the existing storage-config file:  kubectl edit secret storage-config -n modelmesh-serving-dev, removed all S3 related information and replaces with azure blob storage info's:

 kubectl.kubernetes.io/last-applied-configuration: |
      {"apiVersion":"v1","kind":"Secret","metadata":{"annotations":{},"name":"storage-config","namespace":"modelmesh-serving-dev"},"stringData":{"localMinIO":"{\n  \"type\": \"azure\",\n  \"account_name\": \"____\",\n  \"container\": \"models\",\n  \"connection_string\": \"https://____.blob.core.windows.net/models? ____-"\n}\n"}}

Applied the following inferenceservice manifest:

apiVersion: serving.kserve.io/v1beta1
kind: InferenceService
metadata:
  name: example-onnx-isvc
  annotations:
    serving.kserve.io/deploymentMode: ModelMesh
spec:
  predictor:
    model:
      modelFormat:
        name: onnx
      storage:
        key: localMinIO
        path: onxx-models/text-classify.onnx

Triton runtimes seems up and running. But no isvc url with the status False. kubectl describe isvc giving the following error:

 Last Failure Info:
      Location:             99f56d-2vkbn
      Message:              Failed to load Model due to adapter error: Error calling stat on model file: stat /models/example-onnx-isvc__isvc-4d89164c21/text-classify.onnx: no such file or directory
      Model Revision Name:  example-onnx-isvc__isvc-4d89164c21
      Reason:               ModelLoadFailed

I also tried with storageUri parameter option and got same error:
spec:
  predictor:
    model:
      modelFormat:
        name: onnx
      storageUri: https://d_____rsv3.blob.core.windows.net/models/onxx-models/text-classify.onnx

What am I missing?
Why does the path is weird? The model path is models/onxx-models/text-classify.onnx
Why the revision name is in the path tree?
What is the solution? Am I heading to the right direction to successfully deploy a PyTorch model in ONNX format?
@njhill please help.

Hello @njhill any help?

@MLHafizur can this be closed?


Bug report in RNN

Around line 68 in recurrent.py
If we are using float32, line 68 will be a float32 times int32, which will produce a float64. (is it because of theano version?)
changing line 68 to X *= K.expand_dims(mask).astype(X.dtype) will fix this problem.
    if mask:
        # apply mask
        X *= K.expand_dims(mask)   # line 68
        masking = True

As far as I can tell RNNs work fine in float32 with Theano, so it must be a problem with your Theano version.

@fchollet the problem only occurs when reture_sequences=True.

@fchollet I am using the version  '0.7.0.dev-e521b20e578c033d51e548181bd1edd24af64427'

@fchollet It doesn't matter which version I use, I got the same error.
(shared_var=<TensorType(float32, matrix)>, shared_var.type=TensorType(float32, matrix), update_val=Elemwise{add,no_inplace}.0, update_val.type=TensorType(float64, matrix))
I believe this is a bug of theano, which is not fixed yet. You can easily test this with ipython.
a float32 times int32, which will produce a float64.
So I think we have to fix this in the keras side.

A simple cast to _FLOATX in the backend function should fix it. Would you like to submit a PR?

Another question is, why wasn't this caught by unit tests. What are the reproduction conditions?

I also stumbled upon this problem after upgrading to Keras 0.3.0+ (master), Theano 0.7.0 and NumPy 1.10.1. Bellow exception is raised when during compilation of:

Graph model
Embedding(.., mask_zero=True) -- masking is used
LSTM(.., return_sequences=True) -- return_requences is used
TimeDistributedDense(..)

Traceback (most recent call last):
...
    model.compile(optimizer='adam', loss={'foo': 'mse'})
  File "/xx/venv/src/keras/keras/models.py", line 635, in compile
    self._train = K.function(train_ins, [train_loss], updates=updates)
  File "/xx/venv/src/keras/keras/backend/theano_backend.py", line 361, in function
    return Function(inputs, outputs, updates=updates)
  File "/xx/venv/src/keras/keras/backend/theano_backend.py", line 354, in __init__
    allow_input_downcast=True, **kwargs)
  File "/xx/venv/local/lib/python2.7/site-packages/theano/compile/function.py", line 317, in function
    output_keys=output_keys)
  File "/xx/venv/local/lib/python2.7/site-packages/theano/compile/pfunc.py", line 489, in pfunc
    no_default_updates=no_default_updates)
  File "/xx/venv/local/lib/python2.7/site-packages/theano/compile/pfunc.py", line 204, in rebuild_collect_shared
    raise TypeError(err_msg, err_sug)
TypeError: ('An update must have the same type as the original shared variable (shared_var=<TensorType(float32, matrix)>, shared_var.type=TensorType(float32, matrix), update_val=Elemwise{add,no_inplace}.0, update_val.type=TensorType(float64, matrix)).', 'If the difference is related to the broadcast pattern, you can call the tensor.unbroadcast(var, axis_to_unbroadcast[, ...]) function to remove broadcastable dimensions.')

After removing the LSTM() layer or applying the solution by @jeffzhengye (X *= K.expand_dims(mask).astype(X.dtype)) compilation works.
Although it is Theano-specific, solving it in the backend is not obvious. Either Theano multiplication should be overridden to cast correctly, or K.expand_dims() should silently cast to _FLOATX (and lets hope it is never used in any non-floatx situation).
As for the unit-test, I was not able to reproduce it. Probably because I do not know how to manually pass an input_mask?
        layer.get_output_mask = lambda self, train=False: K.variable(np.ones((nb_samples, timesteps)))

@fchollet  can you give me the right to make a PR?

@jeffzhengye Sure, just go ahead and submit it.


Order by image option

Describe the bug
Ability to order by image, what even means order by image.
How to compare if a image is greater or less than another image
To Reproduce
Steps to reproduce the behavior:

Import any image data
Go to task viewer

Expected behavior
Don't show the image as a sorting option or describe how ordering by image works
Screenshots

Environment (please complete the following information):

OS: Ubuntu
Label Studio Version 1.4

This ordering is done by the data column from your imported tasks. The data manager displays images here instead of strings for your convenience, so I'm not sure if we would like to change this...
How would you suggest to fix it?


[TW#17992] Bluetooth classic SPP profile: Provide pin code for a connection (IDFGH-2347)

Hi,
I'm trying to connect to a bluetooth classic device using SPP profile but this device needs 6 digits pin code to accept connection so how can I provide this pin code from my ESP32 application, Plus how can I set a pin code for my device in order to make other devices provide it whenever want to connect to mine. I've browsed the esp code but in vain. I don't know if it is supported yet or not and if not when will it be released?
Thanks

@blueMoodBHD Please help to see this problem

@my-abousamra I'm sorry to tell you that we don't support pin code new, and we will have a discussion of whether to support  that and the specific time.
Thanks for your understanding.

@blueMoodBHD
Maybe i misunderstanding something here, but bluetooth LE is supporting pin authentication and classic bluetooth does not? How so.

I mean that BT does not provide APIs related to this feature now, we set IO capacity as noinputnooutput , so encryption will not use the pin code. And we will provide the APIs leater.

@blueMoodBHD
I don't find a reason why not to support pin code for BT classic. Anyway, you may have your reasons. I want to connect to BT classic devices that need a pin code and now I can't connect to them. If you wan't support this feature then ESP32 BT classic is useless for me and I should try another one cause your module doesn't support that small feature!

@my-abousamra Sorry for the late reply, I just finished the holiday. Now, we set IO capacity as noinputnooutput, so you can connect to other devices without pin code. And, we will support pin code as soon as possible.

@blueMoodBHD any updates, please?

@my-abousamra We will try to finish this in v3.1, thanks.

@blueMoodBHD  when will it be released?

I have a requirement too for this functionality. Any idea on when it will be implemented?

I have almost completed this feature, but since v3.1's feature release has been completed, it cannot be merged into ESP-IDF. After v3.1 is officially released, this feature will be integrated into master.

Hi all,
This feature has merged into Master, now. Refer to commit: 8571170abe3b2b7e5344e9603dadf2e6f74916e9

Hi all,
This feature has merged into Master, now. Refer to commit: 8571170

Just works
Thank you

how can I import the code of the password into my code? I don't have a lot of experience with this. Thx for attention.

@Cividati  check bluetooth examples in esp-idf

Hi @blueMoodBHD, i know that feature has been tested and confirmed its working when esp32 is connecting to peer device with fixed pin. My question is, is it possible to setup esp32 with to be accessed secure simple pairing as well? If yes, it would be nice to have example or some direction where it should be implemented in code. Thanks.

Hi @chegewara , Yes, we support Secure Simple Pairing, and we have examples example/bluetooth/bt_spp_acceptor. In app_main, we set IO capacity first:
     /* Set default parameters for Secure Simple Pairing */
    esp_bt_sp_param_t param_type = ESP_BT_SP_IOCAP_MODE;
    esp_bt_io_cap_t iocap = ESP_BT_IO_CAP_IO;
    esp_bt_gap_set_security_param(param_type, &iocap, sizeof(uint8_t));

Then, if the remote device support Secure Simple Pairing, too. We will use it when pairing. `esp_bt_gap_cb` will callback with `ESP_BT_GAP_CFM_REQ_EVT`,`ESP_BT_GAP_KEY_NOTIF_EVT` or `ESP_BT_GAP_KEY_REQ_EVT`.

Hi @blueMoodBHD what i mean is Simple Secure Pairing with fixed pin. I changed this code:
https://github.com/espressif/esp-idf/blob/master/examples/bluetooth/bt_spp_vfs_acceptor/main/example_spp_vfs_acceptor_demo.c#L208-L218
to match fixed pin:
    /* Set default parameters for Secure Simple Pairing */
    esp_bt_sp_param_t param_type = ESP_BT_SP_IOCAP_MODE;
    esp_bt_io_cap_t iocap = ESP_BT_IO_CAP_OUT;
    esp_bt_gap_set_security_param(param_type, &iocap, sizeof(uint8_t));

    /*
     * Set default parameters for Legacy Pairing
     * Use fixed pin code
     */
    esp_bt_pin_type_t pin_type = ESP_BT_PIN_TYPE_FIXED;
    esp_bt_pin_code_t pin_code;
    pin_code[0] = '1';
    pin_code[1] = '2';
    pin_code[2] = '3';
    pin_code[3] = '4';
    esp_bt_gap_set_pin(pin_type, 4, pin_code);

And i have 2 results:

with  esp_bt_io_cap_t iocap = ESP_BT_IO_CAP_IO; there is connection with pin comparison,
with esp_bt_io_cap_t iocap = ESP_BT_IO_CAP_OUT; there is no secured connection (no pin request or pin comparison).

Hi @chegewara ,  Fixed pin is used for  Legacy Pairing, and there is no fixed pin in Simple Secure Pairing

Hello  @chegewara , I retesting  remake the example bt_spp_initiator, a2dp_sink, bt_spp_vfs_initiator, a2dp_sink and bt_spp_acceptor.
There is nothing work in examples, Is there something to change in the conf ?
And BE work with pin code ?

At the time ive been testing it worked in BLE. To use fixed pin with classic bluetooth you have to change settings in menuconfig.

Ok, I had changed by menuconfig

Component config → Bluetooth → Bluetooth controller → Bluetooth controller mode (BR/EDR/BLE/DUALMODE)→BLE only
Component config → Bluetooth → Bluetooth Host→NimBLE - BLE only

CC build/main/main.o In file included from /home/archie/workspace/esp-idf/examples/bluetooth/bluedroid/classic_bt/a2dp_sink/main/main.c:28:0: /home/archie/workspace/esp-idf/examples/bluetooth/bluedroid/classic_bt/a2dp_sink/main/bt_app_av.h:13:26: fatal error: esp_a2dp_api.h: No such file or directory compilation terminated. /home/archie/workspace/esp-idf/make/component_wrapper.mk:291: recipe for target 'main.o' failed make[1]: *** [main.o] Error 1 /home/archie/workspace/esp-idf//make/project.mk:610: recipe for target 'component-main-build' failed make: *** [component-main-build] Error 2
Other problem "Secure Simple Pairing" is only on "Classic Bluetooth" in the menu.
[ ] Bluedroid memory debug (NEW)
[] Classic Bluetooth
[ ]     A2DP (NEW)
[ ]     SPP (NEW)
[ ]     Hands Free/Handset Profile (NEW)
[] Secure Simple Pairing (NEW)
[] Bluetooth Low Energy (NEW)
[]     Include GATT server module(GATTS) (NEW)
GATTS Service Change Mode (GATTS automatically send service change indication)  --->
[]     Include GATT client module(GATTC) (NEW)
[ ]         Save gattc cache data to nvs flash (NEW)
[]     Include BLE security module(SMP) (NEW)
[ ]         Slave enable connection parameters update during pairing (NEW)
[ ] Disable BT debug logs (minimize bin size) (NEW)
Can you explain , the problem ?

Like i said, for BLE bluedroid stack it works without any changes, not NimBLE.
For classic bluetooth to use fixed pin you have to disable SSP as per this comment:
https://github.com/espressif/esp-idf/issues/1541#issuecomment-443575348

Great, the compilation work:
(Top) → Component config → Bluetooth → Bluedroid Options → Secure Simple Pairing = false
Note: I tested the code on phone, windows and linux. Only linux did not work :/


Functions to add/resize OpenRAVE primitives: boxes, cylinders, spheres

Convenience methods for adding objects to manipulate (once I add TSRs for arbitrarily sized primitives for HERB and ADA) or as obstacles.

@ClintLiddick Are you going to finish this? If not, can we close this PR?

I won't have time to finish this anytime soon, so I'll close the PR, but let's keep the branch for now until I can revisit/abandon.


Final “2.x” interface.

This mainly deletes things we deprecated in “1.x” which enables a smooth transition from “1.x” >> “2.x”.
TODO:

[ ] Discuss the removal of warnings when binding map in the wrong place. We already didn’t warn for like <input foo="${[1,2,3]}"> so it feels ok to not warn about <input foo="${map(/* … */)}">. There were more foot-guns before… it’s much more straightforward now though.

@klebba — You asked about a PR to show what the interface will look like. Here one is! This is just throwaway work since it’s pointing to a different PR, but I’ll keep recreating every time I make changes so that you can stay updated here.

The git diff shown in the test-template-engine.js file is not great… it’s really a straight deletion… bummer that it shows up like that 🤷

x-template contents are always valid HTML and this is important so that HTML linters can be used to evaluate them

^ can we incorporate this somewhere?


Unable to Update NULL columns after Schema Evolution with Column Addition/Rename in Hive Transactional tables

Once the table schema is evolved by adding new columns or by renaming columns. The resulting added/modified column values for existing rows is NULL. Subsequent update query is unable to update the NULL values .
PTs to reproduce:

withTemporaryTable("schema_evolution_column_addition", true, false, NONE, tableName -> {
            onPresto().executeQuery(format("CREATE TABLE %s (column1 INT, column2 BIGINT) WITH (transactional = true)", tableName));

            onPresto().executeQuery(format("INSERT INTO %s VALUES (11, 100), (12, 200), (13, 300)", tableName));

            verifySelectForPrestoAndHive("SELECT * FROM " + tableName, "true", row(11, 100L), row(12, 200L), row(13, 300L));

            onPresto().executeQuery(format("ALTER TABLE %s ADD COLUMN column3 VARCHAR", tableName));

            onPresto().executeQuery(format("INSERT INTO %s VALUES (14, 400, 'fourHundred'), (15, 500, 'fiveHundred'), (16, 600, 'sixHundred')", tableName));

            verifySelectForPrestoAndHive("SELECT * FROM " + tableName, "true", row(11, 100L, null), row(12, 200L, null), row(13, 300L, null), row(14, 400L, "fourHundred"), row(15, 500L, "fiveHundred"), row(16, 600L, "sixHundred"));

            onPresto().executeQuery(format("UPDATE %s SET column3 = 'default' WHERE column3 is not NULL", tableName));

            verifySelectForPrestoAndHive("SELECT * FROM " + tableName, "true", row(11, 100L, null), row(12, 200L, null), row(13, 300L, null), row(14, 400L, "default"), row(15, 500L, "default"), row(16, 600L, "default"));

            onPresto().executeQuery(format("UPDATE %s SET column3 = 'default1' WHERE column3 is NULL", tableName));

            verifySelectForPrestoAndHive("SELECT * FROM " + tableName, "true", row(11, 100L, "default1"), row(12, 200L, "default1"), row(13, 300L, "default1"), row(14, 400L, "default"), row(15, 500L, "default"), row(16, 600L, "default"));
        });

withTemporaryTable("schema_evolution_column_rename", true, false, NONE, tableName -> {
            onPresto().executeQuery(format("CREATE TABLE %s (column1 INT, column2 BIGINT) WITH (transactional = true)", tableName));

            onPresto().executeQuery(format("INSERT INTO %s VALUES (11, 100), (12, 200), (13, 300)", tableName));

            verifySelectForPrestoAndHive("SELECT * FROM " + tableName, "true", row(11, 100L), row(12, 200L), row(13, 300L));

            onPresto().executeQuery(format("ALTER TABLE %s RENAME COLUMN column1 to column3", tableName));

            onPresto().executeQuery(format("INSERT INTO %s VALUES (14, 400), (15, 500), (16, 600)", tableName));

            verifySelectForPrestoAndHive("SELECT column3 FROM " + tableName, "true", row(null), row(null), row(null), row(14), row(15), row(16));

            onPresto().executeQuery(format("UPDATE %s SET column3 = 1 WHERE column3 is NULL", tableName));

            verifySelectForPrestoAndHive("SELECT * FROM " + tableName, "true", row(1, 100L), row(1, 200L), row(1, 300L), row(14, 400L), row(15, 500L), row(16, 600L));
        });

The last verifySelect fails.

@abhishekkhanna1 the UPDATE support does not exist in Presto yet
It seems you running into problems with the code that is your custom patch applied on top of project's code, therefore I will close this issue.
If you re testing out this PR: https://github.com/prestosql/presto/pull/5861, please post your findings there, this will be highly appreciated!
Thanks!
cc @djsstarburst
relates to https://github.com/prestosql/presto/issues/6281

Thanks very much for finding this bug, @abhishekkhanna1.  I'm looking at it now.

@abhishekkhanna1, for the second example you listed, with ALTER TABLE RENAME COLUMN, I get an NPE due to calling row(null).  There are two overloadings of row.  row(null) is getting the overloading in which the arg is supposed to be a collection, causing the NPE.
When I fix that by substituting new QueryAssert.Row((Object) null), the subsequent SELECT column3 FROM table... returns different results for Presto and for Hive.  On Presto, I see the three nulls followed by row(14), row(15), row(16).  When the SELECT is run on Hive, I see row(11), row(12), row(13), row(14), row(15), row(16), which is I think the right answer.
So the ALTER TABLE RENAME COLUMN bug is (unsurprisingly) in Presto, and it's not related to UPDATE.

@abhishekkhanna1, for the second example you listed, with ALTER TABLE RENAME COLUMN, I get an NPE due to calling row(null). There are two overloadings of row. row(null) is getting the overloading in which the arg is supposed to be a collection, causing the NPE.
When I fix that by substituting new QueryAssert.Row((Object) null), the subsequent SELECT column3 FROM table... returns different results for Presto and for Hive. On Presto, I see the three nulls followed by row(14), row(15), row(16). When the SELECT is run on Hive, I see row(11), row(12), row(13), row(14), row(15), row(16), which is I think the right answer.
So the ALTER TABLE RENAME COLUMN bug is (unsurprisingly) in Presto. The subsequent Presto UPDATE fails with Index 4 out of bounds for length 4 while trying to assemble the HivePageSource page, more evidence that Presto is confused about the schema.

I had not run this one using the PT but instead ran it on the server running locally on my mac. I had also run on an EMR Hive cluster for the hive part. If I remember correctly, I was getting 3 nulls followed by 14,15,16 in both cases but yeah the subsequent update passed in hive but failed in presto. I can double check again

If I remember correctly, I was getting 3 nulls followed by 14,15,16 in both cases but yeah the subsequent update passed in hive but failed in presto. I can double check again
The fact that by default it verifies against both Hive and Presto sometimes makes things confusing :(
BTW, I just verified that if the table isn't transactional, Presto correctly follows the schema change, and returns row(11), row(12), row(13), row(14), row(15), row(16) from SELECT column3 FROM table..., matching Hive.  so transactional tables don't correctly follow schema changes, but non-transactional table do.

I've boiled down the test case to this, which fails saying that the final SELECT returns row(null) instead of row(11) as it should:
    public void testAcidSelectAfterRenamingColumn()
    {
        withTemporaryTable("schema_evolution_column_rename", true, false, NONE, tableName -> {
            onPresto().executeQuery(format("CREATE TABLE %s (column1 INT, column2 BIGINT) WITH (transactional = true)", tableName));
            onPresto().executeQuery(format("INSERT INTO %s VALUES (11, 100)", tableName));
            verifySelectForPrestoAndHive("SELECT * FROM " + tableName, "true", row(11, 100L));
            onPresto().executeQuery(format("ALTER TABLE %s RENAME COLUMN column1 to column3", tableName));
            verifySelect(onPresto(), "SELECT column3 FROM " + tableName, "true", row(11));
        });
    }

Adding a major compaction causes the test to pass, as you would expect:
    public void testAcidSelectAfterRenamingColumn()
    {
        withTemporaryTable("schema_evolution_column_rename", true, false, NONE, tableName -> {
            onPresto().executeQuery(format("CREATE TABLE %s (column1 INT, column2 BIGINT) WITH (transactional = true)", tableName));
            onPresto().executeQuery(format("INSERT INTO %s VALUES (11, 100)", tableName));
            verifySelectForPrestoAndHive("SELECT * FROM " + tableName, "true", row(11, 100L));
            onPresto().executeQuery(format("ALTER TABLE %s RENAME COLUMN column1 to column3", tableName));
            compactTableAndWait(MAJOR, tableName, "", Duration.valueOf("6m"));
            verifySelect(onPresto(), "SELECT column3 FROM " + tableName, "true", row(11));
        });
    }


Media playback in fragments

watch videos on karbon, or what?

watch videos on karbon, or what?

Yes


feat(core): support injecting meta into router

I think it's ready for the feature, improvements can make with "frontmatter" when having later discussions

Sorry for delay. (Really busy and kind of tired these days 😅 ) I'll pick up this PR soon.

I've replaced extendsPageData with extendsPage in 827a873.
Then this PR could be implemented in a different way.

Implemented in de49f14


Two small UI fixes

Add white-space: nowrap to items in the file browser to avoid the ugly behavior below for long artifact names:

Hide a run's duration when its end time is not set, instead of showing "NaN" or "unknown" as before (the previous behavior showed NaN, although an earlier version showed unknown, but neither is super useful).

Codecov Report

Merging #211 into master will not change coverage.
The diff coverage is 0%.

@@           Coverage Diff           @@
##           master     #211   +/-   ##
=======================================
  Coverage   52.01%   52.01%
=======================================
  Files          96       96
  Lines        4854     4854
=======================================
  Hits         2525     2525
  Misses       2329     2329

Impacted Files
Coverage Δ

mlflow/server/js/src/components/RunView.js
0% <0%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


why the class of model's datetime field  is Time class?

 pry(#<Sinatra::Application>)> Show.last.show_time.class
D, [2016-06-14T18:34:16.605042 #4094] DEBUG -- :   Show Load (0.7ms)  SELECT  `shows`.* FROM `shows`  ORDER BY `shows`.`id` DESC LIMIT 1
=> Time

why the class of model's datetime field is Time class, not ActiveSupport::TimeWithZone < Object?

Perhaps this is ActiveRecord's default, and there is a configuration where ActiveSupport::TimeWithZone is automatically returned instead of Time. However, I don't know ActiveRecord that well to be able to answer that, you should check that with the Rails team, as sinatra-activerecord only helps you setup ActiveRecord, it doesn't affect the behaviour.