text:
Added missing setup step to README

Added Google maps API key setup info to README - you get a runtime error if it's not set.
Alternatively, we could add a new initialiser at config/initializers/dev.rb with something like:
unless Rails.env.production?
  ENV['SECRET_KEY_BASE'] = '<something>'
  ENV['GOOGLE_MAPS_API_KEY'] = ''
end

which would remove the requirement for this setup step and the SECRET_KEY_BASE step

Coverage remained the same at 99.352% when pulling bb6556be647d512746ac18da46195441ab3c0963 on broder:maps_readme into b7ad87cc8abc57a72e9f8b41979e39df50be3b5c on openfarmcc:master.

I like the act of including it in the set-up step. That way a user can identify that they might actually need one.
We should probably have a note somewhere in the developer documentation (probably on the GitHub wiki here) about the google api key. Especially if we'd automate it.
@broder as someone who's relatively new to the project, which of the two solutions would you have preferred? (the extra step in set up vs. an automated approach)

I think it's generally best to reduce the number of steps someone has to take to be able to run the project locally but either solution is fine provided that the extra steps are clearly documented (which they are 👍 ).

Cool, I added an issue so that we don't forget about it, and in the meantime, this is a good addition! Thanks @broder!

authors: broder coveralls simonv3

repo: openfarmcc/OpenFarm


text:
Feature/#108: Hosted all resources (fonts, libraries) locally, not from CDN/external hosts

This pull request relates to BOSA_0100-255 (JIRA issue) and makes sure all resources (fonts, libraries) will be hosted locally, not from CDN/external hosts.

Looks good!

source: gharchive/pull-request

authors: rutiolma smillart

repo: openfed/kiso

license_type: permissive

license_source: github-api


text:
Load GLSL shader code from an external file at compile time

I couldn't find a way to load an external shader file as a fragment/vertex source, without resorting to duplicate most of the code already existing in the ShaderMacro class.
It would be cool to have a meta tag, like @:glFragmentSourceFile(), that could be used to load an external shader file.
The benefit of this would be to separate the actual shader code from the glue code needed to run it, and this would allow specific syntax highlighters for GLSL (which can't be run for the code inside the @:glFragmentSource() string).
I wrote a PR addressing this feature request: #2597

Does this help at all? https://github.com/openfl/openfl-samples/tree/master/demos/HerokuShaders

Does this help at all? https://github.com/openfl/openfl-samples/tree/master/demos/HerokuShaders

That example if for dynamic load of shaders. The issue title should be changed to something like "... during compilation".

I updated the title and added the main benefit of this change, (allowing specific syntax highlighters for GLSL which can't be run for the code inside the @:glFragmentSource() string).

source: gharchive/issue

authors: ConfidantCommunications T1mL3arn giuppe

repo: openfl/openfl

license: mit

license_source: bigquery


text:
Migrate to RxJava 3.0

From RxJava releases page:

⚠ The 2.x version line is now in maintenance mode and will be supported only through bugfixes until February 28, 2021. No new features, behavior changes or documentation adjustments will be accepted or applied to 2.x. It is recommended to migrate to 3.x within this time period.

Blocked by https://github.com/square/retrofit/issues/3297.

With the new merge today in Retrofit version 2.9.0 this should no longer be blocked. See this StackOverflow post for implementation.

authors: AdamSHurwitz VaiTon

repo: openfoodfacts/openfoodfacts-androidapp


text:
feat: Updated the summary page

Please note that there are a lot of moving elements that are not final in this PR, specifically:

The group ordering or the attributes inside groups will change on the server
Attribute titles will change from the server
Attribute icons are still not final, and will change, currently we have 3 shades of colors that will most likely change to 5, instead of emojis we will most likely use icons.
The red panel on top of the card is currently static, it will be modified based on a new field from backend.
the styling of the Divider will change
None of the UI elements are currently final, (padding, text style, colors etc).

Please also note that this PR has a side-effect of changing the background color of the app's theme to material-light-blue from material-blue. This is in sync with the current mocks.
Example summary card:

[ ]    info • Specify type annotations • packages/smooth_app/lib/pages/product/new_product_page.dart:40:45 • always_specify_types
[ ]    info • Specify type annotations • packages/smooth_app/lib/pages/product/new_product_page.dart:239:39 • always_specify_types
[ ]    info • Avoid method calls or property accesses on a "dynamic" target • packages/smooth_app/lib/pages/product/new_product_page.dart:340:32 • avoid_dynamic_calls
[ ]   error • The method 'isAttributeImportant' isn't defined for the type 'ProductPreferences' • packages/smooth_app/lib/pages/product/new_product_page.dart:340:32 • undefined_method
[ ]    info • Avoid method calls or property accesses on a "dynamic" target • packages/smooth_app/lib/pages/product/new_product_page.dart:367:28 • avoid_dynamic_calls
[ ]   error • The method 'isAttributeImportant' isn't defined for the type 'ProductPreferences' • packages/smooth_app/lib/pages/product/new_product_page.dart:367:28 • undefined_method

repo: openfoodfacts/smooth-app


text:
[DNM] Schrodinger command tree installer

Description
Tracking changes to package build machinery for artifacts built from the schrodinger branch.
To build SFIs from this branch

Go to the package building action and select "Run Workflow", then select branch sch_tree_installer and click run
If that succeeds, a new package should be visible with the benchmark-sch label on this page
Then, run the single-file installer action, by clicking "Run Workflow", and again selecting the sch_tree_installer branch.
Once that's successfully completed, the installer will be attached to the workflow run as an artifacts (probably called ubuntu-latest-3.7.sh). This should be publicly downloadable, similar to  the one at the bottom of this page

Codecov Report

Merging #72 (eccdbd2) into master (95cbe9b) will not change coverage.
The diff coverage is n/a.

authors: codecov-io j-wags

repo: openforcefield/openff-benchmark

license: MIT


text:
Completely removed pydantic from the repo.

Description
Unfortunately pydantic has not worked out well in the use cases in this repo - namely, it is unable to be adapted in its current state to robustly handle polymorphic data. This led to awkward design patterns, a lot of work around code to handle this, and in general quite a large maintenance burden. As such, I have removed pydantic from the repo for now until a better solution can be found.
Status

[x] Ready to go

This pull request introduces 4 alerts when merging de9efd2381b2339300d1bf40bbcdb7002e36bacd into bcfdce2446f1284b27848a34a5deb992a8148524 - view on LGTM.com
new alerts:

4 for Unused import

Comment posted by LGTM.com

authors: SimonBoothroyd j-wags

repo: openforcefield/propertyestimator


text:
✨(frontend) add login stack

Purpose
Currently, to login, we use the django admin, and we use cookies. However, we want to add this functionality directly in the admin joanie
Proposal

[x] Add AuthGuard and GuestGuard
[x] Create login and register pages
[x] add AuthRepository

We close this PR because we are going to do otherwise, it is not a priority for the moment

repo: openfun/joanie


text:
Differentiate VOD and Live in the deep linking select view

Feature Request
Is your feature request related to a problem or unsupported use case? Please describe.
When adding a resource from the LMS, VOD and live both appear as "video". Teachers reported that it was not clear when we want to start a live conference and have to click on "new video". :man_shrugging:
Describe the solution you'd like
Maybe we should see VOD and live as separate resources in the deep linking select view? When creating a new VOD/live, it would also have the benefit to remove the step in which we have to choose between uploading a video or starting a live...
Describe alternatives you've considered
A minimalist solution would be to rename the resource in the select view to make it clearer. For exemple VOD/Live.

Done in #1592

authors: lunika sampaccoud

repo: openfun/marsha


text:
Improve how empty pages look

Bug Report
Expected behavior/code
Empty pages must look good. More importantly, it should be obvious how to fill them.
Actual Behavior

Courses page: the space where the video will be is an empty square
Organizations and Categories page: the space where the banner will be is an empty square

[ ] Course detail and list;
[ ] Organization detail and list;
[ ] Category detail (list is not yet stylized);
[ ] Blogpost detail and list;
[ ] Person detail (list is not yet stylized);

authors: sampaccoud sveetch

repo: openfun/richie


text:
Read required_keys from config file

As part of the move towards more flexible metadata handling we should be able to read the keys we use to create unique Datasources from a configuration file.

Store the default required_keys in a TOML file that's created in the config folder in the object store root
Allow users to create a new file with the updated keys
When we check the required keys we'll read either the default or the other file in the folder, raising an error if there's more than 2 files

We could have a simple folder structure in the object store root directory
config/
    db/                             <- can contain database specific config files / keys etc
    identifying_keys/      <- contain the files we use to create unique Datasources
    version.json              <- version of OpenGHG this config setup was created with

I don't think we should have a command line interface to set this up as it then makes it too easy for the file to be modified accidentally.
Round 2
A slightly cleaner option
config/
    db/                             <- can contain database specific config files / keys etc
        config.toml            <- database config file, currently empty
        metadata_keys.toml     <- read the required keys from here
    version.json              <- version of OpenGHG this config setup was created with

Folder structure created by OpenGHG on first run. The keys config file will then be read on standardisation.

Are you thinking that the user specified version created/modified will be by some function in openghg?
I'm not sure we need two files. Presumably there will be a default version in openghg that is copied to each object store, so the defaults could be recovered.

At the moment we have these defaults
[default_metakeys]
boundary_conditions = [ "species", "bc_input", "domain",]

eulerian_model = [ "model", "species", "date",]

flux = [ "species", "source", "domain", "database", "database_version", "model",]

footprints = [ "site", "model", "inlet", "domain", "high_time_resolution",
                "high_spatial_resolution", "short_lifetime", "species", "met_model",]

obscolumn = [ "satellite", "selection", "domain", "site", "species", "network",]

obssurface = [ "species", "site", "sampling_period", "station_long_name", "inlet",
                "instrument", "network", "source_format", "data_source", "icos_data_level", "data_type",]

authors: brendan-m-murphy gareth-j

repo: openghg/openghg


text:
Re-adding ICOS processing ability

This re-adds the processing abilit we previously had for ICOS data due to a user request.
Still need to:

[ ] Check the processing function works with Joe's data
[ ] Add further tests for that data

Codecov Report

Merging #278 (d55c3b8) into devel (2a2a8cf) will decrease coverage by 0.59%.
The diff coverage is 25.92%.

:exclamation: Current head d55c3b8 differs from pull request most recent head 290fc7a. Consider uploading reports for the commit 290fc7a to get more accurate results

@@            Coverage Diff             @@
##            devel     #278      +/-   ##
==========================================
- Coverage   78.17%   77.57%   -0.60%
==========================================
  Files         127      128       +1
  Lines        8681     8755      +74
==========================================
+ Hits         6786     6792       +6
- Misses       1895     1963      +68

Impacted Files
Coverage Δ

openghg/standardise/surface/_crds.py
88.79% <ø> (ø)

tests/standardise/surface/test_npl.py
100.00% <ø> (ø)

openghg/standardise/surface/_icos.py
6.66% <6.66%> (ø)

tests/conftest.py
75.00% <66.66%> (-1.93%)
:arrow_down:

openghg/standardise/surface/__init__.py
100.00% <100.00%> (ø)

tests/helpers/cfchecking.py
94.11% <100.00%> (-0.89%)
:arrow_down:

tests/standardise/surface/test_btt.py
100.00% <100.00%> (ø)

tests/standardise/surface/test_cranfield.py
100.00% <100.00%> (ø)

tests/standardise/surface/test_crds.py
100.00% <100.00%> (ø)

tests/standardise/surface/test_gcwerks.py
100.00% <100.00%> (ø)

... and 3 more

Continue to review full report at Codecov.

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

This closes #275.

authors: codecov-commenter gareth-j


text:
Any Fixes/Improvements before Droidcon London Release?

Droidcon London is around the corner and I was planning to cut an up to date release for the event. My plan was to cut the release once PR https://github.com/openid/OpenYOLO-Android/pull/94 had landed, but wanted to check with everyone before doing so.

Sounds good for Dashlane side, no pending PR.
Le 29 sept. 2017 19:28, David Samuelson notifications@github.com a écrit :
Droidcon London is around the corner and I was planning to cut an up to date release for the event. My plan was to cut the release once PR #94https://github.com/openid/OpenYOLO-Android/pull/94 had landed, but wanted to check with everyone before doing so.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://github.com/openid/OpenYOLO-Android/issues/95, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ACGi-wEaRV1Wjr_jwGIWyPDqNb_R7tckks5snSjKgaJpZM4Po-TF.
Disclaimer
The information contained in this communication from the sender is confidential. It is intended solely for use by the recipient and others authorized to receive it. If you are not the recipient, you are hereby notified that any disclosure, copying, distribution or taking action in relation of the contents of this information is strictly prohibited and may be unlawful.
This email has been scanned for viruses and malware, and may have been automatically archived by Mimecast Ltd, an innovator in Software as a Service (SaaS) for business. Providing a safer and more useful place for your human generated data. Specializing in; Security, archiving and compliance. To find out more visit the Mimecast website.

AgileBits is good with this as well.
Cheers,
Michael

On Sep 29, 2017, at 1:30 PM, Stan Kocken notifications@github.com wrote:
Sounds good for Dashlane side, no pending PR.
Le 29 sept. 2017 19:28, David Samuelson notifications@github.com a écrit :
Droidcon London is around the corner and I was planning to cut an up to date release for the event. My plan was to cut the release once PR #94https://github.com/openid/OpenYOLO-Android/pull/94 had landed, but wanted to check with everyone before doing so.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://github.com/openid/OpenYOLO-Android/issues/95, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ACGi-wEaRV1Wjr_jwGIWyPDqNb_R7tckks5snSjKgaJpZM4Po-TF.
Disclaimer
The information contained in this communication from the sender is confidential. It is intended solely for use by the recipient and others authorized to receive it. If you are not the recipient, you are hereby notified that any disclosure, copying, distribution or taking action in relation of the contents of this information is strictly prohibited and may be unlawful.
This email has been scanned for viruses and malware, and may have been automatically archived by Mimecast Ltd, an innovator in Software as a Service (SaaS) for business. Providing a safer and more useful place for your human generated data. Specializing in; Security, archiving and compliance. To find out more visit the Mimecast website.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub https://github.com/openid/OpenYOLO-Android/issues/95#issuecomment-333188254, or mute the thread https://github.com/notifications/unsubscribe-auth/AISh76FL2UQLmw8QBQPo2CfO565tQen9ks5snSkagaJpZM4Po-TF.

If anyone else has comments, please feel free to re-open.

authors: StanKocken dxslly nerdyverde

repo: openid/OpenYOLO-Android


text:
Many images have just one bounding box for a class that in reality has multiple instances on that image

For example this image:

It has multiple chairs, but only one of them has bounding box.
Is it how it was classified or was it done intentionally?

@samihaija Sami, can you please comment on this?

Ivan, thank you for the mention!
The above is intentional, assuming the image came from the training partition. We only have one box per image per entity, for the training set. However, for the validation set, we tried to have all instances boxed.

@samihaija @rkrasin  thank you.
@samihaija I'm not a big expert in object detection algorithms, but my first guess would be that a neural network that is learning on this data will be penalized while training. It predicts multiple chairs, but the training data has only one and my guess would be that when it predicts YES and the training data says it NO, when in reality it's YES, the network will be penalized for such predictions.
It much more a question than statement, as I am not sure.
What do you think, could be a problem?

I looked at the loss function of YOLO

And it seems like absence of bounding box for image when in reality it should be will affect the loss function on line 4. And it's interesting what was the reasoning behind making only one bounding box for openimages.

I am curious about this method also. @lamerman @samihaija any updates about this?

Does someone has an explanation concerning the fact that training data contains only one bounding box instead of all boxes ?
As a result, this dataset cannot be used to train object detection algorithm ?

because of this, Yolo does not train well with this dataset.

@dashesy hi, do you try any other detection algorithm ( like faster rcnn, ssd ) with openimages dataset? I try to train faster rcnn with mxnet with openimages, but I have many problems when preprocessing the dataset.

@dashesy hi, do you try any other detection algorithm ( like faster rcnn, ssd ) with openimages dataset? I try to train faster rcnn with mxnet with openimages, but I have many problems when preprocessing the dataset.

Further, a lot of images have missing labels. Is this problem fixable?

authors: dashesy dbrazey kevinsu628 lamerman phdung rkrasin samihaija ys707221924

repo: openimages/dataset


text:
[Other]: Please clarify the License compiled with this project

What would you like to share?
To promote the usage of this project by more organizations, it is essential to clearly define the license agreement that this project follows. By doing so, potential users can understand the rights and permissions associated with the software. This clarity also allows organizations to confidently assess the compatibility of the license with their own projects and make informed decisions about incorporating this project into their systems.
Currently, both openim-server and openim-sdk-core rely on this project. Is it possible for this project to adopt the Apache License, just like the previous two?
Therefore, I highly recommend to explicitly state the open-source license that applies to this project.
Additional information
No response

I think it's still Apache. Thank you for your advice

Thanks for the quick response.   I would like to create a PR to add this license if you don't mind.

@trevorwang of course

authors: cubxxw trevorwang

repo: openimsdk/protocol


text:
Kraken Playground App扫码之后背景色是黑色 看不到内容

Kraken Playground App扫码之后背景色是黑色 看不到内容

1、可能码地址中的js bundle有问题，导致无法解析

1、可能码地址中的js bundle有问题，导致无法解析
2、可能码地址不可达，被防火墙拦了

用的官网给的码：https://openkraken.com/guide/basic/style

我看 playground 的源代码中已经解决了这个问题。
你拿源码重新编译一下能解决了。

@andycall  这个修复的版本发布 APP 了吗？

authors: LittleMoonkk answershuto cnryb

repo: openkraken/kraken


text:
Draw and modify interaction interoperability

The current "Draw and modify feature" example has (at least) two little issues:
If the geometry point of the draw interaction is set to points, and if you get close to an existing geometry, you will see two points: The point of the draw interaction and the snapped sketching point of the modify interaction. To only show one point, the idea came up of using something like a dontHandleMapBrowserEvent function, so that the modify interaction will stop the event and the draw interaction can remove its point.
But this only partly solves the problem. The expected behavior would be like this:
I am close to a line, the point is snapped to the line and I only see one point. Now, I start dragging the point and the existing line is modified. But then also, if I see the snapped point on the line, and I click, I would expect that the new point is created at the position of the snapped point. But for this, the draw interaction would have to know about the snapped point of the modify interaction.
The other issue is when drawing a line or polygon. Let's say I started a line, get close to an existing geometry and see the snapped point. Now, when I start dragging, I can modify the existing geometry, and after that continue drawing the line. Modifying should be disabled while drawing a line or polygon.
To realize the described behavior, modify and draw must be tightly coupled. So maybe it would make sense to combine the two interactions into one. And this interaction would support snapping to existing geometries when drawing new points.

Want to back this issue? Place a bounty on it! We accept bounties via Bountysource.

I've found several other issues with this, but have got round them by making sure that the draw and modify interactions are not active at the same time - the user is using either one or the other. Are there situations where you need to use both at once?

I've found several other issues with this, but have got round them by making sure that the draw and modify interactions are not active at the same time - the user is using either one or the other.

That's what we usually do as well. In this ticket I just wanted to document the issues that exist with the modify-draw example.

The main issue I found with this example is deleting a vertex on a linestring. The source mentions that the modify interaction is configured with shift-click to delete, but the problem is that the draw interaction thinks a click means draw a new line, so the example deletes the vertex correctly, but also starts a new line. These issues go away if the example is changed to have modify as a selection in the dropdown: you can either draw or modify, not both at the same time. ISTM this is the common use case. If there are situations where you need both active at the same time, then you need to make sure the events are differentiated so that each interaction knows which events it needs to handle. This should be documented somewhere (not sure where).

authors: probins tsauerwein


text:
Make sure icons show up in Safari

Make sure that drawImage calls don't exceed source image dimensions.
Fixed #4337 thanks to @ahocevar for his help on this one.

Thanks for the additional rendering tests. Only one minor comment above.
Please merge when Travis is happy.

authors: ahocevar bartvde


text:
Freehand drawing on map ends by itself after start drawing.

Describe the bug
Freehand drawing on map ends by itself after start drawing.
To Reproduce
Steps to reproduce the behavior:

https://openlayers.org/en/latest/examples/draw-freehand.html?q=draw
go in developer tools, mobile view
try to draw

Expected behavior
it should stop drawing when touch is done.
I already found a way to fix this issue:
touch-action: None;
seems to be removed in mobile view.

@ar-rahimi I have this bug on real mobile devices only, but not when using the developer tools in latest Firefox for example.
I managed to reproduce the bug only in Chrome for Android (v 80.0.3987.162), it's working well in Firefox for Android.

authors: ar-rahimi jalik

repo: openlayers/openlayers


text:
image rendered VectorTile scaling issue regression with 6.5.0

Describe the bug
The old bug #11464 seems to be here again with 6.5.0.
To Reproduce
Steps to reproduce the behavior: See #11464
Observed with Firefox. Workaround of setting pixelratio to 1 nor removing the setting does not help.
Expected behavior
Street names on vector rendered image layer in the right place.

I don't think this issue ever got fixed.

I don't think this issue ever got fixed.

Actually this is a different issue. This time, it has nothing to do with the device pixel ratio, but with fractional zooming.

Actually this is a different issue. This time, it has nothing to do with the device pixel ratio, but with fractional zooming.

authors: ahocevar t-muko


text:
Select interaction not firing with multiple vector layers

Describe the bug
I have created a polygon in a Feature which is within a vector layer, I also have an additional VectorTile layer on the map, however, if the VectorTile layer and Polygon Feature overlap then the Polygon Feature cannot be selected.
The image shows the two layers, and the red arrow points to where the cursor would click. It seems to be that the VectorTile layer is sitting on top of the Feature Layer.
If I hide the VectorTile Layer then the Polygon Feature can be selected easily. I have set the zIndexes of both layers, the code below is for the marker and attaching it to the map.
The expected outcome should simple being able to select the Feature, even when there is a VectorTile below on a different layer.

    const marker = new Feature({
      type: 'Polygon',
      geometry: new Polygon(polygon)
        .transform('EPSG:4326', 'EPSG:3857'),
    });

    const markers = new VectorSource({
      features: [marker],
      useSpatialIndex: true,
      wrapX: false,
    });

    const defaultPolygonStyle = new Style({
      fill: new Fill({
        color: 'rgba(255, 255, 255, 0.2)',
      }),
      stroke: new Stroke({
        color: '#ffcc33',
        width: 5,
      }),
    });

    markerVectorLayer = new VectorLayer({
      zIndex: 20,
      source: markers,
      className: 'Polygon',
      renderBuffer: 1e10,
      style: defaultPolygonStyle,
    });

    const select = new Select({
      multi: false,
      layers: [markerVectorLayer],
      hitTolerance: 50,
    });

    const modify = new Modify({
      source: markers,
      features: select.getFeatures(),
      wrapX: false,
      pixelTolerance: 80,
      hitDetection: true,
      snapToPointer: true,
      insertVertexCondition() {
        // prevent new vertices to be added to the polygons
        return !select
          .getFeatures()
          .getArray()
          .every((feature: any) => feature
            .getGeometry()
            .getType()
            .match(/Polygon/));
      },
    });

    map?.addInteraction(select);
    map?.addInteraction(modify);

Can you provide a runnable example that shows the problem, e.g. by modifying one of the examples on https://openlayers.org/en/latest/examples with the "Edit" button?

authors: ahocevar sandeepincode


text:
ol-mapbox-style

Describe the bug
Since v8, ol-mapbox-style is set as a dev dependency. https://github.com/openlayers/openlayers/blob/c7969f5255edd8cbe5ece89ab026fe0f6f69cef1/package.json#L95
Although, into the upgrade notes but you now refer to ol-mapbox-style to create MapboxVectorLayer.
Expected behavior
Does ol-mapbox-style is not suppose to be a peer dependency?

The package.json of the repository is different from the one of the npm package. The ol package does not depend on ol-mapbox-style, and recent versions of ol-mapbox-style have ol as peer dependency.

But it depended on it in version 7.4.0. See this screenshot below from distributed package.json of ol-v7.4.0 vs ol-v8.1.0

Yes, that‘s correct. Removing it (because it was a circular dependency of ol/layer/MapboxVector was a breaking change, hence the major release bump to v8.

It was not clear to us that this dependency was removed when reading the release note. But that suits us and we will continue our test with this new version, thanks to the entire OL team

To avoid a circular dependency between the ol and ol-mapbox-style packages, this layer has been removed. If you have been using ol/layer/MapboxVector, you can easily switch to using MapboxVectorLayer from the ol-mapbox-style package, version 11 or greater.

authors: ahocevar alecarn pelord


text:
Improvements, that I'd like to see...

Till this moment I used OL2 and now I'm moving my application to OL3. Here are some features that I'd like to see in new versions:

ol.source.Vector dont have method removeFeatures, but has addFeatures
I can set opacity for ol.style.Icon , but cant change Icon src (setSrc?).
I didn't found how to set title for feature (or for icon, as graphicTitle in OL2 )

All of the above can already be done. Using various methods on other objects, sometimes. We are alwaxs open to reconsidering the API, though. We'll maybe talk this through... and whi knws, maybe we'll add some convnience functions here and there.
I think we'll leave this issue open for a while.

ol.source.Vector dont have method removeFeatures, but has addFeatures

Does the removeFeature() method help? Or clear()? Note that frequent additions and removal of features can get inefficient with the default configuration, because the spatial index gets updated every time. If you want to add and remove bulks of features, you may want to configure your source like this:
var source = new ol.source.Vector({
  spatialIndex: false,
  features: new ol.Collection()
});

Then you can use source.getFeatures() to get the features collection, and modify it with standard ol.Collection methods.

I can set opacity for ol.style.Icon , but cant change Icon src (setSrc?).

That could be added, but it should be more efficient to create an  ol.style.Icon once for each of your images, and reuse it whenever you use the same image.

I didn't found how to set title for feature (or for icon, as graphicTitle in OL2 )

You may want to have a look at this fiddle: http://jsfiddle.net/uarf1888/.

Closing due to lack of activity.

authors: ahocevar antonad fredj marcjansen


text:
[MLS Spec change] More aasvg usage (#625)

Link to the exact changes
https://github.com/mlswg/mls-protocol/pull/625
Description of the changes

Continuing to convert more figures to SVG.
The remaining ascii-art figures are that way for two reasons:

Trees with blank nodes _ render poorly with aasvg.  Replacements for the _ character, like -, don't do much better.
The diagram showing the reuse guard application benefits from the byte-by-byte markers

Editorial.

repo: openmls/openmls


text:
IllegalStateException in Parser

java.lang.IllegalStateException: Invalid input:  b>.
at org.opennars.main.Nar.addInput (Nar.java:276)
at org.opennars.gui.input.TextInputPanel$NarseseInput.evaluateSeq (TextInputPanel.java:276)
at org.opennars.gui.input.TextInputPanel$NarseseInput$1.run (TextInputPanel.java:220)
at org.opennars.gui.input.TextInputPanel$ReactionPanel$1$1.run (TextInputPanel.java:402)
at java.awt.event.InvocationEvent.dispatch (InvocationEvent.java:313)
at java.awt.EventQueue.dispatchEventImpl (EventQueue.java:770)
at java.awt.EventQueue.access$600 (EventQueue.java:97)
at java.awt.EventQueue$4.run (EventQueue.java:721)
at java.awt.EventQueue$4.run (EventQueue.java:715)
at java.security.AccessController.doPrivileged (Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege (ProtectionDomain.java:87)
at java.awt.EventQueue.dispatchEvent (EventQueue.java:740)
at java.awt.EventDispatchThread.pumpOneEventForFilters (EventDispatchThread.java:203)
at java.awt.EventDispatchThread.pumpEventsForFilter (EventDispatchThread.java:124)
at java.awt.EventDispatchThread.pumpEventsForHierarchy (EventDispatchThread.java:113)
at java.awt.EventDispatchThread.pumpEvents (EventDispatchThread.java:109)
at java.awt.EventDispatchThread.pumpEvents (EventDispatchThread.java:101)
at java.awt.EventDispatchThread.run (EventDispatchThread.java:90)
Caused by: org.opennars.io.Narsese$InvalidInputException: invalid statement: topRelation(s) < 0
at org.opennars.io.Narsese.parseStatement (Narsese.java:445)
at org.opennars.io.Narsese.parseTerm (Narsese.java:342)
at org.opennars.io.Narsese.parseTask (Narsese.java:134)
at org.opennars.main.Nar.addInput (Nar.java:274)
at org.opennars.gui.input.TextInputPanel$NarseseInput.evaluateSeq (TextInputPanel.java:276)
at org.opennars.gui.input.TextInputPanel$NarseseInput$1.run (TextInputPanel.java:220)
at org.opennars.gui.input.TextInputPanel$ReactionPanel$1$1.run (TextInputPanel.java:402)
at java.awt.event.InvocationEvent.dispatch (InvocationEvent.java:313)
at java.awt.EventQueue.dispatchEventImpl (EventQueue.java:770)
at java.awt.EventQueue.access$600 (EventQueue.java:97)
at java.awt.EventQueue$4.run (EventQueue.java:721)
at java.awt.EventQueue$4.run (EventQueue.java:715)
at java.security.AccessController.doPrivileged (Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege (ProtectionDomain.java:87)
at java.awt.EventQueue.dispatchEvent (EventQueue.java:740)
at java.awt.EventDispatchThread.pumpOneEventForFilters (EventDispatchThread.java:203)
at java.awt.EventDispatchThread.pumpEventsForFilter (EventDispatchThread.java:124)
at java.awt.EventDispatchThread.pumpEventsForHierarchy (EventDispatchThread.java:113)
at java.awt.EventDispatchThread.pumpEvents (EventDispatchThread.java:109)
at java.awt.EventDispatchThread.pumpEvents (EventDispatchThread.java:101)
at java.awt.EventDispatchThread.run (EventDispatchThread.java:90)

https://github.com/opennars/opennars/pull/303 fixes this

reopened as nobody merged the PR yet..

closed, as I assume it will be merged when other devs are around again.

repo: opennars/opennars


text:
Remove some Py2-specific code

#977 dropped Python 2 from the OPS 2.0 test matrix. In the process, some code lost coverage. Here I remove the Py2-specific code for most of that (except netcdfplus, which I'm not worrying about since it will also be dropped in 2.0).
There's one line where I don't immediately understand how it lost coverage:
https://github.com/openpathsampling/openpathsampling/blob/6ff2cbbf615928c031896e1d719217d2087fa940/openpathsampling/engines/dynamics_engine.py#L256
This is in an instance test against basestring, but basestring is str for Py3+ (we set it at the top of the file). Any idea why that's not getting covered? (particularly @sroet)
Note that this PR is not intended to drop all Py2-related code -- there's more to do on that. This is just catching the things that lost coverage when Py2 left the test matrix.

Are you sure that one is not flaky?
But looking at the code, shouldn't that always (assuming str) be cought by line 225 into 251?
225                     if type(my_options[variable]) is type(default_value):

251                        else:
                                okay_options[variable] = my_options[variable]

What input type  do you expect to be a subclass of str without being a str?

What input type do you expect to be a subclass of str without being a str?

Yeah, that's it. Py 2.7 had str and unicode that inherited from basestring.
I removed that line and all references to basestring from that file.

This is ready for review and comment. I will leave it open for at least 24 hours, merging no earlier than Tue 23 Feb 14:00 GMT (15:00 local).

authors: dwhswenson sroet

repo: openpathsampling/openpathsampling


text:
Skip PluginCard if width too small

This should resolve openplanet-nl/issues#338
Recreating the issue produces the following log output:
[   ScriptRuntime] [19:02:43] [PluginManager]  Script exception: Divide by zero
[   ScriptRuntime] [19:02:43] [PluginManager]    D:\Epic\TrackmaniaNext\Openplanet/Plugins/PluginManager/src/Interface/Controls/PluginCard.as (line 18, column 4)
[   ScriptRuntime] [19:02:43] [PluginManager]      #0  void Controls::PluginCard(PluginInfo@ plugin, float width) (D:\Epic\TrackmaniaNext\Openplanet/Plugins/PluginManager/src/Interface/Controls/PluginCard.as line 18)
[   ScriptRuntime] [19:02:43] [PluginManager]      #1  void PluginListTab::Render() (D:\Epic\TrackmaniaNext\Openplanet/Plugins/PluginManager/src/Interface/Tabs/PluginList.as line 181)
[   ScriptRuntime] [19:02:43] [PluginManager]      #2  void InstalledTab::Render() (D:\Epic\TrackmaniaNext\Openplanet/Plugins/PluginManager/src/Interface/Tabs/Installed.as line 59)
[   ScriptRuntime] [19:02:43] [PluginManager]      #3  void Window::RenderTabContents(Tab@ tab) (D:\Epic\TrackmaniaNext\Openplanet/Plugins/PluginManager/src/Interface/Window.as line 32)
[   ScriptRuntime] [19:02:43] [PluginManager]      #4  void Window::Render() (D:\Epic\TrackmaniaNext\Openplanet/Plugins/PluginManager/src/Interface/Window.as line 81)
[   ScriptRuntime] [19:02:43] [PluginManager]      #5  void RenderInterface() (D:\Epic\TrackmaniaNext\Openplanet/Plugins/PluginManager/src/main.as line 27)
[   ScriptRuntime] [19:02:43]  Unrolling dangling script UI stack: D:\Epic\TrackmaniaNext\Openplanet/Plugins/PluginManager/src/Interface/Controls/PluginCard.as line 9
[   ScriptRuntime] [19:02:43]  Unrolling dangling script UI stack: D:\Epic\TrackmaniaNext\Openplanet/Plugins/PluginManager/src/Interface/Tabs/PluginList.as line 175
[   ScriptRuntime] [19:02:43]  Unrolling dangling script UI stack: D:\Epic\TrackmaniaNext\Openplanet/Plugins/PluginManager/src/Interface/Window.as line 31
[   ScriptRuntime] [19:02:43]  Unrolling dangling script UI stack: D:\Epic\TrackmaniaNext\Openplanet/Plugins/PluginManager/src/Interface/Window.as line 79
[   ScriptRuntime] [19:02:43]  Unrolling dangling script UI stack: D:\Epic\TrackmaniaNext\Openplanet/Plugins/PluginManager/src/Interface/Tab.as line 15
[   ScriptRuntime] [19:02:43]  Unrolling dangling script UI stack: D:\Epic\TrackmaniaNext\Openplanet/Plugins/PluginManager/src/Interface/Tab.as line 14
[   ScriptRuntime] [19:02:43]  Unrolling dangling script UI stack: D:\Epic\TrackmaniaNext\Openplanet/Plugins/PluginManager/src/Interface/Tab.as line 13
[   ScriptRuntime] [19:02:43]  Unrolling dangling script UI stack: D:\Epic\TrackmaniaNext\Openplanet/Plugins/PluginManager/src/Interface/Window.as line 59
[   ScriptRuntime] [19:02:43]  Unrolling dangling script UI stack: D:\Epic\TrackmaniaNext\Openplanet/Plugins/PluginManager/src/Interface/Window.as line 51
[   ScriptRuntime] [19:02:43]  Unrolling dangling script UI stack: D:\Epic\TrackmaniaNext\Openplanet/Plugins/PluginManager/src/Interface/Tab.as line 15
[   ScriptRuntime] [19:02:43]  Unrolling dangling script UI stack: D:\Epic\TrackmaniaNext\Openplanet/Plugins/PluginManager/src/Interface/Tab.as line 14
[   ScriptRuntime] [19:02:43]  Unrolling dangling script UI stack: D:\Epic\TrackmaniaNext\Openplanet/Plugins/PluginManager/src/Interface/Tab.as line 13
[   ScriptRuntime] [19:02:43]  Unrolling dangling script UI stack: D:\Epic\TrackmaniaNext\Openplanet/Plugins/PluginManager/src/Interface/Window.as line 44

As a result of this change, when the plugin manager window becomes very thin all the plugin cards disappear.
Before they disappear:

After they disappear (slightly thinner):

Thank you! 🎉

authors: codecat skybaks

repo: openplanet-nl/plugin-manager


text:
[openrr-apps][openrr-client][openrr-command] support multiple speakers

This is still in development.
Support multiple speakers with robot command.
Attention: This PR will change default behaviors of openrr_apps_robot_command
Before
openrr_apps_robot_command -c <config> speak <message>

After
openrr_apps_robot_command -c <config> speak <name> <message>

TODO:

add PrintSpeaker as a default.

There is an example config for multiple speakers as openrr-apps/config/sample_robot_client_config_for_urdf_viz_with_multiple_speaker.toml.
You can run Print, Audio, Command speakers by launching urdf-viz with sample-robot and
/target/debug/openrr_apps_robot_command -c ./openrr-apps/config/sample_robot_client_config_for_urdf_viz.toml speak print hoge
/target/debug/openrr_apps_robot_command -c ./openrr-apps/config/sample_robot_client_config_for_urdf_viz.toml speak command hoge
/target/debug/openrr_apps_robot_command -c ./openrr-apps/config/sample_robot_client_config_for_urdf_viz.toml speak audio sine

repo: openrr/openrr


text:
Test race condition for Plugin unit test

When testing in fast machines, there seems to be an annoying race condition in the unit test of Plugin mixin.

Something similar seems to happen with the integration test of test/integration/open-scd.test.ts when making the snapshot.
I sometimes get this difference when the snapshot is made.
      -    <oscd-plugin186320cdd626e422 class="plugin validator">
      +    <oscd-plugin186320cdd626e422 class="plugin">
or
      -    <oscd-pluginb15ea127292dd242 class="menu plugin">
      +    <oscd-pluginb15ea127292dd242 class="plugin">

authors: JakobVogelsang dlabordus

repo: openscd/open-scd


text:
<Vmware/VRO> Functionality Test Automation

What this PR does / why we need it:
Functionality test automation and unit tests for maximum coverage of VRO Plugin code.
This is the first set of Test files for VRO. This includes only execution of Plugin functionalities. Assertion of result is not included in this. As of now Assertion is Manual step.
Special notes for your reviewer:
ReadME.txt is to help users to create test setup.
Config.properties is the required credentials and opensds config information to execute tests.
Coverage for entire VRO is around 68% , and if you exclude core code and include only plugin services then we ave a coverage of >80%
Test Report:

@NajmudheenCT merge conflicts.

@NajmudheenCT merge conflicts.

done

authors: NajmudheenCT skdwriting

repo: opensds/nbp


text:
Add CSI driver to simplify storage orchestration for cloud-native apps

Background
The general goal of CSI is to define an industry standard “Container Storage Interface” that will enable storage vendors (SP) to develop a plugin once and have it work across a number of container orchestration (CO) systems.
Motivation
Currently it's difficult for CO to find where the volume is distributed in multi-plugins co-existing scenario. For example, there exist two CSI plugins (Ceph and Cinder) in two nodes, firstly CO create a volume in Ceph Controller Plugin, then when CO wants to publish this volume, it has no idea which plugin should call because itself doesn't perceive plugin info.
The second problem we met is that there is not so many storage advanced features (snapshot, backup, replication, etc) in CO, which results in the inconsistency of capability between CO and storage systems.
Solution
After some discussion, we find that OpenSDS is the best solution for solving all problems above, and most importantly it doesn't change a line of code in current COs.
For more information, please refer to: https://docs.google.com/presentation/d/1wn0msm129-kVrTc-890kCmlpPbAm-qNgXmX_EZ8HjQI/edit?usp=sharing
More suggestions are welcomed : )

I will move the deadline of this patch  to next release, because we have to publish the release recently.

What's the status of this PR?

Currently it's pending.

@xing-yang @leonwanghui this looks to be a very old PR. Can we close this PR?

@leonwanghui I'm going to close this PR now as it has been stale for a year.  Please re-open if you need to work on it again.  Thanks.

authors: leonwanghui skdwriting xing-yang

repo: opensds/opensds


text:
org.opensearch.upgrades.FullClusterRestartIT.testEmptyShard

I can see current gradle failures happening due to this issue.
Failure trace
REPRODUCE WITH: ./gradlew ':qa:full-cluster-restart:v1.4.0#oldClusterTest' --tests "org.opensearch.upgrades.FullClusterRestartIT.testEmptyShard" -Dtests.seed=CFDACBBA3F54FD83 -Dtests.security.manager=true -Dtests.jvm.argline="-XX:TieredStopAtLevel=1 -XX:ReservedCodeCacheSize=64m" -Dtests.locale=is -Dtests.timezone=Asia/Almaty -Druntime.java=17

org.opensearch.upgrades.FullClusterRestartIT > testEmptyShard FAILED
    org.opensearch.client.WarningFailureException: method [PUT], host [http://[::1]:33109], URI [/test_empty_shard], status line [HTTP/1.1 200 OK]
    Warnings: [Translog retention settings [index.translog.retention.age] and [index.translog.retention.size] are deprecated and effectively ignored. They will be removed in a future version.]
    {"acknowledged":true,"shards_acknowledged":true,"index":"test_empty_shard"}
        at __randomizedtesting.SeedInfo.seed([CFDACBBA3F54FD83:83A11C62C36DD216]:0)
        at app//org.opensearch.client.RestClient.convertResponse(RestClient.java:346)
        at app//org.opensearch.client.RestClient.performRequest(RestClient.java:320)
        at app//org.opensearch.client.RestClient.performRequest(RestClient.java:295)
        at app//org.opensearch.test.rest.OpenSearchRestTestCase.createIndex(OpenSearchRestTestCase.java:973)
        at app//org.opensearch.test.rest.OpenSearchRestTestCase.createIndex(OpenSearchRestTestCase.java:956)
        at app//org.opensearch.test.rest.OpenSearchRestTestCase.createIndex(OpenSearchRestTestCase.java:952)
        at app//org.opensearch.upgrades.FullClusterRestartIT.testEmptyShard(FullClusterRestartIT.java:670)

❌   Gradle Check failure https://github.com/opensearch-project/OpenSearch/commit/c5141ef5ea6e20f736fc8781b44e3bb44bd93315
Log 3234
Reports 3234

Hey @dreamer-89. This looks like a duplicate of https://github.com/opensearch-project/OpenSearch/issues/2359.

Thanks @owaiskazi19 for pointing out. Closing this in favour of #2359

repo: opensearch-project/OpenSearch


text:
[BUG] The playground/LiveDemo seems to be down at playground.opensearch.org

Describe the bug
The LiveDemo site doesn't seem to work. If I visit https://playground.opensearch.org I see a red banner saying 'OpenSearch Dashboards did not load properly. Check the server output for more information.'
To Reproduce

Go to https://playground.opensearch.org
See error

Screenshots

Host/Environment (please complete the following information):

OS: N/A
Version (whatever you have deployed)

@opensearch-project/triage please move this to the OpenSearch-Dashboards repo.
@atleta I was unable to repro this error, and https://playground.opensearch.org/ operates correctly for me. Perhaps some more information would help us debug:

What browser (and version) are you using?
Would it be possible to post a dump or screenshot of the browser's console output?

works fine for me

@atleta this message comes when the OSD is getting started. This should be a transient issue and should get resolved after some time automatically when OpenSearch Dashboard is started properly.

@atleta according to the screenshot, it seems like that transient issue, we saw <2 minutes transient issue.
@opensearch-project/triage could you please move this bug to the dashboards-anywhere repo? Thanks

In other such cases, it can also be due to an ad blocker which is blocking requests.

I'm still seeing it. I didn't name browser, because the error message said to check the server logs. But it's firefox v110.0. Looking at the console revealed that one of your scripts was blocked by Ghostery:

After allowing it it started to work. I don't know if this is a case that you can detect as not being a server side error, but the error message is pretty misleading.

the error message is pretty misleading.

@Flyingliuhub / @joshuarrrr before I close this issue, can we make any changes on the Dashboards side to improve the error message?

We have an open issue for this in https://github.com/opensearch-project/OpenSearch-Dashboards/issues/3181 and https://github.com/opensearch-project/OpenSearch-Dashboards/issues/974
I've added context here as to why this is the case and and some possible solutions to fix it: https://github.com/opensearch-project/OpenSearch-Dashboards/issues/3181#issuecomment-1376792917

authors: Flyingliuhub ashwin-pc atleta joshuarrrr kartg navneet1v zhongnansu


text:
Add indexRandomForConcurrentSearch to tests

Add indexRandomForConcurrentSearch to tests:

CardinalityWithRequestBreakerIT.java
TopHitsIT.java
SearchFieldsIT.java
DecayFunctionScoreIT.java
FunctionScoreFieldValueIT.java
FunctionScoreIT.java
FunctionScorePluginIT.java
QueryRescorerIT.java

Check List

[x] New functionality includes testing.

[x] All tests pass

[x] New functionality has been documented.

[x] New functionality has javadoc added

[x] Failing checks are inspected and point to the corresponding known issue(s) (See: Troubleshooting Failing Builds)
[x] Commits are signed per the DCO using --signoff
[x] Commit changes are listed out in CHANGELOG.md file (See: Changelog)
[x] Public documentation issue/PR created

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

❕ Gradle check result for 27cb5cd: UNSTABLE

TEST FAILURES:

      1 org.opensearch.cluster.allocation.AwarenessAllocationIT.testThreeZoneOneReplicaWithForceZoneValueAndLoadAwareness

Please review all flaky tests that succeeded after retry and create an issue if one does not already exist to track the flaky failure.

Existing issue: https://github.com/opensearch-project/OpenSearch/issues/3603


text:
analysis-common: make UniqueTokenFilter public

Description
this way the filter can also be used from plugins which implement analyzers and want to use it.
the current workaround is that the plugin has to implement the usage from it in a package with the same name, which is just an ugly hack.
Related Issues
no issue, but see this discussion on slack.
Check List
(none applicable)

[ ] Functionality includes testing.
[ ] API changes companion pull request created, if applicable.
[ ] Public documentation issue/PR created, if applicable.

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

i checked: this is the only *Filter i could find in analysis-common, everything else are analyzers (already public) or factories (also public).
i intentionally didn't add this to the changelog as i don't think that it's noteworthy, so the skip-changelog label would be nice :)

This seems reasonable to me. @reta @msfroh Any objections to making this class public?

This is not anything that needs to be annotated with @PublicApi or something like that?

This is not anything that needs to be annotated with @PublicApi or something like that?

none of the factories & analyzers in analysis-common are annotated with this either, so i presume not?

❌ Gradle check result for 4c77270: null
Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure a flaky test unrelated to your change?

gradle check seems to have run into a bug in the implementation?

[..]
Workflow running status :true
Still running, wait for another 30 seconds before checking again, max timeout 7200
Jenkins Workflow Url: https://build.ci.opensearch.org/job/gradle-check/40689/
time pass: 3180
parse error: Invalid numeric literal at line 1, column 7
Workflow running status :Attempt 1/10 failed. The jq processing failed with exit code: 4. Retrying...
true
Complete the run, checking results now......
Please check jenkins url for logs: https://build.ci.opensearch.org/job/gradle-check/40689/
Result: null

the actual jenkins build itself succeeded:

Finished: SUCCESS

the only issue i found about this is #13210, but that's closed with the comment "Looks like Jenkins crashed" which isn't the case here.

@dblock Currently we only use those annotations within the :server module.

This seems reasonable to me. @reta @msfroh Any objections to making this class public?

I understand the issue but I want to point out that nonetheless all *Factory are public, all constructors, including the UniqueTokenFilter are still package private. How does making the class public help?

i missed the constructor, thanks for pointing that out @reta!🤦
i've now made it public here and tested with my plugin that i can use it successfully (via deployToMavenLocal for the time being).
i've still just made the constructor public for UniqueTokenFilter - i guess if/when this is needed for the other classes it can be done there as well.

i've still just made the constructor public for UniqueTokenFilter - i guess if/when this is needed for the other classes it can be done there as well.

@rursprung now I do have questions (sorry): what prevents you from copying UniqueTokenFilter to your plugin? I understand that reuse is often better but I believe in this case we just expose yet another class which we would have to  maintain as a public API,  I am -1 to that.

@rursprung now I do have questions (sorry): what prevents you from copying UniqueTokenFilter to your plugin? I understand that reuse is often better but I believe in this case we just expose yet another class which we would have to maintain as a public API, I am -1 to that.

i think it already (sort-of) is a public API as it can be referenced from JSON (OS docs just mention it in a list, ES docs go into more details).
copying it would IMHO be the worse solution - esp. since i very much hope that the plugin i'm building will end up in opensearch-project anyway, so it'll have the same maintainers 😄
then i'd rather just say "screw it, let's just have duplicate tokens" (i don't think it actually has any real adverse effect? we're not talking about hundreds of duplicate tokens but 1-2 per field with that tokenizer) or "screw it, let's add a class in the same package to circumvent it".

copying it would IMHO be the worse solution - esp

we are trully talking about ~50 lines of code with no external deps

copying it would IMHO be the worse solution - esp. since i very much hope that the plugin i'm building will end up in opensearch-project anyway, so it'll have the same maintainers 😄

what happens will happen and when happen, the impl is going to adapt to that

@rursprung I think you're arguing that this class is truly reusable functionality (API). What are the reasons? If it didn't exist, would you want to add its code to OpenSearch core and subclass it?

@rursprung I think you're arguing that this class is truly reusable functionality (API). What are the reasons? If it didn't exist, would you want to add its code to OpenSearch core and subclass it in your plugin?

i've been thinking about this for a while and i think it depends on the answer to the following questions: does the order of the tokens have any impact on matching (speed), score or anything else? and what's the impact of having the same token more than once?
because in my implementation i anyway have all tokens at once in a List - if the order is not relevant i can just use a Set instead and be done with it. then we can abandon this PR. even if the order were important i could use a LinkedHashSet. so most likely this would be good enough either way?
the advantage of using this filter here would be that it'd maybe make it more visible from the outside what's happening (though arguably it might also be a downside as using the tokenizer directly would then mean that you still get duplicate tokens).

I am out of my depth on the token-specific questions, let's try to get help from @msfroh?

pinging @msfroh to maybe get a feedback?

Hey -- sorry! I only just figured out how to enable @ notifications that rise above the flood of general GitHub activity email. I'll take a look at this tomorrow morning.

So, I'm not a huge fan of taking a dependency on a module, just from a dependency management standpoint. If we want to make something available for reuse, I would move into something under /libs. I don't think any of the existing libraries really apply, though. Maybe a dedicated library for "OpenSearch Lucene components that haven't been pushed down into Lucene"?
Regarding this specific token filter, I was thinking "Why is this useful?". Lucene has RemoveDuplicatesTokenFilter, which I think UniqueTokenFilter copied and modified. The distinction is that RemoveDuplicatesTokenFilter only discards repeated tokens in the same position (which could pop up under some synonym expansions, maybe some cases with NGramTokenFilter if the same substring occurs multiple times, I think), whereas UniqueTokenFilter will drop duplicates across the whole stream. There was a little bit of discussion on the solr-user mailing list about this almost 10 years ago: https://lists.apache.org/thread/7kdrjqzr76f8cytdfg3zg1yhlo3zogtz. The relevant reply from Walter Underwood was:

Why is that useful? It breaks phrase search.
If you want to ignore term frequency in ranking, change the Similarity class.

I can kind of see his point. If you don't want to keep track of all the positions where a term occurs, and you don't care how often the term occurs, you could set "index_options":"docs" for the field. That pushes the problem down to Lucene, which only writes one copy of each term per segment anyway, but (with the default "index_options":"positions") would otherwise keep track of the positions and frequency of repeated occurrences.
So, I guess my real question is "Why do you need this specific token filter?". It looks like it was something added to Elasticsearch back in 2011, but where the Lucene/Solr community didn't think it was a good idea. I'm inclined to agree with the Lucene/Solr folks of the day. If anything, I would be more inclined mark this token filter for deprecation and removal. (The "good" use is already covered by the remove_duplicates filter.)
I would go back and check the Slack conversation, but we just crossed the 3-month retention window. (I can see your messages blurred behind the "Upgrade to Slack Pro!" banner.)

thanks for your reply, @msfroh!

I would go back and check the Slack conversation, but we just crossed the 3-month retention window. (I can see your messages blurred behind the "Upgrade to Slack Pro!" banner.)

i have the relevant links in my first reply on this issue:

i will need it in the upcoming opensearch-phone-number-analyzer (#11326), see the hack done in elasticsearch-phone to work around this.

as mentioned in this comment i've now implemented a version which just does the filtering by using a Set instead of a List: https://github.com/opensearch-project/OpenSearch/issues/11326#issuecomment-2191145538
this way no dependency is needed, but i don't know how "nice"/"clean" this is from a Lucene/OS point of view?

Aha! Got it.
From a Lucene standpoint, I don't think deduping is really necessary. Given that the tokens also don't seem to have/need a particular position (or at least all of the ngrams should probably share a position), you could set the PositionIncrementAttribute to 0. Then RemoveDuplicatesTokenFilter would deduplicate any repeated tokens.

Incidentally, I would absolutely add your analyzer to the analysis-common module.

no longer required based on the feedback received here. thanks everyone!
see #15915 for the new approach :)

authors: andrross dblock msfroh reta rursprung


text:
[Backport] Adding EntityType to Comment Model (#671)

adding entityType to Comment model

updated tests

removing EntityType enum class, entity type in documents will just be strings

fixed unit tests

adding tests and release notes

moved comment test to WriteableTests

updated writeable test

Description
[Describe what this change achieves]
Issues Resolved
[List any issues this PR will resolve]
Check List

[ ] New functionality includes testing.

[ ] All tests pass

[ ] New functionality has been documented.

[ ] New functionality has javadoc added

[ ] Commits are signed per the DCO using --signoff

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

Closing in favor of #683

authors: jowg-amazon toepkerd

repo: opensearch-project/common-utils


text:
[DOC] Port Documentation wrong (9250 for CCS)

What do you want to do?

[x] Request a change to existing documentation
[ ] Add new documentation
[x] Report a technical problem with the documentation
[ ] Other

Tell us about your request. Provide a summary of the request and all versions that are affected.
https://opensearch.org/docs/latest/install-and-configure/install-opensearch/index/#network-requirements
Lists 9250 as required Port for Cross Cluster Search. IMHO CCS uses 9300.
I think the error comes from this doc: https://opensearch.org/docs/1.1/security-plugin/access-control/cross-cluster-search/
There 9250 got listed but gets mapped internally to 9300.
What other resources are available? Provide links to related issues, POCs, steps for testing, etc.

I believe you are right, @HenryTheSir. Do you want to create a PR that updates the doc?

Hi,
I linked a PR which removes 9250 and adds CCS to 9300.
best regards

9250 port in network requirement is defintinely wrong. Thanks for fixing this.
Just wanted to clarify, In the cross cluster search documentation, the 9250 port is mapped to 9200 port of 2nd node(i.e. opensearch-ccs-node2). Not really related to cross cluster search as such.

9250 port in network requirement is defintinely wrong. Thanks for fixing this.
Just wanted to clarify, In the cross cluster search documentation, the 9250 port is mapped to 9200 port of 2nd node(i.e. opensearch-ccs-node2). Not really related to cross cluster search as such.

@ankitkala - Are the port numbers here correct?

9250 port in network requirement is defintinely wrong. Thanks for fixing this.
Just wanted to clarify, In the cross cluster search documentation, the 9250 port is mapped to 9200 port of 2nd node(i.e. opensearch-ccs-node2). Not really related to cross cluster search as such.

@ankitkala - Are the port numbers here correct?

The port numbers are correct as per the include sample docker configuration.

authors: HenryTheSir ankitkala hdhalter


text:
Add metric and stat entity

Signed-off-by: Vijayan Balasubramanian balasvij@amazon.com
Description
Add metric and stat entity
Issues Resolved
#53
Check List

[x] Commits are signed per the DCO using --signoff

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

Codecov Report

Merging #54 (5c1da12) into main (910108d) will decrease coverage by 0.48%.
The diff coverage is 91.25%.

@@             Coverage Diff              @@
##               main      #54      +/-   ##
============================================
- Coverage     88.82%   88.33%   -0.49%
- Complexity      102      119      +17
============================================
  Files            15       18       +3
  Lines           331      403      +72
  Branches         27       29       +2
============================================
+ Hits            294      356      +62
- Misses           33       43      +10
  Partials          4        4

Impacted Files
Coverage Δ

...n/upload/geojson/UploadGeoJSONTransportAction.java
0.00% <ø> (ø)

...rch/geospatial/action/upload/geojson/Uploader.java
90.74% <80.00%> (-9.26%)
:arrow_down:

...l/action/upload/geojson/UploadGeoJSONResponse.java
86.48% <86.48%> (ø)

...nsearch/geospatial/action/upload/UploadMetric.java
100.00% <100.00%> (ø)

...ensearch/geospatial/action/upload/UploadStats.java
100.00% <100.00%> (ø)

...ial/action/upload/geojson/UploadGeoJSONAction.java
100.00% <100.00%> (ø)

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 93df8c1...5c1da12. Read the comment docs.

authors: VijayanB codecov-commenter

repo: opensearch-project/geospatial


text:
Bulk allocate objects for nmslib index creation

Description
For nmslib, we need to allocate objects that wrap vectors with metadata. This PR updates the objects to be allocated in one buffer as opposed to allocating objects individually. This was shown to prevent memory fragmentation.
For this change, I ran the same experiments as were run for #772 and they showed significant improvements in the RSS of the process after the indexing workload was run.

Configuration
RSS beginning (KB)
RSS after indexing (KB)
Vectors Indexed (vectors)

nmslib-default (baseline)
8984748
11125772
648500

nmslib with bulk update
8972132
9439540
628000

Specifically, the change in RSS decreases by about 78% with this change in the experiment above.
In addition to this, fix bug in CMakeLists.txt file preventing unit tests from being created.
Issues Resolved
#772
Check List

[X] Commits are signed as per the DCO using --signoff

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

Codecov Report

Merging #773 (4c72bf9) into main (78c4f65) will not change coverage.
The diff coverage is n/a.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@            Coverage Diff            @@
##               main     #773   +/-   ##
=========================================
  Coverage     85.40%   85.40%
  Complexity     1084     1084
=========================================
  Files           151      151
  Lines          4370     4370
  Branches        390      390
=========================================
  Hits           3732     3732
  Misses          463      463
  Partials        175      175

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

Failure on windows related to: https://github.com/opensearch-project/OpenSearch/pull/7080. Please review

Let's make sure that we run the perf tests to see how much gain we are getting.

repo: opensearch-project/k-NN


text:
applying multi-tenancy and sdkclient implementation for config api + master key

Description
[applying multi-tenancy and sdkclient implementation for config api + master key]
Issues Resolved
[List any issues this PR will resolve]
Check List

[ ] New functionality includes testing.

[ ] All tests pass

[ ] New functionality has been documented.

[ ] New functionality has javadoc added

[ ] Commits are signed per the DCO using --signoff

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

Is master key required per tenant?
can a single master key be reused across all tenants?

Master key per tenant will reduce the blast radius from the security POV. IF we want to use single master key, that master key will be static which doesn't add much value IMO.

Does the master key details needs to be exposed through getConfig API?

Not necessarily. But this config index also being used to store the root agent ID.

Can a different encryptor implementation be used if master key need not be stored in config index?

Could you please give an example? I was mostly focusing to keep the code consistent here.

repo: opensearch-project/ml-commons


text:
fix: better exception message

Description
Fixes two logging issues

(for logging Id instead of docid) Suppose a user has a target field that has "3.3" the expected behavior is to throw an exception saying that [3.3] is not numerical This makes it very difficult to understand why It didn't rerank. In this commit it provides the class of the mapping used to rerank to let the user now why it went wrong.
(for explicitly calling out the type) The previous logging used docId to be able to tell the user where in the search hit the error occured. The problem is that docId is not guaranteed in every document however _id is.Instead this commit makes sure that it uses getId() instead of docID(). Previously if you had indexed your document and then used docId it would return -1 when it had no direct document field.

Testing

./gradlew spotlessApply
./gradlew integTest
./gradlew test to check UT

Why this occurred?

(for logging Id instead of docid) Various types of testing was provided however for each sample data I was forced to provide a documentId on creating a searchHit thus a logical docId was chosen.
(for explicitly calling out the type) previously my only edge case would be if they provided a non numerical string. It ddint occur to me that someone may want to provide something like "3.3" to add on when it outputs it will say [3.3] is not a number instead where it could have been ["3.3"] is not a number.

Related Issues

Check List

[X] New functionality includes testing.
[ ] New functionality has been documented.
[ ] API changes companion pull request created.
[ ] Commits are signed per the DCO using --signoff.
[ ] Public documentation issue/PR created.

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

2. (for explicitly calling out the type) The previous logging used docId to be able to tell the user where in the search hit the error occured. The problem is that docId is not guaranteed in every document however _id is.Instead this commit makes sure that it uses getId() instead of docID(). Previously if you had indexed your document and then used docId it would return -1 when it had no direct document field.

Thanks for creating this PR. Can you provide a few examples so that I can better understand the nuance between getId() and docID()?

can you please check that this will work when the _source is disabled, just want to make sure docId is not affected but that setting

@brianf-aws is this still work in progress?

Hey @martin-gaievski I paused on this mainly because we mentioned this was not urgent. I am not sure what time I should prioritize this, what are your thoughts?

I don't think it's high priority, how about we close the PR for now, and then reopen once you have bandwidth for it? Let me know if you have objects/concerns

Sounds good, thanks for understanding

Hey everyone I want to reopen this PR and work on it, I should have more bandwidth with the holidays coming up.

Good to see this reopened @brianf-aws, please let us know once it's ready for review

@brianf-aws Is there any update? We can help you if you came across some challenges.

Apologies for the delay I introduced a new commit that addresses previous review comments and adds String parsing. Thank you for your patience :)

authors: brianf-aws martin-gaievski yuye-aws

repo: opensearch-project/neural-search