ImmediateMesh surface_add_vertex fails to inherit parent coordinate space or top_level property

Tested versions
v4.2.1.stable.official [b09f793f5]
System information
Godot v4.2.1.stable - macOS 12.4.0 - GLES3 (Compatibility) - Apple M1 - Apple M1 (8 Threads)
Issue description
I'm trying to build a "bullet tracing" effect. I have a Node3D that I use as the spawn_point and then another Node3D I use as the target_point. I then have separate scenes that I instantiate at runtime to create projectiles and create them at the spawn_point and move them to the target_point.  One scene is just a "Basic" MeshInstance3D that renders a sphere and moves the sphere from spawn_point to target_point. The "Basic" scene behaves as expected meshes are created at the spawn point and move towards the target point.
The other is a 'bullet trail' scene. This scene has a MeshInstance3D with a ImmediateMesh set for the mesh property.  This scene uses the same spawn_point and target_point to draw vertices for the ImmediateMesh The expectation is that the ImmediateMesh draws a line from the spawn_point to the target_point. A line is drawn but it is not from the same coordinate points as the Basic version. The line is like offset in some unexpected coordinatespace.
Both implementation use the top_level = true on the meshes that are created with the expectation that the spawn_point and target_point are in global space
Steps to reproduce
I have built an isolated reproduction project. reproduction repo at https://github.com/kevzettler/top_level_immediateMesh
have also attached a zip vile
Can open it and run it. You can see basic meshes on a loop created at the spawn point and moving towards target point. You will also see the immediateMesh line that is drawn offset to the left side of the spawn and target.

Its a bit hard to see in this gif but there is a line rendered to the left. Its possible I'm missing something looking for any alternative suggestions.
Minimal reproduction project (MRP)
top_level_immediateMesh.zip

I took a look at your MRP. This issue comes from how you are creating the mesh and then moving the mesh right after. As far as I can tell top_level isn't causing an issue here.
First, let's walk through what your code is doing.
func _on_timer_timeout():
	var new_trail = trail_scene.instantiate()
	new_trail.target_point = target_point.global_position
	add_child(new_trail)
	new_trail.global_transform.origin = spawn_point.global_transform.origin

First you are creating a new trail. The trail ignores its parent, so it will use its own transform only and will not inherit the transform of its parent. The trail is given a target point (in global space). Then the trail node is moved to the spawn point. Since the trail is set as top_level its local origin (position) is directly set to spawn_point.global_transform.origin.
Next, the ImmediateMesh updates as follows:
func _process(delta):
	mesh.clear_surfaces()
	mesh.surface_begin(Mesh.PRIMITIVE_LINES, material)
	mesh.surface_add_vertex(position)
	mesh.surface_add_vertex(target_point)
	mesh.surface_end()

This creates a mesh (in local space) from the spawn meshes position (i.e. spawn_point.global_transform.origin) to the target point.
Then finally, the mesh is drawn. Meshes are drawn by applying the MeshInstances transform to all vertices. In this case the vertices are further offset by the position of the TrailMesh node. So, in effect, you are doubling the position.
The first vertex will get drawn at target_point.global_position + spawn_point.global_transform.origin while the second vertex will get drawn at spawn_point.global_transform.origin + spawn_point.global_transform.origin
I think what you intended to do was draw the mesh in global space. Which would require you to not have a local transform on the TrailMesh.
The following code works for that purpose:
var new_trail = trail_scene.instantiate()
new_trail.target_point = target_point.global_position
new_trail.origin_point = spawn_point.global_transform.origin #note the addition of the origin point
add_child(new_trail)

@export var material: Material = null
@export var target_point: Vector3
@export var origin_point: Vector3

func _process(delta):
	mesh.clear_surfaces()
	mesh.surface_begin(Mesh.PRIMITIVE_LINES, material)
	mesh.surface_add_vertex(origin_point) #use origin point instead of position
	mesh.surface_add_vertex(target_point)
	mesh.surface_end()


can the callables of apply_ufunc + dask get a typed/labeled array

Code Sample
def print_type(arr):
    """Generalized ufunc to print the type."""
    print(f"type={type(arr)}")
    return arr

chunked = da.from_array(np.random.random(size=(2, 2, 2, 140, 200)), chunks=(1, 1, 1, 140, 200))

x = xr.DataArray(chunked)
xr.apply_ufunc(print_type, x, dask='parallelized', output_dtypes=[np.float32]).compute()

Problem description
It would be great if the arrays passed to the callables were subselections of the original xarray.  Advantages: labeled dimensions and coordinates

In the first version of apply_ufunc, I experimented with applying functions that take and return xarray objects.
The challenge is that with dask's lazy evaluation, we don't know the structure of the returned objects until after evaluating the wrapped functions. So we can't rebuild xarray objects unless we require redundantly specify all the coordinates and attributes from the return values.
The alternative would be to make a parallel but eagerly evaluated version of apply_ufunc, e.g., by calling compute on each chunk and then reassembling the result (e.g., ttps://github.com/pydata/xarray/pull/2616). The downside is that this will load your data into memory, but maybe that's acceptable for your purposes.

I understand that there might be some challenges with returning xarray objects, but it seems like taking xarray objects should be very straightforward.  Anything problematic about that?

The challenge is that with dask's lazy evaluation, we don't know the structure of the returned objects until after evaluating the wrapped functions. So we can't rebuild xarray objects unless we require redundantly specify all the coordinates and attributes from the return values.

Typically in Dask we run the user defined function on an empty version of the data and hope that it provides an appropriately shaped output.  If it fails during this process, we ask the user to provide sufficient information for us to populate metadata.   Maybe something similar would work here?  Xarray would construct a dummy Xarray chunk, apply the user defined function onto that chunk, and then extrapolate metadata out from there somehow.
I'm likely glossing over several important details, but hopefully the general gist of what I'm trying to convey above is somewhat sensible, even if not doable.

I understand that there might be some challenges with returning xarray objects, but it seems like taking xarray objects should be very straightforward. Anything problematic about that?

This would probably be fine as an opt-in option. I'm a little worried that this would be a confusing model for users -- we don't have any other functions that work like this.

Maybe something similar would work here? Xarray would construct a dummy Xarray chunk, apply the user defined function onto that chunk, and then extrapolate metadata out from there somehow.

Yes, this is another possibility, though with xarray there is quite a bit of metadata to extrapolate! We do something similar already in groupby.

@ttung xarray 0.14.0 has a new map_blocks function that does what you want. It currently has some limitations on what the user function can do.


fixed Windows version list to use bullets

fixed Windows version list to use bullets

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

azureadps-2.0/AzureAD/AzureActiveDirectory.md
:white_check_mark:Succeeded

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

@billmath ping...


docs: add info on layouts

Changes:

[x] add info on working with layouts
[x] add docs folder

I'm creating an example for this instead. I don't think we need a docs directory, we can just add context in different example code or a README.md in examples/myexample/ if we really need the extra write up


AssertionError in testing for distutils support/pycc on w64

[x] I am using the latest released version of Numba (most recent is visible in
the change log (https://github.com/numba/numba/blob/master/CHANGE_LOG).
[x] I have included below a minimal working reproducer (if you are unsure how
to write one see http://matthewrocklin.com/blog/work/2018/02/28/minimal-bug-reports).

Building 0.41.0dev with Python 3.7, NumPy 1.11 on windows 64bit has a single test failing:
numba.tests.test_pycc.TestDistutilsSupport.test_setup_py_setuptools

An AssertionError is coming from:
https://github.com/numba/numba/blob/b6fcc8cd22eb73132ef41ae908cfc62cfdca5421/numba/tests/test_pycc.py#L347
the error contains no message.
Other NumPy's seem to be ok.

@seibert is this one of the remaining issues on the new build infrastructure?

Closing as this hasn't appeared for about 3 years.


Personal bindings path

Where can i find the .json of my input binding when i click on “save personal bindings“ in the binding UI?

I believe these live in: C:\Users%username%\Documents\steamvr\input


Implement JSON config approach taken in platform-app

@carcruz feel free to close this if this will be tackled by the monorepo.

Not an issue anymore due to the monorepo refactor


fix: migration cli failing when theres no pipelines

Should I rebase to 3.1? Or create a 3.1.1?

Once all the tests pass, we can merge it into release/3.1 branch and port the changes on develop.

@joaoandre-avaiga @jrobinAV I've just pushed a commit adding more information to the ConfigCoreVersionMismatched exception as discussed in https://github.com/Avaiga/taipy/issues/940.
Let me know what you think about this.


this._removeUniqueSelectionListener is not a function

Description of the bug
When using MockBuilder and MockRenderFactory the error this._removeUniqueSelectionListener is not a function appears.
An example of the bug
I started writing a test using MockBuilder. Set the builder in the beforeEach, added one it with MockRender. Test worked. Then I wanted to add another test case, similar setup, slightly different inputs. So converted to MockRenderFactory as in here.
Failed Tests:
 BatchInfoComponent
    alert translations
       Should always use fallback alert text for unexpected (or new) rejection codes
          Chrome Headless <IP_ADDRESS> (Windows 10)
             36) TypeError: this._removeUniqueSelectionListener is not a function
                at BatchInfoComponent.call [as ngOnDestroy] (node_modules/@angular/cdk/fesm2022/accordion.mjs:138:14)
                at executeOnDestroys (node_modules/@angular/core/fesm2022/core.mjs:11352:32)
                at cleanUpView (node_modules/@angular/core/fesm2022/core.mjs:11255:9)
                at destroyViewTree (node_modules/@angular/core/fesm2022/core.mjs:11086:17)
                at destroyLView (node_modules/@angular/core/fesm2022/core.mjs:11228:9)
                at ViewRef$1.destroy (node_modules/@angular/core/fesm2022/core.mjs:14123:9)
                at ComponentRef.destroy (node_modules/@angular/core/fesm2022/core.mjs:16847:23)
                at PseudoApplicationComponentFixture.destroy (node_modules/@angular/core/fesm2022/testing.mjs:287:31)
                at PseudoApplicationComponentFixture.destroy (node_modules/@angular/core/fesm2022/testing.mjs:418:15)
                at resetFixtures (node_modules/ng-mocks/index.mjs:1:110908)

Ok, maybe factory is bad. Lets try copy pasted its
LOG MESSAGES FOR: Chrome Headless <IP_ADDRESS> (Windows 10) INSTANCE #: 44682028
   'Error during cleanup of component', Object{component: r{}, stacktrace: TypeError: this._removeUniqueSelectionListener is not a function
TypeError: this._removeUniqueSelectionListener is not a function
    at BatchInfoComponent.call [as ngOnDestroy] (http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/cdk/fesm2022/accordion.mjs:138:14)
    at executeOnDestroys (http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/core/fesm2022/core.mjs:11352:32)
    at cleanUpView (http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/core/fesm2022/core.mjs:11255:9)
    at destroyViewTree (http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/core/fesm2022/core.mjs:11086:17)
    at destroyLView (http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/core/fesm2022/core.mjs:11228:9)
    at ViewRef$1.destroy (http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/core/fesm2022/core.mjs:14123:9)
    at ComponentRef.destroy (http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/core/fesm2022/core.mjs:16847:23)
    at PseudoApplicationComponentFixture.destroy (http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/core/fesm2022/testing.mjs:287:31)
    at PseudoApplicationComponentFixture.destroy (http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/core/fesm2022/testing.mjs:418:15)
    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/core/fesm2022/testing.mjs:2105:25}

It work when I have only one it enabled.
test setup:
beforeEach(() =>
    MockBuilder(BatchInfoComponent)
      .beforeCompileComponents((testBed) => {
        testBed.configureTestingModule({
          schemas: [NO_ERRORS_SCHEMA],
        });
      })
      .replace(BrowserAnimationsModule, NoopAnimationsModule)
      .provide(provideTranslocoForTesting())
      .keep(TranslocoModule)
      .keep(AlertComponent)
      .provide(provideMarkdown())
      .provide(provideTranslocoMissingHandler(MissingTranslationHandler))
      .provide({ provide: IS_PRODUCTION, useValue: true })
  );

describe('', () => {
  it('My Test', () => {
    const fixture = MockRender(BatchInfoComponent, {
        batchDetails,
        batchStatistics,
        batchEvents,
        isLoaded: true,
      });
    expect(component).toBeDefined();
  })
})

ng-mocks v 14.13.1
angular 18.2.7
The component being tested extends CdkAccordionItem from AngularMaterial
Expected vs actual behavior
Expected it to just work

Ok, got it working by adding .keep(AccordionModule). This issue might be specific to my case only.


@yoshistarz test issue with list

These are the things I would like to learn in class today.

[x] Learn more about the GitHub Flow
[ ] Learn how to collaborate better
[ ] Learn what a pull request is

Test cooment


Code version, how to implement?

Code version, how to implement?

I have already done so, but still can't, whether navigationBar reason?

他似乎没有进入,    if ([self.navigationController.navigationBar isMemberOfClass:[MSSTabNavigationBar class]] && !self.tabBarView)

He doesn't seem to have entered, the if ([self. NavigationController. NavigationBar isMemberOfClass: [MSSTabNavigationBar class]] &&! Self. TabBarView)

Hello, like: MSSTabbedPageViewController, could help to solve it for me?

To get the tabbed navigation bar, you need to have a custom UINavigationController that overrides initWithNavigationBarClass:toolbarClass, using [MSSTabNavigationBar class] as the navigation bar class parameter. The navigation controller will then need the MSSTabbedPageViewController  view controller as its rootViewController.

Thank you, have achieved, but the pods as if can't use?

Sorry I don't quite understand what you mean?

The pods are unavailable

Make sure that the target in your podfile is iOS 8.0 or above. Also ensure you're using the master pods repo.

So to simplify, when instantiating the nav bar do this: navBar = UINavigationController(navigationBarClass: MSSTabNavigationBar.self, toolbarClass: nil)


OCW: redirect /high-school/* to ZenDesk help page

The OCW "highlights for high school" was abandoned in next gen, but people are still looking for it. To avoid lost of customer support issues, we'd like to direct them to a page explaining the decision. Eventually, a few of the courses will be ported to nextgen, although as regular courses.
The OCW team attempted to add a redirect through fastly, but it seems like they are limited to one-to-one redirects. No wild cards.
They'd like to redirect everything that starts with the path /high-school/ to go to https://mitocw.zendesk.com/hc/en-us/articles/5332864282907

Turns out this isn't fast and easy so I will connect with @blarghmatey at some point here to do this.

This is a good task to work on after we finish the setup to get Fastly provisioned via Pulumi for #840

@pdpinch Can we have an example of a high-school link to test things out

Here's one. I'll add more.
https://ocw.mit.edu/high-school/physics/chandra-astrophysics-institute/ => https://mitocw.zendesk.com/hc/en-us/articles/5332864282907

@pdpinch This is now deployed on QA

This is live on production as of yesterday


Make LimeSDR Mini 2.0 Rx-only behaviour the same as previous SDRs.

Due to the LimeSDR Mini 2.0 FPGA implementation it is necessary to enable Tx even for Rx-only applications. E.g. see:
https://discourse.myriadrf.org/t/limesdr-mini-2-and-gnuradio-newbie-question/7820/14
However, the behaviour should be the same as with other LimeSDR boards, where it is possible to enable only Rx. This should be fixed either in Lime Suite (with LimeSDR Mini 2.0 enable Tx when only Rx is set up via the API) or the gateware.

Thanks.
You've probably seen, this but just in case:
https://discourse.myriadrf.org/t/limesdr-mini-2-0-rx-only-works-after-changing-bandwidth/8170/9
If we could verify behaviour.

@rjonaitis just saw your latest comment on the forum post and I'm guessing we can close this now?


New Control - Remote device picker docs

Documentation for Remote Device Picker New Control - Remote device picker #2126

Need to update the Table of Contents as well! :)

OPS Build status updates of commit 47da816:
:clock10: Preparing: average preparing time is 1 min(s) 21 sec(s)

OPS Build status updates of commit 47da816:
:clock10: Incremental building: average incremental building time is 1 min(s) 19 sec(s)

OPS Build status updates of commit 47da816:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/controls/RemoteDevicePicker.md
:white_check_mark:Succeeded
View

docs/helpers/RemoteDeviceHelper.md
:white_check_mark:Succeeded
View

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

OPS Build status updates of commit adbe9ce:
:clock10: Preparing: average preparing time is 1 min(s) 21 sec(s)

OPS Build status updates of commit adbe9ce:
:clock10: Incremental building: average incremental building time is 1 min(s) 18 sec(s)

OPS Build status updates of commit adbe9ce:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/controls/RemoteDevicePicker.md
:white_check_mark:Succeeded
View

docs/helpers/RemoteDeviceHelper.md
:white_check_mark:Succeeded
View

docs/toc.md
:white_check_mark:Succeeded
View

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

OPS Build status updates of commit 5545687:
:clock10: Preparing: average preparing time is 1 min(s) 21 sec(s)

OPS Build status updates of commit 5545687:
:clock10: Incremental building: average incremental building time is 1 min(s) 17 sec(s)

OPS Build status updates of commit 5545687:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/controls/RemoteDevicePicker.md
:white_check_mark:Succeeded
View

docs/helpers/RemoteDeviceHelper.md
:white_check_mark:Succeeded
View

docs/toc.md
:white_check_mark:Succeeded
View

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

OPS Build status updates of commit f42a3b5:
:clock10: Preparing: average preparing time is 1 min(s) 21 sec(s)

OPS Build status updates of commit f42a3b5:
:clock10: Incremental building: average incremental building time is 1 min(s) 17 sec(s)

OPS Build status updates of commit f42a3b5:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/controls/RemoteDevicePicker.md
:white_check_mark:Succeeded
View

docs/helpers/RemoteDeviceHelper.md
:white_check_mark:Succeeded
View

docs/toc.md
:white_check_mark:Succeeded
View

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

OPS Build status updates of commit 7412ee5:
:clock10: Preparing: average preparing time is 1 min(s) 21 sec(s)

OPS Build status updates of commit 7412ee5:
:clock10: Incremental building: average incremental building time is 1 min(s) 17 sec(s)

OPS Build status updates of commit 7412ee5:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/controls/RemoteDevicePicker.md
:white_check_mark:Succeeded
View

docs/helpers/RemoteDeviceHelper.md
:white_check_mark:Succeeded
View

docs/toc.md
:white_check_mark:Succeeded
View

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

@michael-hawker i believe i addressed everything. Please check the .net api link and let me know if that needs to be changed.

OPS Build status updates of commit a58b70e:
:clock10: Preparing: average preparing time is 1 min(s) 21 sec(s)

OPS Build status updates of commit a58b70e:
:clock10: Incremental building: average incremental building time is 1 min(s) 17 sec(s)

@michael-hawker pushed co,mmits from suggestions

OPS Build status updates of commit a58b70e:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/controls/RemoteDevicePicker.md
:white_check_mark:Succeeded
View

docs/helpers/RemoteDeviceHelper.md
:white_check_mark:Succeeded
View

docs/toc.md
:white_check_mark:Succeeded
View

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

OPS Build status updates of commit 6ceb5e9:
:clock10: Preparing: average preparing time is 1 min(s) 21 sec(s)

OPS Build status updates of commit 6ceb5e9:
:clock10: Incremental building: average incremental building time is 1 min(s) 17 sec(s)

OPS Build status updates of commit 6ceb5e9:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/controls/RemoteDevicePicker.md
:white_check_mark:Succeeded
View

docs/helpers/RemoteDeviceHelper.md
:white_check_mark:Succeeded
View

docs/toc.md
:white_check_mark:Succeeded
View

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

OPS Build status updates of commit bce96a4:
:clock10: Preparing: average preparing time is 1 min(s) 20 sec(s)

OPS Build status updates of commit bce96a4:
:clock10: Incremental building: average incremental building time is 1 min(s) 16 sec(s)

OPS Build status updates of commit bce96a4:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/controls/RemoteDevicePicker.md
:white_check_mark:Succeeded
View

docs/helpers/RemoteDeviceHelper.md
:white_check_mark:Succeeded
View

docs/toc.md
:white_check_mark:Succeeded
View

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


Update to new version of 'rand'. Fixes compilation on Windows.

Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @huonw (or someone else) soon.
If any changes to this PR are deemed necessary, please add them as extra commits. This ensures that the reviewer can see what has changed since they last reviewed the code. The way Github handles out-of-date commits, this should also make it reasonably obvious what issues have or haven't been addressed. Large or tricky changes may require several passes of review and changes.
Please see CONTRIBUTING.md for more information.

Thanks!


Failures on 0.17.x with MKL

Time for this release candidate's set of MKL failures. Do other people test using MKL, or should I try to make a habit of doing this check before each release?
icc --version is icc (ICC) 16.0.1 20151021
numpy on maintenance/1.10.x branch, version 1.10.0.dev0+075cc98, numpy.test('full') passing; scipy.test('full') gives:
>>> scipy.test('full')
Running unit tests for scipy
NumPy version 1.10.0.dev0+075cc98
NumPy relaxed strides checking option: False
NumPy is installed in /home/larsoner/.local/lib/python2.7/site-packages/numpy
SciPy version 0.17.0rc1
SciPy is installed in /home/larsoner/.local/lib/python2.7/site-packages/scipy
Python version 2.7.10 (default, Oct 14 2015, 16:09:02) [GCC 5.2.1 20151010]
nose version 1.3.6

...

======================================================================
FAIL: test_lorentz (test_odr.TestODR)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/larsoner/.local/lib/python2.7/site-packages/scipy/odr/tests/test_odr.py", line 293, in test_lorentz
    3.7798193600109009e+00]),
  File "/home/larsoner/.local/lib/python2.7/site-packages/numpy/testing/utils.py", line 892, in assert_array_almost_equal
    precision=decimal)
  File "/home/larsoner/.local/lib/python2.7/site-packages/numpy/testing/utils.py", line 713, in assert_array_compare
    raise AssertionError(msg)
AssertionError:
Arrays are not almost equal to 6 decimals

(mismatch 100.0%)
 x: array([  1.000000e+03,   1.000000e-01,   3.800000e+00])
 y: array([  1.430678e+03,   1.339051e-01,   3.779819e+00])

======================================================================
FAIL: test_multi (test_odr.TestODR)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/larsoner/.local/lib/python2.7/site-packages/scipy/odr/tests/test_odr.py", line 190, in test_multi
    0.5101147161764654, 0.5173902330489161]),
  File "/home/larsoner/.local/lib/python2.7/site-packages/numpy/testing/utils.py", line 892, in assert_array_almost_equal
    precision=decimal)
  File "/home/larsoner/.local/lib/python2.7/site-packages/numpy/testing/utils.py", line 713, in assert_array_compare
    raise AssertionError(msg)
AssertionError:
Arrays are not almost equal to 6 decimals

(mismatch 100.0%)
 x: array([ 4. ,  2. ,  7. ,  0.4,  0.5])
 y: array([ 4.379988,  2.433306,  8.002885,  0.510115,  0.51739 ])

======================================================================
FAIL: test_pearson (test_odr.TestODR)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/larsoner/.local/lib/python2.7/site-packages/scipy/odr/tests/test_odr.py", line 236, in test_pearson
    np.array([5.4767400299231674, -0.4796082367610305]),
  File "/home/larsoner/.local/lib/python2.7/site-packages/numpy/testing/utils.py", line 892, in assert_array_almost_equal
    precision=decimal)
  File "/home/larsoner/.local/lib/python2.7/site-packages/numpy/testing/utils.py", line 713, in assert_array_compare
    raise AssertionError(msg)
AssertionError:
Arrays are not almost equal to 6 decimals

(mismatch 100.0%)
 x: array([ 1.,  1.])
 y: array([ 5.47674 , -0.479608])

----------------------------------------------------------------------
Ran 21565 tests in 1190.894s

FAILED (KNOWNFAIL=130, SKIP=1811, failures=3)
<nose.result.TextTestResult run=21565 errors=0 failures=3>
>>>

I can also try with latest numpy master, but I figured we should try to clear up the 1.10 failures to see if that gets everything working first.

ordqz passes, yay! :-)

should I try to make a habit of doing this check before each release?

That'd be great. A monthly cron job?

On the actual topic: last non-doc commits to ODR seem to be maintenance cleanups made over a year ago...

Could be it's broken on the latest Intel MKL compiler, then, since that's also been updated by me since the last check. I'll give 0.16.x a try to see if it fails similarly, since I know that did pass last time I ran it (which was with the previous MKL release).

I'd also try to downgrade numpy to 1.6.2 or 1.7.2: it could be due to some
recent tightening in numpy.
It's too easy for me to say "I would" when I'm not doing the work, though.
So I'd rather say thank you for testing it!
24.12.2015 0:52 пользователь "Eric Larson"<EMAIL_ADDRESS>написал:

Could be it's broken on the latest Intel MKL compiler, then, since that's
also been updated by me since the last check. I'll give 0.16.x a try to see
if it fails similarly, since I know that did pass last time I ran it (which
was with the previous MKL release).
—
Reply to this email directly or view it on GitHub
https://github.com/scipy/scipy/issues/5621#issuecomment-166998064.

FYI I also have an interpolation failure I wasn't getting with 0.16 that I doubt is related to MKL. I'll try to isolate it to a minimal example.

Same failures on SciPy version 0.16.2.dev0+728c397, so it's probably a "Intel Parallel Studio 2016 Update 1" problem. I'll roll back icc to 2015 update 6 and see if it works.

The ODR failures are a known ifort bug that should be solved when you compile with -O1, see gh-3340

Closing this is a duplicate of gh-3340. Thanks @Eric89GXL, good to know that there are no other issues with MKL.

Should we change it to use -01 by default in the Intel fortran compilers in numpy until Intel fixes the problem upstream?

It should be using -O1: https://github.com/numpy/numpy/blob/master/numpy/distutils/fcompiler/intel.py#L172
If you have that line but are still getting -O2 or -O3 then we should have a closer look.

That option is only for the IntelVisualFCompiler class, which isn't used on Linux, though. I'm on Ubuntu x84_64, so it uses the IntelEM64TFCompiler class IIRC.

For it to work for me I had to add it here:
https://github.com/numpy/numpy/blob/master/numpy/distutils/fcompiler/intel.py#L123

Ah ok. Then I think we fixed it for the reported issue on Windows only. Do you want to send a PR with the change for Linux?

Yeah will do

With -O1 and numpy 1.11.0.dev0+76f2870 the errors above go away, but I do get:
ERROR: test_spearmanr (test_mstats_basic.TestCompareWithStats)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/larsoner/.local/lib/python2.7/site-packages/scipy/stats/tests/test_mstats_basic.py", line 974, in test_spearmanr
    r, p = stats.spearmanr(x, y)
  File "/home/larsoner/.local/lib/python2.7/site-packages/scipy/stats/stats.py", line 3314, in spearmanr
    t = rs * np.sqrt((n-2) / ((rs+1.0)*(1.0-rs)))
RuntimeWarning: invalid value encountered in sqrt

======================================================================
ERROR: test_tie1 (test_stats.TestCorrSpearmanrTies)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/larsoner/.local/lib/python2.7/site-packages/scipy/stats/tests/test_stats.py", line 673, in test_tie1
    sr = stats.spearmanr(x, y)
  File "/home/larsoner/.local/lib/python2.7/site-packages/scipy/stats/stats.py", line 3314, in spearmanr
    t = rs * np.sqrt((n-2) / ((rs+1.0)*(1.0-rs)))
RuntimeWarning: invalid value encountered in sqrt

Should these be fixed for 0.17? Or did I find another duplicate? :)

This looks like a numpy-dev artifact of turning warnings to errors :-). Would be good to filter out in tests.

https://github.com/scipy/scipy/pull/5609 filters them out in the library but I do think it's better to leave the library code alone and filter them out in the tests.

#5609 has been updated to avoid triggering those warning without adding any new filtering. This PR should be rebased on top of master to benefit from it.

Actually this is not a PR, but what I meant is that the warnings reported in https://github.com/scipy/scipy/issues/5621#issuecomment-167611301 should not longer be triggered on master.

If you need the fix for the 0.17 maintenance branch you can cherry-pick 5c187767a0a778b749f999a292f5f680bea85750.


Handle CompositeExceptions

Probably we want two functions here:

all_leaf_exceptions_are(::Type, e)
any_leaf_exception_is(::Type, e)

cc: @Drvi


How to set OAK-1 fixed focus.

Hi.
Any suggestion on how to set the fixed focus in OAK-1 camera ? I want to use this camera for my drone so i need fixed focus.
I tried following methods but no success:
inside depthai_ros_driver/src/param_handlers/sensor_param_handler.cpp
Line 140:
size_t focus = declareAndLogParam("r_focus", 130, getRangedIntDescriptor(0, 255));
if(declareAndLogParam("r_set_man_focus", true)) {
colorCam->initialControl.setManualFocus(focus);
}
Any help?
Thanks.

Hi, you can set fixed focus using parameters, either in yaml file or by using dynamic reconfigure as shown in the Readme

Thanks @Serafadam


container-entrypoint handling of arguments with spaces

:question: Is this a bug or a feature?
The current implementation of the script:
cmd="$1"; shift
exec $cmd "$@"
#    ^^^^

It handles quoting everywhere except in one place.
It makes a difference when the first argument to the entrypoint has spaces. The current implementation:

cannot run executables with a space in the name (perhaps not that bad)

works when multiple arguments are passed as a single argument (to my surprise):

$ ./container-entrypoint 'bundle exec rake test'
Could not locate Gemfile
- doesn't work in the same case above when the command should not be blindly split on spaces:

    ```console
$ /bin/sh -c "echo 123"
123
$ ./container-entrypoint '/bin/sh -c "echo 123"'
123": -c: line 0: unexpected EOF while looking for matching `"'
123": -c: line 1: syntax error: unexpected end of file

This affects image users relying on the entrypoint, for example when they use build hooks.
Shall we correct the quoting, or is it implementing the intended behavior?

@bparees @mfojtik @hhorak PTAL

$ ./container-entrypoint 'bundle exec rake test'

@rhcarvalho is the Gemfile located in the same directory where that command runs?

@mfojtik perhaps that example deviated the attention from the problem. The problem is that it worked.
My expectation is that it should have failed just like:
$ exec 'bundle exec rake test'
bash: exec: bundle exec rake test: not found

(I'm running that in a random directory, was not expecting any tests to be run)

@rhcarvalho I see what you mean now, we shift the args and since the $1 is the "quoted" command we effectively remove it. Then we "exec "$@"" :-) I wonder how that can work as well.

@rhcarvalho it's not clear to me what you're proposing we do instead?
exec "$@"
or exec "$cmd" "$@"
?

@rhcarvalho I see what you mean now, we shift the args and since the $1 is the "quoted" command we effectively remove it. Then we "exec "$@"" :-) I wonder how that can work as well.

As for the example with ./container-entrypoint 'bundle exec rake test' -- what happens here is to store $1 into $cmd (=bundle exec rake test), which is then called without quotes, so what is being called is actually exec bundle exec rake test, that's why it works.
I'm still not sure whether this is what we need or not.. Is ./container-entrypoint '/bin/sh -c "echo 123"' some real-life example?

@bparees instead of making a proposal upfront I wanted to understand if the current implementation was the desired behavior or just accidental.
@hhorak a real-life use case came up when I was testing build hooks.
By default, the container entrypoint is container-entrypoint, and then using the build hooks you can pass arguments to the default entrypoint as an array of strings (each element of the array is one argument).
Passing ["bundle exec rake test"] worked, to my surprise. Your explanation of why it works is correct.
However, a build hook might contain other types of things where the lack of quotes would cause issues with the single string approach (that users could "get used to"). One example would be running a SQL query:
["mysql -u root -p somedb -e 'select * from mytable'"] :arrow_right: this would pass incorrect arguments to mysql, namely (-u, root, -p, somedb, -e, 'select, *, from, mytable').
In both examples above, passing each argument as a separate string in the array would produce the correct result:

["bundle", "exec", "rake", "test"]
["mysql", "-u", "root", "-p", "somedb", "-e", "'select * from mytable'"]

A proposal to fix the quoting problem would be either
#!/bin/bash
set -eu
cmd="$1"; shift
exec "$cmd" "$@"

or even shorter
#!/bin/bash
exec "$@"

Both proposals would make ["mysql -u root -p somedb -e 'select * from mytable'"] cause an error saying "exec: mysql -u root -p somedb -e 'select * from mytable': not found", instead of running mysql with the wrong arguments.

@rhcarvalho thanks, the issue is much clearer to me now.
I guess i'm thinking what we have now is the best approach because while it breaks in your mysql scenario, your proposed fix is also broken for that scenario (though admittedly with a better error message).
But what we have now is works for the intuitive case, such as what you initially tried (and were surprised to see work).
Is there any case where what we have now breaks now when it would not break if we made this change?  (regardless of whether it breaks differently)

It was counter-intuitive to me, I expected it to fail.
It should have been a single argument if the entrypoint was ["bash", "-c"] or similar.
I've seen in the past months errors like that in a few occasions, the last one in a BZ by QE testing my build hooks card :smile:
That's why I was pushing forward to have a "script" instead of command/args syntax.
So while people do make mistakes, I think we should promote the usage of the right syntax, the one that will work every else -- instead of building reliance on a bug-feature that will only work under certain conditions. (What I understood so far is that the lack of quotes was not intentional)
User's understanding how to use Docker's syntax should never write a single string as argument, because that would fail in all other places: pod command, deployment hook, etc.

Is there any case where what we have now breaks now when it would not break if we made this change?

It just comes to mind the unlike case were the executable has spaces in its name or path.

It was counter-intuitive to me, I expected it to fail.

fair enough, but no one is going to explicitly do something they expect to fail as their intuitive guess as to how to do something.

(What I understood so far is that the lack of quotes was not intentional)

i'm not sure about that, I think someone may have been trying to make "bundle exec rake ruby" work, actually.
that said, this is what we do in the jenkins image (which I pulled from the dockerhub jenkins image):
https://github.com/openshift/jenkins/blob/master/1/contrib/s2i/run#L108
so that would be consistent w/ what you're proposing.
Given that, i guess i can get behind making the change.


Update to ngrx/store-devtools 3.3.0

Update to ngrx/store-devtools 3.3.0 when it's available, to fix time traveling in the redux devtools extension. See zalmoxisus/redux-devtools-extension#238.

The regression was fixed in 2.8.5 of the extension.

Fixed via https://github.com/ngrx/example-app/issues/104


Private/shenhav/xmp get tags

@shenhavba,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot

  const std::string& labelId,

where is copy ctor and assignment operator?
Implement them too

Refers to: sdk/file_sdk/Common/tag.h:31 in c3d09e3. [](commit_id = c3d09e3ead35255dd787a00a99fb64259fcafcf1, deletion_comment = False)

  mLabelId == other.mLabelId &&

what about comparing method?

Refers to: sdk/file_sdk/Common/tag.cpp:127 in c3d09e3. [](commit_id = c3d09e3ead35255dd787a00a99fb64259fcafcf1, deletion_comment = False)

  const std::string& labelId,

i copied this class from UPE.
we don't need more ctors

In reply to: 326795611 [](ancestors = 326795611)

Refers to: sdk/file_sdk/Common/tag.h:31 in c3d09e3. [](commit_id = c3d09e3ead35255dd787a00a99fb64259fcafcf1, deletion_comment = False)

  mLabelId == other.mLabelId &&

why do we need comparing method i you can use ==

In reply to: 326795673 [](ancestors = 326795673)

Refers to: sdk/file_sdk/Common/tag.cpp:127 in c3d09e3. [](commit_id = c3d09e3ead35255dd787a00a99fb64259fcafcf1, deletion_comment = False)

const string& id = data.first;

why you need a var for this?

Refers to: sdk/file_sdk/Common/tag.cpp:57 in c3d09e3. [](commit_id = c3d09e3ead35255dd787a00a99fb64259fcafcf1, deletion_comment = False)

  return GetDataForKey(properties, GenerateLabelKey(id, backwardCompatibleKeys[i]));

why not just return the value?

Refers to: sdk/file_sdk/Common/tag.cpp:47 in c3d09e3. [](commit_id = c3d09e3ead35255dd787a00a99fb64259fcafcf1, deletion_comment = False)

  mLabelId == other.mLabelId &&

comparing the method (manual, automatic)

In reply to: 326795719 [](ancestors = 326795719,326795673)

Refers to: sdk/file_sdk/Common/tag.cpp:127 in c3d09e3. [](commit_id = c3d09e3ead35255dd787a00a99fb64259fcafcf1, deletion_comment = False)

  return GetDataForKey(properties, GenerateLabelKey(id, backwardCompatibleKeys[i]));

because i need the code in the GetDataForKey function.

In reply to: 326795956 [](ancestors = 326795956)

Refers to: sdk/file_sdk/Common/tag.cpp:47 in c3d09e3. [](commit_id = c3d09e3ead35255dd787a00a99fb64259fcafcf1, deletion_comment = False)

  const std::string& labelId,

these ctors are generated automatically.

In reply to: 326795685 [](ancestors = 326795685,326795611)

Refers to: sdk/file_sdk/Common/tag.h:31 in c3d09e3. [](commit_id = c3d09e3ead35255dd787a00a99fb64259fcafcf1, deletion_comment = False)

  const std::string& labelId,

its not generated automatically

In reply to: 326796405 [](ancestors = 326796405,326795685,326795611)

Refers to: sdk/file_sdk/Common/tag.h:31 in c3d09e3. [](commit_id = c3d09e3ead35255dd787a00a99fb64259fcafcf1, deletion_comment = False)

  const std::string& labelId,

it is. and after move use the correct implementation

In reply to: 326796788 [](ancestors = 326796788,326796405,326795685,326795611)

Refers to: sdk/file_sdk/Common/tag.h:31 in c3d09e3. [](commit_id = c3d09e3ead35255dd787a00a99fb64259fcafcf1, deletion_comment = False)

if (std::regex_match(guid, std::regex("^([a-z0-9]{8}-([a-z0-9]{4}-){3}[a-z0-9]{12})$", std::regex_constants::icase))) {

you have no check that this property is started with kMetaDataPrefix + "_"

Refers to: sdk/file_sdk/Common/tag.cpp:76 in c3d09e3. [](commit_id = c3d09e3ead35255dd787a00a99fb64259fcafcf1, deletion_comment = False)

    mExtendedProperties[i].vendor != other.mExtendedProperties[i].vendor) {

implement == operator in ExtendedProperty

Refers to: sdk/file_sdk/Common/tag.cpp:121 in c3d09e3. [](commit_id = c3d09e3ead35255dd787a00a99fb64259fcafcf1, deletion_comment = False)

string methodAsString = methodArray[static_cast<size_t>(method)];

make global static

Refers to: sdk/file_sdk/Common/tag.cpp:149 in c3d09e3. [](commit_id = c3d09e3ead35255dd787a00a99fb64259fcafcf1, deletion_comment = False)

if (id == key) {

should be case insensitive.

Refers to: sdk/file_sdk/Common/tag.cpp:58 in c3d09e3. [](commit_id = c3d09e3ead35255dd787a00a99fb64259fcafcf1, deletion_comment = False)

ids.push_back("Ref");

ids {"Ref"}

Refers to: sdk/file_sdk/Common/tag.cpp:183 in c3d09e3. [](commit_id = c3d09e3ead35255dd787a00a99fb64259fcafcf1, deletion_comment = False)

ids.push_back("SetBy");

ids = { "AssignedBy", "SetBy" }

Refers to: sdk/file_sdk/Common/tag.cpp:189 in c3d09e3. [](commit_id = c3d09e3ead35255dd787a00a99fb64259fcafcf1, deletion_comment = False)

ids.push_back("DateCreated");

ids = { "..."}

Refers to: sdk/file_sdk/Common/tag.cpp:193 in c3d09e3. [](commit_id = c3d09e3ead35255dd787a00a99fb64259fcafcf1, deletion_comment = False)

string Tag::GetBackwardCompatibleKey(

rename this. you are getting the value and not the key

Refers to: sdk/file_sdk/Common/tag.cpp:32 in c3d09e3. [](commit_id = c3d09e3ead35255dd787a00a99fb64259fcafcf1, deletion_comment = False)

  if (id.compare(methodKey) != 0 && id.find(extendedPropertyPrefix) != string::npos) {

!id.compare(0, prefix.size(), prefix)

Refers to: sdk/file_sdk/Common/tag.cpp:212 in 6dbeed8. [](commit_id = 6dbeed80e63357d9cb5b9bfbddb7cdef1b4aa2da, deletion_comment = False)

    string vendorAndKey = regex_replace(id, std::regex(extendedPropertyPrefix), replace);

why regex replace? just remove the prefix with erase

Refers to: sdk/file_sdk/Common/tag.cpp:213 in 6dbeed8. [](commit_id = 6dbeed80e63357d9cb5b9bfbddb7cdef1b4aa2da, deletion_comment = False)

    string key = vendorAndKey.substr(0, index + 1);

did you mean .substr(index + 1)?

Refers to: sdk/file_sdk/Common/tag.cpp:216 in 6dbeed8. [](commit_id = 6dbeed80e63357d9cb5b9bfbddb7cdef1b4aa2da, deletion_comment = False)

    string vendor = vendorAndKey.substr(0, index);

check that index != npos

Refers to: sdk/file_sdk/Common/tag.cpp:215 in 6dbeed8. [](commit_id = 6dbeed80e63357d9cb5b9bfbddb7cdef1b4aa2da, deletion_comment = False)

if (std::regex_match(guid, std::regex("^([a-z0-9]{8}-([a-z0-9]{4}-){3}[a-z0-9]{12})$", std::regex_constants::icase))) {

This is what Munjal did.
Meybe he moved the logic to the upper layer

In reply to: 326800542 [](ancestors = 326800542)

Refers to: sdk/file_sdk/Common/tag.cpp:76 in c3d09e3. [](commit_id = c3d09e3ead35255dd787a00a99fb64259fcafcf1, deletion_comment = False)

ids.push_back("Ref");

I don't think so

In reply to: 326801312 [](ancestors = 326801312)

Refers to: sdk/file_sdk/Common/tag.cpp:183 in c3d09e3. [](commit_id = c3d09e3ead35255dd787a00a99fb64259fcafcf1, deletion_comment = False)

ids.push_back("Ref");

I have no idea what you mean

In reply to: 326801312 [](ancestors = 326801312)

Refers to: sdk/file_sdk/Common/tag.cpp:183 in c3d09e3. [](commit_id = c3d09e3ead35255dd787a00a99fb64259fcafcf1, deletion_comment = False)

string Tag::GetBackwardCompatibleKey(

Its not the value. the key is different. its make more sense to keep it with that name

In reply to: 326801448 [](ancestors = 326801448)

Refers to: sdk/file_sdk/Common/tag.cpp:32 in c3d09e3. [](commit_id = c3d09e3ead35255dd787a00a99fb64259fcafcf1, deletion_comment = False)

  if (id.compare(methodKey) != 0 && id.find(extendedPropertyPrefix) != string::npos) {

I prefer not to change this class because i don't have the tests here

In reply to: 326801823 [](ancestors = 326801823)

Refers to: sdk/file_sdk/Common/tag.cpp:212 in 6dbeed8. [](commit_id = 6dbeed80e63357d9cb5b9bfbddb7cdef1b4aa2da, deletion_comment = False)

    string vendorAndKey = regex_replace(id, std::regex(extendedPropertyPrefix), replace);

I prefer not to change this class because i don't have the tests here

In reply to: 326801899 [](ancestors = 326801899)

Refers to: sdk/file_sdk/Common/tag.cpp:213 in 6dbeed8. [](commit_id = 6dbeed80e63357d9cb5b9bfbddb7cdef1b4aa2da, deletion_comment = False)

    string key = vendorAndKey.substr(0, index + 1);

yes, but its weird. the tests check this and pass

In reply to: 326802113 [](ancestors = 326802113)

Refers to: sdk/file_sdk/Common/tag.cpp:216 in 6dbeed8. [](commit_id = 6dbeed80e63357d9cb5b9bfbddb7cdef1b4aa2da, deletion_comment = False)

  if (id.compare(methodKey) != 0 && id.find(extendedPropertyPrefix) != string::npos) {

so, it is needed to fix tests too.  since this is a wrong code.

In reply to: 326804122 [](ancestors = 326804122,326801823)

Refers to: sdk/file_sdk/Common/tag.cpp:212 in 6dbeed8. [](commit_id = 6dbeed80e63357d9cb5b9bfbddb7cdef1b4aa2da, deletion_comment = False)

    string vendorAndKey = regex_replace(id, std::regex(extendedPropertyPrefix), replace);

this is wrong code and does not match the specs.

In reply to: 326804137 [](ancestors = 326804137,326801899)

Refers to: sdk/file_sdk/Common/tag.cpp:213 in 6dbeed8. [](commit_id = 6dbeed80e63357d9cb5b9bfbddb7cdef1b4aa2da, deletion_comment = False)

    mExtendedProperties[i].vendor != other.mExtendedProperties[i].vendor) {

you have not used == operator here

In reply to: 326800817 [](ancestors = 326800817)

Refers to: sdk/file_sdk/Common/tag.cpp:121 in c3d09e3. [](commit_id = c3d09e3ead35255dd787a00a99fb64259fcafcf1, deletion_comment = False)

if (std::regex_match(guid, std::regex("^([a-z0-9]{8}-([a-z0-9]{4}-){3}[a-z0-9]{12})$", std::regex_constants::icase))) {

this is not correct to check this on the upper level. it should be checked here

In reply to: 326803394 [](ancestors = 326803394,326800542)

Refers to: sdk/file_sdk/Common/tag.cpp:76 in c3d09e3. [](commit_id = c3d09e3ead35255dd787a00a99fb64259fcafcf1, deletion_comment = False)

if (std::regex_match(guid, std::regex("^([a-z0-9]{8}-([a-z0-9]{4}-){3}[a-z0-9]{12})$", std::regex_constants::icase))) {

You can add the prefix to the regex and then get guid from match results

In reply to: 327122063 [](ancestors = 327122063,326803394,326800542)

Refers to: sdk/file_sdk/Common/tag.cpp:76 in c3d09e3. [](commit_id = c3d09e3ead35255dd787a00a99fb64259fcafcf1, deletion_comment = False)

    string vendorAndKey = regex_replace(id, std::regex(extendedPropertyPrefix), replace);

it does match the sects because it will give the same result as using erase()

In reply to: 327119943 [](ancestors = 327119943,326804137,326801899)

Refers to: sdk/file_sdk/Common/tag.cpp:213 in 6dbeed8. [](commit_id = 6dbeed80e63357d9cb5b9bfbddb7cdef1b4aa2da, deletion_comment = False)

  if (id.compare(methodKey) != 0 && id.find(extendedPropertyPrefix) != string::npos) {

i changed it to !id.compare(0, prefix.size(), prefix) but why is that wrong? it does work and there is nothing to fix in the tests

In reply to: 327119731 [](ancestors = 327119731,326804122,326801823)

Refers to: sdk/file_sdk/Common/tag.cpp:212 in 6dbeed8. [](commit_id = 6dbeed80e63357d9cb5b9bfbddb7cdef1b4aa2da, deletion_comment = False)

  if (id.compare(methodKey) != 0 && id.find(extendedPropertyPrefix) != string::npos) {

since original code can find the string not at the beginning

In reply to: 327496076 [](ancestors = 327496076,327119731,326804122,326801823)

Refers to: sdk/file_sdk/Common/tag.cpp:212 in 6dbeed8. [](commit_id = 6dbeed80e63357d9cb5b9bfbddb7cdef1b4aa2da, deletion_comment = False)

    string vendorAndKey = regex_replace(id, std::regex(extendedPropertyPrefix), replace);

it will not work if you have this prefix twice in the string. if will not be correct, if you have the prefix not at the beginning of the string

In reply to: 327494694 [](ancestors = 327494694,327119943,326804137,326801899)

Refers to: sdk/file_sdk/Common/tag.cpp:213 in 6dbeed8. [](commit_id = 6dbeed80e63357d9cb5b9bfbddb7cdef1b4aa2da, deletion_comment = False)

    string vendorAndKey = regex_replace(id, std::regex(extendedPropertyPrefix), replace);

in another comment you wrote that its incorrect because its not checking if it starts with the prefix and now you complain it does?
if the property is not in the correct format then iy won't work anyway

In reply to: 327507843 [](ancestors = 327507843,327494694,327119943,326804137,326801899)

Refers to: sdk/file_sdk/Common/tag.cpp:213 in 6dbeed8. [](commit_id = 6dbeed80e63357d9cb5b9bfbddb7cdef1b4aa2da, deletion_comment = False)

    string vendorAndKey = regex_replace(id, std::regex(extendedPropertyPrefix), replace);

if you have a key in format: prefix_prefix_something, then you will get wrong result with the replace

In reply to: 327509276 [](ancestors = 327509276,327507843,327494694,327119943,326804137,326801899)

Refers to: sdk/file_sdk/Common/tag.cpp:213 in 6dbeed8. [](commit_id = 6dbeed80e63357d9cb5b9bfbddb7cdef1b4aa2da, deletion_comment = False)

    string vendorAndKey = regex_replace(id, std::regex(extendedPropertyPrefix), replace);

prefix_prefix_something is not valid.
But if you think erase is better, i will change iut

In reply to: 327695916 [](ancestors = 327695916,327509276,327507843,327494694,327119943,326804137,326801899)

Refers to: sdk/file_sdk/Common/tag.cpp:213 in 6dbeed8. [](commit_id = 6dbeed80e63357d9cb5b9bfbddb7cdef1b4aa2da, deletion_comment = False)

if (std::regex_match(guid, std::regex("^([a-z0-9]{8}-([a-z0-9]{4}-){3}[a-z0-9]{12})$", std::regex_constants::icase))) {

the fix is wrong - you are checking substring. and not checking the match results

In reply to: 327122570 [](ancestors = 327122570,327122063,326803394,326800542)

Refers to: sdk/file_sdk/Common/tag.cpp:76 in c3d09e3. [](commit_id = c3d09e3ead35255dd787a00a99fb64259fcafcf1, deletion_comment = False)

  const std::string& labelId,

After some investigation I've understood that I was wrong.
Implicitly-defined copy assignment operator and Implicitly-defined copy constructor are good for this class.

In reply to: 326798062 [](ancestors = 326798062,326796788,326796405,326795685,326795611)

Refers to: sdk/file_sdk/Common/tag.h:31 in c3d09e3. [](commit_id = c3d09e3ead35255dd787a00a99fb64259fcafcf1, deletion_comment = False)


Make valid entries into free response boxes trigger gates to "open"

Typing in the FR box with valid content does not automatically change the "before-next" content to become the "next" button like it used to. You have to explicitly do something to leave the box before the next button will appear, and that is not intuitive behavior. I could picture a student pressing "enter" after entering their response, but that just adds more lines inside the FR box. I wouldn't expect a student to think to press "tab" or click somewhere outside the box to get the content to register, which is what you have to do now. Is this something we can change?

Discussed this with @Carifio24 and @nmearl.
Currently, the trigger for updating the state (and therefore the db) is for the input box to lose focus, which leads to the non-intuitive behavior described above.
We don't want to change the trigger to be "listen for changes to the text" because that will trigger state updates for every keystroke and clog the messaging queue.
Possible solutions:

Wait for a short period (0.5 - 1 sec?) that gets reset after each keystroke before sending a state update. We'd need to experiment to see what amount of time feels natural, but depending on what we choose, slow typers would still end up triggering a lot of state updates.
Have 2 parts to the state update - when student starts typing, that could trigger the gate to open, then when the box loses focus, the response could then be recorded in the state. If we do this, we would not be able to validate responses for numbers vs. text, but maybe that's an acceptable trade since we ran a lot of the early trials without the response validators anyway.
Another less attractive option is to put a "submit" button next to the box, which at least gives the student an obvious action to take when they are finished typing their response.

Right now I'm leaning towards option 2. @johnarban, do you have thoughts or suggestions around this?

I also think we could incorporate the validators into an option 2-style solution - we could send an update every time the validity changes in addition to the time/focus-based stuff.

So yes to the sending an update on the validity change - that is what I was thinking too, but I don't think we need the timing stuff. So long as the validity gets sent up to the parent and can be handled, it is the only thing that needs to be reactive. We can then use the existing focus-based events to store the final free-response.

Yeah, I like @johnarban's idea. As long as the validity of the answer matches whether the student can advance, we can make the final update whenever (e.g. on a blur).

Done in #517.


Attempt to get CI to work on macOS

Checking to see whether macOS CI is failing because of macOS compiler toolchain.

this or #931?
Anyway, it is fine for this release but we need to make a proper fix for the next release

@Hardcode84 I want to merge #931 to this branch and then merge this branch with master. Can you approve #931 and then this one when you have the chance?


cache.ts API divergent from localStoreCache example in pwa and README

LocalStoreCache class in pwa example has very different interface than the memory version in cache.ts (different params, methods missing).  Also, the README has an even more out of date example of that class.  Ideally LocalStoreCache is an alternative option that is maintained and available in the library itself.

@zoranpopovic i agree. We should add the cache strategies to the source and add tests


Translation bugs

For all of the bugs associated with this epic, we need to:

[ ] Add translation tags
[ ] Send translation file to translation firm
[ ] Upload the refreshed translation file
[ ] Generate the binary files

Translation bugs:
#598 Indicator Target Period names not translated
#602 Add a site tab titles
#603 Add a site > Profile tab
#604 Add a site > Location tab
#605 Add a site > Demographic info tab
#668 Profile form
#736 "Indicator Performance Tracking Table" not translated
#896 Indicator setup form > Performance tab
#897 IPTT filter panel

All of these references tickets are completed, or they are DB values.

Thanks, @KennyMonster -- closing the ticket.


Export-Migration

Created an Export-Migration function that exports a SQL Server database as a Rivet migration.

@webmd-health-services/devops Removed updating Whiskey from this PR. There are several tests that were migrated from Blade to Pester and their files were renamed accordingly. I wish Github showed/understood renames.

@DecoyJoe Ready for another review.


[5.0] Two bug fixes

This cherry picks two bug fixes:
https://github.com/apple/swift/pull/22417
https://github.com/apple/swift/pull/22430
rdar://problem/47864610
rdar://problem/47864538

@swift-ci please test

@apple/swift5-branch-managers this includes two important bug fixes for the 5.0 release. If does not affect the ABI.
The first fix changes the setter of String.utf8 to not be a no-op, which somehow snuck through all the testing for us, SPM, etc. The second fix is a crasher for when a null UnsafeBufferPointer is used to construct a String.
This PR introduces more exhaustive testing to catch these are related issues in the future. The risk is low.


breaking(diagnostics): rename "enable-sentry" feature to "sentry"

Motivation
Rust features usually enable extra functionality, so the name enable-sentry is redundant.
Depends-On: #4539
Solution

Rename enable-sentry feature to sentry

This is mostly:
fastmod enable-sentry sentry

Review
@upbqdn asked for this change, it's not urgent.
But we might want PR #4539 and this PR in the same release, so there is only one set of breaking feature changes.
Reviewer Checklist

[ ] Existing tests pass

@mergifyio rebase

@upbqdn I think @mergifyio rebase was the command we were looking for a few days ago!

@mergifyio rebase


💻Free Nagasaki for Brave Browsers

QmbE5cpyMUhw4AfQWeadXvY7ijokSurzMEzVoYxUJA7ejY

Thorugh IPFS Gateway
The URL below should work, but returns a gateway error probably bacause my node is not up now.
https://smb.optgeo.org/ipfs/QmbE5cpyMUhw4AfQWeadXvY7ijokSurzMEzVoYxUJA7ejY/index.html

with ipfs scheme
ipfs://QmbE5cpyMUhw4AfQWeadXvY7ijokSurzMEzVoYxUJA7ejY/index.html?tileset=ipfs://QmbE5cpyMUhw4AfQWeadXvY7ijokSurzMEzVoYxUJA7ejY/tileset/tileset.json#32.723109/129.855218/458/71/-41

It works!

Surely it is redirecting internally

Feels like Brave is faster. I think it is because we can skip the public gateway.

Updated https://github.com/optgeo/free-nagasaki-3dtiles

#274
Closing due to lack of response, feel free to reopen later.


[SPARK-913] [CORE] log the size of each shuffle block in block manager

What changes were proposed in this pull request?
Added a log message which shows the size of the block.
How was this patch tested?
Verified it manually that this log is coming in the executor log.

Can one of the admins verify this patch?

This change doesn't match the JIRA issue title and that JIRA may be outdated since the BlockManager no longer stores or knows the sizes of shuffle blocks.

Thanks @srowen and @JoshRosen  for the details, I am closing this since the BlockManager no longer handles shuffled blocks.


SixLabors.ImageSharp 2.1.7

Type: Missing
Summary:
SixLabors.ImageSharp 2.1.7
Details:
Add Apache-2.0 License
Resolution:
License Url:
https://github.com/SixLabors/ImageSharp/tree/v2.1.7?tab=License-1-ov-file
AND
https://www.nuget.org/packages/SixLabors.ImageSharp/2.1.7#readme-body-tab
Description:
I'm creating this PR in hopes of expediting the harvesting and license definition process for this new version of the library. I have attempted to harvest the new patch (2.1.7) through the ClearlyDefined website, but I was unable to see any updates occur with regards to the tool recognizing this new version.
Please note that as of version 3+ of ImageSharp, they have changed their licensing model into a split license model.
However, all version 2.1.x versions of the library are still licensed under Apache-2.0. You can find more details about this on their repository.
Version 2.1.7 is a backported patch applied on 2.1.6. There was a security vulnerability with the library which they have fixed in newer versions and have backported to 2.1.x.
SixLabors.ImageSharp 2.1.7

@AE49 Is there something I can do to get this PR merged in?


channel

Cookbook version
[Version of the cookbook where you are encountering the issue]
Chef-client version
[Version of chef-client in your environment]
Platform Details
[Operating system distribution and release version. Cloud provider if running in the cloud]
Scenario:
[What you are trying to achieve and you can't?]
Steps to Reproduce:
[If you are filing an issue what are the things we need to do in order to repro your problem? How are you using this cookbook or any resources it includes?]
Expected Result:
[What are you expecting to happen as the consequence of above reproduction steps?]
Actual Result:
[What actually happens after the reproduction steps? Include the error output or a link to a gist if possible.]

You haven't provided any information here, so I'm going to go ahead and close this issue. If you do have an issue that you need to report, please do update the information and reopen.


Prefix

i cant see the prefix whats the default one?

It's...
just .

It wont allow me to create it and get one to create the Dashboard and that


ganglia: explicitly specify path to apr

Ganglia could not find apr library by default on CentOS 6.7

[x] Have you checked to ensure there aren't other open Pull Requests for the same update/change?
[x] Have you built your formula locally prior to submission with brew install <formula>?

Merged. Thanks for your contribution, Arseny.


Where is fewshot placed in doc_to_text?

For example, in MMLU doc_to_text default to
"{{question.strip()}}\nA. {{choices[0]}}\nB. {{choices[1]}}\nC. {{choices[2]}}\nD. {{choices[3]}}\nAnswer:"

If I set num_fewshot > 0, where is the fewshot located? Is it prepended before doc_to_text? What if I want to add it at the middle?
My doc_to_text for MMLU will be
"User: {{question.strip()}}\nA. {{choices[0]}}\nB. {{choices[1]}}\nC. {{choices[2]}}\nD. {{choices[3]}}\nAnswer:<|end_of_turn|>Assistant:"

which means fewshot must be put after User: and can not be before it. So, how to add fewshot here?

So, my parameter will be like this?
description: "User: "
doc_to_text: "{{question.strip()}}\nA. {{choices[0]}}\nB. {{choices[1]}}\nC. {{choices[2]}}\nD. {{choices[3]}}\nAnswer:<|end_of_turn|>Assistant:"

That’s correct!

Thank you. I will close it as completed.


many file descriptors

Hi,
when I create one agent in the system 6 file descriptors are reserved. Could you please advise if I do it correctly and if so, is there any way to control descriptors in case there is a limit in the system (I am using a server that has a limit per user). Thanks!!!

An example https://github.com/Ellariel/mangotest/

Hello @Ellariel, yeah this is correct. Every agent has its own scheduler, which contains a process executor for scheduling process tasks, this executor seems to open the file descriptors on initialization. I agree that this is a rather bad behavior. I changed this behavior such that the fd are only opened if process tasks are created, see PR #71


Keycloak setup/config instructions needed

Documentation needs to be updated to include steps on configuring the chat application along with Keycloak setup.

Project has reached EOL


Drop Python 3.3 and crash installation on unsupported versions of Python

Fixes issue https://github.com/CloverHealth/pytest-pgsql/issues/4 and drops support for Python 3.3.
The manual version check in setup.py is unfortunately necessary for versions of pip before 9.0, as described in this warning on python.org.
@wesleykendall

@dargueta this LGTM. If you are good to go, I'll deploy. Do you want a minor or patch version bump?

Judging from the FAQ here it should probably be a minor version bump.

@wesleykendall I think you can close issue #4 now BTW.


After we complete the assessment the screen is not exiting.

Describe the bug
Once we complete the assessment at the end screen it says "click on the screen to exit" but here even if we click it will not exit from the app.
To Reproduce
Steps to reproduce the behavior:

Complete the assessment and go to the end screen.
Try to click on the screen to exit.

Screenshots

Smartphone (please complete the following information):

Device: MI Note 6 pro
OS: Android 9

This issue is fixed.


[microNPU] Added various options to the cascader

This PR adds multiple options to the cascader. One option is to toggle multi-dimensional striping and it is disabled by default. The reasoning is that exploring striping in more than 1 dimension has a very high computational cost.
The remainder of the options are aimed towards developers/debugging and are prefixed with dev_. The options are exposed to tvmc. It also introduces the ability to dump information about the cascader proposals to a .json file.

@mbaret @manupa-arm @ekalda @lhutton1 @dchauhan-arm @NicolaLancellotti

Replaced by: https://github.com/apache/tvm/pull/10509


Bank / GE - filter button

Feature as suggested here: https://github.com/runelite/runelite/issues/14848#issue-1199120329

Closing because this feature is not in scope for now.


Hide the timer during the affective task

Chinmai reported that the participants relied on the timer to synchronize their taps instead of establishing their own tapping rhythm. We should consider hiding the timer from the participants to ensure that they rely on each other for timing their taps.

No longer relevant


carstate cleanup

We generally don't merge this kind of stylistic cleanup. These choices are up to the original author, and if necessary, we'll request changes when it's still in a PR.


Added prometheus monitoring.

Coverage decreased (-21.0%) to 67.901% when pulling 64e8e1171faef1329e5b38069df78db607042c17 on monitoring/prometheus into cf23f23eb20c1c0cebba023cb02af0301687f362 on master.

Yikes. That put a dent in coverage.


fix bug in logging username

This PR is to pick up the change in upstream https://github.com/apache/incubator-airflow/pull/3438 and https://github.com/apache/incubator-airflow/pull/3508 for addressing the problem of bug in logging username.

Codecov Report

Merging #92 into data-platform-upgrade will increase coverage by 0.01%.
The diff coverage is 100%.

@@                   Coverage Diff                    @@
##           data-platform-upgrade     #92      +/-   ##
========================================================
+ Coverage                  68.88%   68.9%   +0.01%
========================================================
  Files                        142     142
  Lines                      11200   11200
========================================================
+ Hits                        7715    7717       +2
+ Misses                      3485    3483       -2

Impacted Files
Coverage Δ

airflow/www/utils.py
80.62% <100%> (+0.77%)
:arrow_up:

airflow/www/views.py
69.25% <100%> (ø)
:arrow_up:

airflow/models.py
86.39% <0%> (+0.04%)
: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 ffa3e07...655e3f5. Read the comment docs.

@lyft/dp-tools-viz

👍


Fix docs builds on RTD

Moved any openforcefield imports from the global to the local scope to avoid having a docs dependance on openeye.

Waiting on Travis to accept.


Use Msgpack encoded Bytes instead of JSON to transfer data

If RPC call give bytes as response, it may not be JSON serializable in some languages.
So, we should use msgpack instead of JSON.
Current schema
request(method: String!, params: JSON, connection: Connection): JSON!

Proposed Schema
request(method: String!, params: Bytes!, connection: Connection): Bytes!

hey @Niraj-Kamdar I think that since the request method is just an JSON-RPC call to an Ethereum node, it makes sense to return JSON. If a method's response is in bytes, those bytes will be received as string

That's not true for every implementation. Checkout web3.py

That's not true for every implementation. Checkout web3.py

can you be more specific about what should I check? I've seen & used the library but I am not sure what you mean exactly

call eth_getTransactionReceipt RPC method and try to stringify the result. You can do this by invoking request method which will fail.


assertion failed: DUK_HEAPHDR_GET_REFCOUNT(duk__h) > 0  in duk_hobject_refcount_finalize_norz

Duk version:
Checked revision: 4ba1c99c
Build command: make dukd

OS:
Ubuntu 17.10, x86_64

Test case:
Duktape.Thread.resume(Duktape.Thread(function() {}))

Backtrace:
*** FATAL ERROR: assertion failed: DUK_HEAPHDR_GET_REFCOUNT(duk__h) > 0 (duk_heap_refcount.c:85)
t
Program received signal SIGSEGV, Segmentation fault.
0x0000555555559025 in duk_default_fatal_handler (
    msg=msg@entry=0x55555593b140 "assertion failed: DUK_HEAPHDR_GET_REFCOUNT(duk__h) > 0 (duk_heap_refcount.c:85)", udata=0x0)
    at duk_error_macros.c:119
119	duk_error_macros.c: No such file or directory.
(gdb) bt
#0  0x0000555555559025 in duk_default_fatal_handler (
    msg=msg@entry=0x55555593b140 "assertion failed: DUK_HEAPHDR_GET_REFCOUNT(duk__h) > 0 (duk_heap_refcount.c:85)", udata=0x0)
    at duk_error_macros.c:119
#1  0x0000555555675e40 in duk_hobject_refcount_finalize_norz (heap=<optimized out>, h=0x555555c26a10) at duk_heap_refcount.c:85
#2  0x0000555555662daf in duk__refcount_free_pending (heap=<optimized out>) at duk_heap_refcount.c:316
#3  duk__refcount_refzero_hobject (heap=0x555555c03ed0, obj=<optimized out>, skip_free_pending=1) at duk_heap_refcount.c:416
#4  0x0000555555802f41 in duk_hthread_activation_unwind_norz (thr=0x555555c284e0) at duk_hthread_stacks.c:317
#5  0x0000555555843178 in duk_hthread_terminate (thr=0x555555c284e0) at duk_hthread_misc.c:11
#6  duk__handle_return (thr=thr@entry=0x555555c284e0, entry_act=entry_act@entry=0x555555c19870) at duk_js_executor.c:1652
#7  0x0000555555569dcd in duk__js_execute_bytecode_inner (entry_act=entry_act@entry=0x555555c19870, entry_thread=<optimized out>)
    at duk_js_executor.c:4500
#8  0x000055555563fd86 in duk_js_execute_bytecode (exec_thr=exec_thr@entry=0x555555c0a5b0) at duk_js_executor.c:2897
#9  0x0000555555648cd8 in duk__handle_call_raw (thr=0x555555c0a5b0, idx_func=<optimized out>, call_flags=0) at duk_js_call.c:2197
#10 0x00005555558d19e7 in wrapped_compile_execute (ctx=ctx@entry=0x555555c0a5b0, udata=udata@entry=0x0)
    at examples/cmdline/duk_cmdline.c:301
#11 0x000055555565dac6 in duk__handle_safe_call_inner (num_stack_rets=1, idx_retbase=0, entry_thread_state=1 '\001',
    entry_curr_thread=0x0, entry_callstack_top=0, entry_valstack_bottom_byteoff=0, udata=0x0,
    func=0x5555558d1620 <wrapped_compile_execute>, thr=0x555555c0a5b0) at duk_js_call.c:2432
#12 duk_handle_safe_call (thr=0x555555c0a5b0, func=0x5555558d1620 <wrapped_compile_execute>, udata=0x0,
    num_stack_args=<optimized out>, num_stack_rets=1) at duk_js_call.c:2677
#13 0x00005555558d2b33 in handle_fh (ctx=0x555555c0a5b0, f=0x555555c28130, filename=0x7fffffffe15c "../test.js",
    bytecode_filename=0x0) at examples/cmdline/duk_cmdline.c:632
#14 0x000055555555f36f in handle_file (bytecode_filename=<optimized out>, filename=0x7fffffffe15c "../test.js", ctx=0x555555c0a5b0)
    at examples/cmdline/duk_cmdline.c:691
#15 main (argc=2, argv=0x7fffffffdd78) at examples/cmdline/duk_cmdline.c:1465

Found by Fuzzinator.

Confirmed, thanks (again!) @renatahodovan.

Labeled 'security' because causes a segfault with assertions disabled.

Curious why this segfaults, is it because the Thread object goes out of scope and gets GC’d?

cool method. Is it like american loop test?

@wenq1 if the question is targeted at me, then: the bug was found, minimized, and reported by a fuzzing framework called Fuzzinator, running one of my own fuzzers.

@renatahodovan yes it is an interesting tool. I was referring to AFL (http://lcamtuf.coredump.cx/afl/) which I came across recently. Fuzzinator seems to be a similar tool?

How did you (semi-)randomly choose what to test? I.e. why was "Duktape.Thread.resume(Duktape.Thread(function() {}))" chosen?

@wenq1 Fuzzinator is a framework that can drive fuzzing sessions with arbitrary SUTs (like Duktape) and test generators (like grammarinator). This means that Fuzzinator runs and monitors Duktape, asks new test cases from the choosen generator and saves/reports the found issues, but the test cases are produced by the external test generators.
The generator that created the test case above is called JSProFuzz which is basically a JavaScript API fuzzer. It's not open-source yet, but you can read about it here.
AFL is different from Fuzzinator since it's a framework & generator in a single tool. Which makes it easier to use out of the box but harder to customize the generator.

@renatahodovan thanks for the answer.

I think I've diagnosed the cause, in short:

When the function () {} returns, the newly created thread terminates. This is handled using a longjmp to the bytecode executor.
The bytecode executor unwinds the initial thread's activation for Duktape.Thread.resume(). This activation held the only reference to the resumed thread and it gets freed (in the frame for Duktape.Thread.resume()).
The bytecode executor then tries to finalize the thread's book-keeping, using a stale reference.

There are several ways to fix this, e.g. by ensuring that the lifetime extends to the termination or by making heap->curr_thread a refcounted reference. I'll open up a pull for some fix later on.


Add extraArgs to store spec

Q
A

Bug fix?
no

New feature?
yes

API breaks?
no

Deprecations?
no

Related tickets
implements https://github.com/banzaicloud/thanos-operator/issues/70, indirectly.

License
Apache 2.0

What's in this PR?

Adds an "extraArgs" field to the store gateway spec, so that users can pass arbitrary flags to thanos-store.
Why?

Additional context

I am not particularly up to date with operator development, and am not sure I've done this the right way. I ran make genall after making my change. This generated some docs. Is this the right sort of thing to do, or are there steps or considerations I've missed?
Checklist

[ ] Code meets the Developer Guide
[ ] User guide and development docs updated (if needed)
[ ] Related Helm chart(s) updated (if needed)

To Do

[ ] If the PR is not complete but you want to discuss the approach, list what remains to be done here

Sorry we haven't been responsing to this so far! I beleive we've added all the missing arguments to the StoreGateway API type and a bit against supporting arbitrary flags, but in case you would still need this, we can consider adding them to all workloads to be consistent.
Feel free to open an issue, I'm closing this.


ion-refresher flash on pull

Ionic version:  (check one with "x")
[ ] 1.x
[ *] 2.x
I'm submitting a ...  (check one with "x")
[ *] bug report
[ ] feature request
[ ] support request => Please do not submit support requests here, use one of these channels: https://forum.ionicframework.com/ or http://ionicworldwide.herokuapp.com/
Current behavior:
If you pull a few pixels on a refresher, I am finding the whole screen is flashing. Literally a couple of pixels down, very very slowly. If you pull fast, you get over this bump with no flash, so it does not happen all the time as most users pull faster.
Happens on device (IOS), not android, not browser / ionic serve.
Happens Ionic View and directly on device.
Expected behavior:
No Flash
Steps to reproduce:
Slightly struggling with creating something that can be simply reproduced (although I can reproduce on ipad and iphone).
Probably I will need to create an app you can put to device, to see this yourself.
Other information:
I have a feeling its
https://github.com/driftyco/ionic/issues/7507
that has come back.
My current research has excluded anything I am doing (to the extent I can)
I appreciate this issue is light on information.
Its really a holding issue remarking that it was seen (and addressed) in 7507 but refactoring / new adjustments has brought it back. (or its something new, that sounds the same)
Was really hoping you could remember what fixed 7507 and see if somehow that was taken out in the last 6 months.
Ionic info: (run ionic info from a terminal/cmd prompt and paste output below):
Cordova CLI: 6.5.0
Ionic Framework Version: 2.0.1
Ionic CLI Version: 2.1.18
Ionic App Lib Version: 2.1.9
Ionic App Scripts Version: 1.0.0
ios-deploy version: 1.9.0
ios-sim version: 5.0.11
OS: macOS Sierra
Node Version: v6.9.1
Xcode version: Xcode 8.2 Build version 8C38

Maybe provide a short video which demonstrates it for further understanding

OK so I have half addressed this by adding the following CSS
ion-refresher {
  -webkit-transform: translate3d(0,0,0);
  -webkit-backface-visibility: hidden;

  // For some unknown reason, benefits from having a background colour specifically set
  &.refresher-active {
    background-color: transparent;
  }

}

Not perfect, not even really OK, but certainly better (i.e. flickers less often)
Also, with overflow:hidden on div.scroll-content never get a flicker..... but, er, can't scroll either!
Think we are up against performance optimisation challenges here rather than something specifically "wrong" somewhere. As such, may be a hard one to resolve.


add test for click on no-size link

I propose to close this one and merge #882

@vinogradoff yes, this is what I meant. Thanks mate


Recommended way to load wget-downloaded data using HF datasets API?

I downloaded the data following the instruction here. Is there a recommended way that I can load it via HF API similar to this?

Hi @zijwang , my guess is that you can use the RPv2 data loader script here and modify the _URL_BASE variable to match the base directory on your filesystem. You should then be able to pass your data loading script to datasets.load_dataset (here is an explanation about this).


Scott Felske Calculator kata

Just a couple things to clean up.

Need a few more tests. You're only ever testing to see that the result is an Integer. I need to see some tests around actual expected values (e.g. 2+2 should equal 4).
Please make sure you add a test for division by 0. This will cause you to add some code for exception handling.

Please make those changes and I will re-grade.


Show tests execution result in super chat

Get tests execution result in RunTestCollectionAsync and pass it into TestsFixure instance

@karb0f0s Thank you for the PR. I removed showing percentage in results because they are kinda wrong.
For example, if there are 10 tests in 2 collections, the framework doesn't give us enough info to calculate the percentages correctly.
Actual Execution Results

Collection A

3 passed

Collection B

1 passed
1 skipped
1 failed
4 not executed

Summary from xUnit
Total: 10
Skipped: 1
Failed: 1
Missing Info
Passed: ?
Not Executed: ?
(Maybe this comment could go as a feature request on xUnit repo)


CAMEL-18590 - Camel-Azure components: Define a unique configuration for authentication - Azure Files

Description

Target

[x] I checked that the commit is targeting the correct branch (note that Camel 3 uses camel-3.x, whereas Camel 4 uses the main branch)

Tracking

[x] If this is a large change, bug fix, or code improvement, I checked there is a JIRA issue filed for the change (usually before you start working on it).

Apache Camel coding standards and style

[x] I checked that each commit in the pull request has a meaningful subject line and body.

[x] I have run mvn clean install -DskipTests locally and I have committed all auto-generated changes

/component-test azure


Knowledge graph base for your information model

At its heart, what you seem to be building here is a knowledge graph with known and as yet unknown end members. I'd encourage thinking about it this way, building a conceptual model for the graph, and then instantiating it as the glue that holds everything together.

At its heart, what you seem to be building here is a knowledge graph with known and as yet unknown end members. I'd encourage thinking about it this way, building a conceptual model for the graph, and then instantiating it as the glue that holds everything together.

Can you think of any stellar (or interstellar) examples of such conceptual models. There was one provided today in the DevOps meeting by Xenity, but seemed more architechturally detailed than we require.

@skybristol  pinging you again to clarify this


Quality of life updates

Updates prod to latest ref

I truly don't know what's going on with this confilcts to be honest

I fixed it somehow


hotfix: close received after close

waitCloseHandshake waits for client to respond with close frame but handleControl receives it and writes close again which may cause errors for some clients.
This is dump solution but it works in my case. I believe it can be done better, pls check it out.
Fixes: #448

I noticed more clever solution so ignore this one


Tests: Add ugly integration test for Reports\Full

The class does not really have individually testable components.  This is not great, but it's something.
The Full report ignores the $phpcsFile argument, so it's easy to mock. Other reports would require a more complicated setup to test.
The test data has been generated from a file simple.php as follows:
<?php

    // This is a space indented line.
    $a = 10;
	// This is a tab indented line.

…using the following command for the output:
phpcs simple.php --basepath=. --report=full --tab-width=4 --no-colors --standard=generic

…and adding this snippet in generateFileReport() for the input:
var_export($report);

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

[ ] This change is only breaking for integrators, not for external standards or end-users.

[ ] Documentation improvement

PR checklist

[x] I have checked there is no other PR open for the same change.
[x] I have read the Contribution Guidelines.
[x] I grant the project the right to include and distribute the code under the BSD-3-Clause license (and I have the right to grant these rights).
[x] I have added tests to cover my changes.
[x] I have verified that the code complies with the projects coding standards.
[ ] [Required for new sniffs] I have added XML documentation for the sniff.

I could add some more test cases, but I thought I'd submit this first to see what you think about this kind of test.


decorator: Handle invalid JSON in api_key_only_webhook_view.

Exception logging within api_key_only_webhook_view fails when
ValueError is raised if the request.body passed to ujson.loads
isn't valid JSON. In this case, we now just convert the payload
to a string and log that. This allows us to inspect JSON payloads
that aren't being decoded properly.

Automated message from Dropbox CLA bot
@eeshangarg, it looks like you've already signed the Dropbox CLA. Thanks!

I think we should probably add a test for this code path, with a sample request with an empty body.  That (and addressing the comment above) can be a follow-up project, though.

@timabbott: Cool, I agree! I'll add tests and address your comment. :) Thanks for the review!

The tests are somewhat verbose, but this works.


Replace text parsing methods with python-datacatalog

In GitLab by @nwalczak on Aug 26, 2019, 12:01
Right now, I parse a document's parent directory and title to determine the challenge_problem, experiment_reference, and experiment_reference_url properties.  These should really be retrieved using the map_experiment_reference function defined in python-datacatalog.

In GitLab by @nwalczak on Sep 4, 2019, 08:56
created branch 96-replace-text-parsing-methods-with-python-datacatalog

In GitLab by @nwalczak on Sep 4, 2019, 08:56
mentioned in merge request !44

In GitLab by @nwalczak on Sep 4, 2019, 11:51
closed via commit f529437379ac961d8a2ee35e414ea5834493353b

In GitLab by @nwalczak on Sep 4, 2019, 11:51
closed via merge request !44

In GitLab by @nwalczak on Sep 5, 2019, 10:21
mentioned in commit f529437379ac961d8a2ee35e414ea5834493353b


Write test cases: 45% < statement/line coverage

#10

Educational material

I guess Jest does not support Image component but I have not found anything about this yet.
import React from "react";
import { render } from "react-native-testing-library";
import { shallow } from "enzyme";
import ViewShot from "react-native-view-shot";
import { Image } from "react-native";
import PlaceHolder from "../PlaceHolder";

test(`PlaceHolder`, () => {
  const viewShot = React.createRef<ViewShot>();
  const onImageLoad = () => {
    viewShot.capture().then((uri) => {
      console.log("do something with ", uri);
    });
  };
  render(
    <ViewShot ref={viewShot}>
      <PlaceHolder text={"test"} onLoad={onImageLoad}></PlaceHolder>
    </ViewShot>
  );
});

I close it now but I am going to continue until we reach 75 percent!


Sanitize CSV before exporting

The export logic does not check to make sure the data written is valid CSV data.

This is now fixed.


Make integration tests faster

We currently build containers for each push, but perhaps we should separate out those steps and push containers to GHCR (specifically the SPDK container) to make things faster. Worth discussing on this issue how we want to do this.

Related to #73


linkResource returns Spine.SerializerError.topLevelEntryMissing

I have a profile model like that:
class Profile: Resource {
    // ...
    var followers: LinkedResourceCollection?
    var followees: LinkedResourceCollection?
    // ...

    override class var resourceType: ResourceType {
        return "profiles"
    }

    override class var fields: [Field] {
        return fieldsFromDictionary([
            // ...
            "followers": ToManyRelationship(Profile.self),
            "followees": ToManyRelationship(Profile.self)
            // ...
        ])
    }
}

Now if I have two profiles, which are already saved, and I want to link them together (so profile1 starts following profile2), I get a Spine.SerializerError.topLevelEntryMissing.
// ...

// Try to link profile2 into the followees to-many-relationship of profile1
profile1.followees?.linkResource(profile2)

SpineHelper.sharedInstance.spine.save(profile).onSuccess(callback: { (profile) in
    print("Linked...")
}).onFailure(callback: { (error) in
    print("******* ERROR *******")
    print(error)
})

The result is always the same:

******* ERROR *******
serializerError(Spine.SerializerError.topLevelEntryMissing)

Am I doing something wrong? Doing self-joined relationships should be compliant with JSONAPI as well as naming to-many-relationships other than the pluralized resource name, so Spine should support this.

Could you post the response from the server? If you enable logging Spine will output it to the console:
Spine.setLogLevel(.networking, .logDebug).

Ok I am sorry, the server responded with a wrongly rendered 500 Internal Server error and I didn't recognize it because the tests passed. This is an issue with my backend, not with Spine. Thank you for the tip.


CoreDNS: Allow to build with custom plugins

Describe the bug
CoreDNS is all about plugins. By default it builds with a list of default plugins: https://coredns.io/plugins/
But you can also include your own plugins. CoreDNS team maintains a list of optional plugins, some of them maintained by the CoreDNS team directly: https://coredns.io/explugins/
I think we should provide a way to build coredns with extra plugins. The part that looks tricky to me, is how to combine the source code for those extra plugins with buildGoModule
Notify maintainers

@rushmorem @rtreffer @deltaevo

I think we should provide a way to build coredns with extra plugins. The part that looks tricky to me, is how to combine the source code for those extra plugins with buildGoModule

Yes it would be great. Some parts is already here to do that: the service have a package attribute that let you specify an alternative package.
For now I was handling only with package overrides but it's not very user friendly, a wrapper would be nice, https://github.com/DeltaEvo/nixos-configs/blob/master/machines/oracle.nix#50

I've created a PR that aims to solve this: https://github.com/NixOS/nixpkgs/issues/14671. Do you mind taking a look and testing it?

https://github.com/NixOS/nixpkgs/pull/256710 updates @KFearsoff's PR and allows pinning a specific version of each plugin.

I think this can be closed now that @bct's PR has merged?


[wip] Experimental explorer cache

Description
Describe the changes or additions included in this PR.
Test Plan
How did you test the new or updated feature?

If your changes are not user-facing and not a breaking change, you can skip the following section. Otherwise, please indicate what changed, and then add to the Release Notes section as highlighted during the release process.
Type of Change (Check all that apply)

[ ] user-visible impact
[ ] breaking change for a client SDKs
[ ] breaking change for FNs (FN binary must upgrade)
[ ] breaking change for validators or node operators (must upgrade binaries)
[ ] breaking change for on-chain data layout
[ ] necessitate either a data wipe or data migration

Release notes

I'm not convinced that this is actually going to improve anything, so closing this out.


FluentDataGrid Enhancement: Drag and drop column reordering

🙋 Feature Request

🤔 Expected Behavior

😯 Current Behavior

💁 Possible Solution

🔦 Context

💻 Examples

Would be nice if this was an integral part of the DataGrid so a user can drag columns around to suit themselves

This is not possible with the current underlying web components.
Please use our templates when submitting issues/requests


Annotation shown as not executed in coverage report

I think the line with @override should not be reported as not executed
I'm not sure about other annotations.

Tentatively assigning to analyzer.
If it's a coverage issue, please reassign.

It is not an analyzer issue; not sure which area covers the coverage tool issues.

First would be to check if the service protocol (observatory) is reporting the correct lines here.
@johnmccutchan ?

@turnidge


CI/CD Pipeline

Fix and possibly re-vamp the existing pipeline that does checks based on a few different conditions and commit message prefixes

Unit testing and analysis should be done across runners of different platforms (linux, osx and on x86, arm, etc)


Def macros

Design and implement a language extension for Scala that would expose functionality equivalent to def macros based on the platform-independent scala.meta API.
upd. (ScalaDays San Francisco 2015) We already have a prototype of this at https://github.com/scalameta/scalahost/blob/f1a17f613e18673b570d70548837399deada7b84/tests/src/test/scala/macros/SerializerMetaJoint.scala, its inner workings are elaborated on at https://groups.google.com/forum/#!topic/scalameta/nE21r2TI8tI.
upd. (ScalaDays Berlin 2016) At ScalaDays Berlin, the question of the future of macros was very hot. I've even had to change the title of my talk to make a definitive statement (https://twitter.com/mzywiol/status/743782879566630912). The main prerequisite to implementing this issue is #436 (semantic APIs) that itself depends on a bunch of other issues. Here's a picture that displays the dependency graph for the current moment:

Superseded by https://github.com/scalamacros/scalamacros/pull/1.


Fix Windows Builds

Checklist

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

@conda-forge-admin, please rerender

@conda-forge-admin, please rerender

Note to self:
We've been having trouble getting CMake (via scikit-build) to recognize NVCC as a working compiler for Windows in the tomocupy feedstock.
It seems that the default VM image for conda-forge presently is Visual Studio 2022 [1]. However, CUDA <=11.2,>=11.0 only officially supports Visual Studio 2019,2017,2015 [2].
Although the conda-forge-pinnings still use the vs2019 conda package on x86, I don't think this actually installs Visual Studio 2019.
I'd like to have conda-smithy automatically choose the windows-2019 VM for CUDA<=11.2 instead of having to manually set it in the (undocumented?) conda-forge.yaml.
azure:
  settings_win:
    pool:
      vmImage: windows-2019

[1] https://github.com/actions/runner-images/blob/win22/20230508.3/images/win/Windows2022-Readme.md
[2] https://docs.nvidia.com/cuda/archive/11.2.2/cuda-installation-guide-microsoft-windows/index.html#system-requirements

Great. It works! Let's roll back to VS2022 as a sanity check.

Doesn't work with VS2022, but works with VS2019.


Hyprctl command to hide a monitor to a badly coded game or app

Description
A lot of games are terrible with multi monitor on Linux, even more so when you are potentially running Windows DWM in Wine -> XWayland -> Wayland a lot of odd bugs seem to crop up and even more so when the game is badly made and it's running though so many layers of abstraction. I think if there was a command like hyprctl hide-monitor <monitor ID> %command% it would make the gaming experience a lot better in many cases as a quick work around. I can use Hyprctl to disable a monitor completely, but that makes it obviously unusable. I just want the game to not know there is two monitors and only know there is one monitor, this would eliminate a lot of my need for Gamescope since I lot of times I am just using it to create a virtual display in effect to work around these issues not always but many times it's as simple as that and I can work around the issue by disabling one monitor but Gamescope is more convenient.
I'll give one example where this would be useful, Minecraft 1.8.9 last time I tried had a bug where it would render in 1920x1080 on my 1920x1200 with a blue bar at the bottom likely due to the game itself and fixed in newer versions but I've also had countless other issues. If I could just hide my monitor this could easily be worked around.
This could also allow for games that just launch on the currently focused monitor to be more programmatic, for example I only want to run Genshin Impact on my more color accurate but only 60Hz monitor since it doesn't allow for uncapped frame rate anyway without mods... MiHoYo could fix that with one intern making like 4 line change at most because it's already on iPad Pro version and available with mods that might randomly get you banned(I guess I'm already playing on Linux so already taking that risk, but still) and all the mods do is just edit like one value in the games memory. But my rant about that aside 🤦 I think this would be extremely useful functionality

can't do that with xwayland

Hm XWayland should add that then imo


Password protected keystore

Hi,
When generating a debug.keystore file, it is mandatory to define a password (which must be at least 6 characters I think).
Is there any way to define this password as an environment variable so that I can finally build automatically with his runner?
Or maybe let the docker instance create its own keystore, as it's only a debug one…
Thanks a lot

Hi,
this problem can actually be remedied in two ways:

When you don't explicitly generate the debug.keystore, Android Studio generates one for you and uses the following values:

Keystore PW: android
Alias: androiddebugkey
Key PW: android

When you use those on your manually create your debug.keystore, the tools should automatically use them. I recommend this for actually creating debug builds of your code.

For actual releases, ionic recommends different commands that are documented under http://ionicframework.com/docs/guide/publishing.html. The ionic build --release android does not sign the release, instead you'd have to use jarsigner and zipalign manually. jarsigner actually also asks you for your password and you can just use echo "keypass" | jarsigner... to have the password be entered automatically. But beware, that you should probably store that password e.g. in Gitlab's build variables instead of the code.

I'm closing this due to a lack of feedback.


Add option to click to full text

Feature Request
Is your feature request related to a problem? Please describe.
When scrolling through the articles it is not always possible to click to full text.
Describe the solution you'd like
Make sure there is a link that directs to the full text of the article.
Describe alternatives you've considered
Maybe a link to the doi, or the APA citation of the article so it is possible to look up the article manually.
Teachability, Documentation, Adoption, Migration Strategy
People that do a systematic review want to read the full text to check if the article meets the standards to include the article in their systematic review.

Dear @Sybren-UU, thank you for pointing this out to us!
We already show a hyperlink whenever the field for DOI-numbers is available. This is, however, not yet documented.