Spatial averaging over a polygon - roadmap discussion

Description

Propose strategy to compute spatial averages over a polygon. Needs to account for non-uniform grid area and partial overlap, holes in polygons.
Options discussed so far:

conservative regriding using ESMPy.
rioxarray

Document below experience with both approaches, testing, benchmarks, etc.

I'm interested in this discussion.
For regular grids I thought of subsampling each grid point 10 x 10 times, apply contains and then coarsen the grid again. This should yield a precision of about 1%.
For irregular grids I don't have an idea...

Hi @mathause,
Please do chime in.

@huard Wouldn't this be better discussed in https://github.com/roocs/clisops?

@Zeitsperre  not a bad idea. So let me write here the conclusions of the little review I did:
I looked at many python package providing geospatial tools for xarray datasets and realized that there aren't many. Of all studied packages, rioxarray was found to be the most complete, but even then, it did not provide the features wanted in this issue and was lacking many features useful for xclim-users. As such, clisops seems the best option for going on with xclim-useful geospatial tools. Thus, #508.
As more specifically for spatial averages over a polygon, no other xarray-compatible package offer the feature. There is an implementation in ocgis and it looks like ESMF could do it, pending implementations in ESMFpy and xESMF. However, methods suggest by myself in internal discussions seem easier to implement and would be fit for clisops. I suggest we close this issue and reopen an new one in clisops discussing these.

In my mind the the most complete methodology would be to approach this more as a GIS analysis.
Assuming we have (or can derive) the 4 corners of each grid point we can:

Create a polygon layer of the model grid via geopandas or shapely
Intersect the grid polygon layer from step 1 with the subset polygon(s) (see https://geopandas.org/set_operations.html)
Reproject the interesected layer and calculate areas using an appropriate area conserving projection (https://en.wikipedia.org/wiki/Map_projection#Equal-area ... potential here to have as user input)
Use intersected polygons areas to derive weights for weighted spatial averaging

This should work for both irregular and regular grids..  biggest challenge (as often is the case) is likely dealing with irregular grid cells that cross the -180,180 longitude or are near the poles.
This could also potentially be computationally 'long' depending in grid resolution and spatial domain (e.g. 1km over the entire globe?) in which case we might like to have different options

I agree completely. What I tried and presented last time was mainly that without 3. It should be easy to implement, I am just waiting on both an answer on my clisops issue and some "free" time on my side.
Also, as far as my experimentation went, the method you are suggesting was faster than resampling at higher frequency in most cases.

See https://github.com/NCPP/ocgis/blob/61d88c60e9070215f28c1317221c2e074f8fb145/src/ocgis/regrid/base.py#L24 doing pretty much this with xESMF.

Jut read the code quickly. Implementing the ESMF Mesh into xESMF would indeed be quite useful. It looks like a lot of work, though!
Only intuition here, but I believe the shapely/geopandas/clisops solution suggested above would be faster in most cases for spatial averaging.  All the ESMF overhead of creating a mesh of 1 element could potentially be heavier than not?
Implementing our method in clisops wouldl be much faster for quantitatively similar results. But working on xESMF has a greater potential and userbase.

I thought that since we had a reference implementation, the amount of work would not be so large, but that was just a guess, not the result of an actual analysis.
My intuition was the opposite: that a fortran library would run faster.
Let's just not underestimate the time needed to get something operational, with all the details worked out. I agree it might be quicker to get 90% of the job done by starting from scratch, but the remaining 10% can be very time consuming. I'm just wary of building "yet another averager".

See https://github.com/NCPP/ocgis/blob/61d88c60e9070215f28c1317221c2e074f8fb145/src/ocgis/regrid/base.py#L24 doing pretty much this with xESMF.

Getting a bit confused ... but the example actually using ESMpy directly correct?  And we would like to reproduce via xESMF in order to be able to leverage dask?

Yes, xESMF was not a thing at the time.
I would say we mostly want to leverage the xarray interface (coordinates) to facilitate the process. The dask parallelism for me is a bonus. If the conclusion is that this would be nice but would too time consuming, I can work on finding collaborators for this.

In any case there seems to be a lot of robust code in the example @huard linked to ... I would tend to agree that we should do our best to avoid reproducing something that exists already unless we can make a very clear case for it.
Would there be a way to use the code to provide an output of spatial weights only....  e,g, identify grid ids in the subset (any grid that touches the subset polygon) and associated areas as the output and not necessarily apply the regridding itself?  Dask  shouldn't be critical in this case. A subsequently call to xarray.weighted could handle the heavy lifting?

Maybe my lack of experience with ESMF is making me estimate longer times, but the main problem is that xESMF is lacking all implementation of the Mesh object of ESMpy/ESMF. This is the part I think is not simple, if even possible? Lacking in ESMpy is mesh element vith more than 4 corners, but it seems to be lacking in ESMF also ! https://esmf-org.github.io/801branch_docs/ESMF_refdoc/node5.html#SECTION050102100000000000000
I understand that this means we would need to divide the polygon in triangles and quads and sum them afterwards?
Speed wise, Fortran is clearly faster for large tasks, but the shapely option should be fast enough too.
But you're right : even if a first draft implementation would be easy, all the testing + covering all cases will take some time.

In any case there seems to be a lot of robust code in the example @huard linked to ... I would tend to agree that we should do our best to avoid reproducing something that exists already unless we can make a very clear case for it.
Would there be a way to use the code to provide an output of spatial weights only.... e,g, identify grid ids in the subset (any grid that touches the subset polygon) and associated areas as the output and not necessarily apply the regridding itself? Dask shouldn't be critical in this case. A subsequently call to xarray.weighted could handle the heavy lifting?

i.e. in my case ESMpy should be fine

@aulemahal By Mesh, do you mean the grid with the cell corners ? If yes, there is a PR for this already by yours truly. Still needs to work, but nothing major.
@tlogan2000 Yep, xESMF first computes the weight, then applies them to the fields. The weights are saved as sparse matrices in memory and can be written to disk (https://github.com/pangeo-data/xESMF/pull/3). I like the idea of using weighted, but unclear if it would work out of the box with sparse arrays.

Answering myself but there seems to be a weights_only flag in the regrid_field method

@huard  Cool! I'm guessing you mean "generating the grid corners" in order to use conservative methods?
What I am talking about is the "Mesh" grid type of ESMF. Passing a polygon to ESMF will need to transform it to a Mesh of one element with a large number of sides. I can check if ESMpy accepts those this morning, but my first understanding is that it doesn't?
Also question : which is the main repo, pangeo-data's or JiaweiZhuang's?

@huard sorry if I am still a bit confused.
Does xESMF weight calculation etc only work on 'grids' .. i.e. it will correctly intersect and weight the transfer of one grid to another but would not necessarily handle a case where we intersect a grid with an irregular shaped drainage basin / province boundary ... in this case gridcells intersecting the edge of the polygon create oddly shaped 'slivers' with mutliple vertices (likely >4)
This could be linked to @aulemahal comments about mesh triangles as well I suppose?

@aulemahal Got it. Yes, it's possible that it does not yet exist in ESMPy. I agree this would be problematic, since it's not just a matter of xESMF wrapping.
@tlogan2000 Correct for xESMF, but the fortran ESMF library handles the case of irregular polygons. OCGIS uses this functionality, which we used in flyingpigeon.

@huard  @tlogan2000
So I did some tests. I computed weight masks for the spatial averaging of a given grid (xarray's air tutorial) to a region (mexico). I already had a working version using shapely for this simple case with a regular grid and a simple poly. Weights are fraction of the input gridcell [0, 1] that intersects the polygon.

I was wrong : ESMpy does support mesh with generic-size element. Thus we can represent a polygon as a mesh of 1 element.
I was also somewhat wrong about the speed. For a spatial averaging of a 130x150 grid to a 170-node polygon, I had times of: 35 ms (ESMpy) vs 47 ms (shapely / pyproj).
Results are very close, with variation in the fractions of about 0.4 % between the two versions. There are strange features in the ESMpy output, but they do not contribute significantly to the results. A bug for later.

For single polygons, I believe implementation to xESMF shouldn't be so hard, given that the PR computing lat and lon bounds is merged. However it lacks:

Multipolygon support : Mesh elements cannot represent polygon collections. A solution would be to use a Mesh of many elements and sum the weights?
Holes : mesh elements cannot have holes. I guess we could recompute weights for the holes and substract them?

Note that adding the dependency of either shapely + pyproj or directly geopandas would be necessary for implementation in xESMF. A logical way I see would be to accept GeoDataFrames as inputs (instead of xarray datasets) in order to generate ESMpy Meshes.

I suggest we close this issue now that the roadmap is fairly clear.


Excessive API calls?

This is not so much an issue but more an FYI.
Home Assistant got an e-mail from a site reliability engineer at Wink about excessive API calls:

We've observed 5 Wink users that have added the Home-Assistant.io integration to their account making excessive calls - roughly 8k every 10mins to the Wink API.

I am not sure if this was because of the way Home Assistant used the API or that a bug sneaked in that causes the extra calls. From my knowledge of the Home Assistant integration, this high amount of calls would be highly unlikely.  @w1ll1am23 has migrated Home Assistant to use pubnub so we should drop usage significantly but I just thought to notify you that there might be an issue lingering somewhere.

@balloob, I assume you haven't heard anything else on this? I am thinking pubnub support fixed this. If you haven't heard anything else, I would say this can be closed.

Yep, haven't heard anything. Think indeed pubnub fixed this


Add paginators for codebuild

Resolves boto/boto3#1311

Codecov Report

Merging #1297 into develop will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff            @@
##           develop    #1297   +/-   ##
========================================
  Coverage    98.05%   98.05%
========================================
  Files           45       45
  Lines         7416     7416
========================================
  Hits          7272     7272
  Misses         144      144

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 67928a1...4c64486. Read the comment docs.


Accept both strings and Backends for backend field in wire cutting evaluation

Wire cutting evaluation currently takes only strings for backends. It should accept both strings and Backends.

Stale issue. Closing.


fix(code docs): use jobId instead of machineId

I could only see references to using machineId in powershell, otherwise jobId is used in other places.

@cgillum
Can you review the proposed changes?
When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team


Allow limiting users based on userinfo

Currently every user able to login at OIDC endpoint will be let in. Make it possible to limit users, for example with email domain or if their email_verified is set to true.

Inspired by this and other projects, I started a generic external auth service that I'd be interested to have your feedback on: https://github.com/travisghansen/external-auth-server
I haven't specifically added assertions based on userinfo yet, but I'm real close.  I'd love another set of eyes if you have any interest.

Looks cool, really great to have more generic approach to the issue! I'll take a look in a few days when I've got time (just got back from vacation, so jetlag is a thing :)

Great! Assertions have been implemented now for both id_token and userinfo data..


Feature/homepageediting

You have conflicts here that need to be resolved.

fix formatting please. you can run npm run prettier:fix and push again.


GEOMESA-3362 Adds optional flattened arrow output

Ticket: https://geomesa.atlassian.net/browse/GEOMESA-3362
Co-MR: https://github.com/geomesa/geomesa-geoserver/pull/55
Testing
The airports shape file was obtained and loaded into geoserver:
https://hub.arcgis.com/documents/f74df2ed82ba4440a2059e8dc2ec9a5d/explore
Execute the following curl commands which exercise various arrow output options with and without the new flatten parameter.
This python snippit was used for display of the arrow data:
arrow_print.py
import pyarrow.ipc as ipc
import pandas as pd
import sys

# Specify the path to your Arrow file
file_path = sys.argv[1]

#pd.option_context('display.max_rows', None, 'display.max_columns', None)

# Open the Arrow file
with open(file_path, 'rb') as f:
    reader = ipc.open_stream(f)
    # Convert each record batch to a Pandas DataFrame
    dfs = [rb.to_pandas() for rb in reader]
    # Concatenate all DataFrames (if there are multiple record batches)
    df = pd.concat(dfs, ignore_index=True)

# Display the DataFrame
print(df.head().to_string())

Default return:
curl 'http://localhost:8080/geoserver/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=geomesa:Airports&outputFormat=application/vnd.arrow' > airports_default.arrow

python arrow_print.py airports_default.arrow

Output:
Airports
0   {'id': 'Airports.1', 'the_geom': [51.883583, -176.6425], 'OBJECTID': 1, 'GLOBAL_ID': '656D38F0-F1FE-49A8-AB4F-677281616EF8', 'IDENT': 'ADK', 'NAME': 'Adak', 'LATITUDE': '51-53-00.8980N', 'LONGITUDE': '176-38-32.9360W', 'ELEVATION': 19.5, 'ICAO_ID': 'PADK', 'TYPE_CODE': 'AD', 'SERVCITY': 'ADAK ISLAND', 'STATE': 'AK', 'COUNTRY': 'UNITED STATES', 'OPERSTATUS': 'OPERATIONAL', 'PRIVATEUSE': 0, 'IAPEXISTS': 1, 'DODHIFLIP': 0, 'FAR91': 0, 'FAR93': 0, 'MIL_CODE': 'CIVIL', 'AIRANAL': 'NO OBJECTION', 'US_HIGH': 0, 'US_LOW': 0, 'AK_HIGH': 1, 'AK_LOW': 1, 'US_AREA': 0, 'PACIFIC': 0}
1     {'id': 'Airports.2', 'the_geom': [56.938694, -154.18257], 'OBJECTID': 2, 'GLOBAL_ID': 'F39AFCD2-D07F-4F41-96CF-08B79A271EAB', 'IDENT': 'AKK', 'NAME': 'Akhiok', 'LATITUDE': '56-56-19.2870N', 'LONGITUDE': '154-10-57.2000W', 'ELEVATION': 44.4, 'ICAO_ID': 'PAKH', 'TYPE_CODE': 'AD', 'SERVCITY': 'AKHIOK', 'STATE': 'AK', 'COUNTRY': 'UNITED STATES', 'OPERSTATUS': 'OPERATIONAL', 'PRIVATEUSE': 0, 'IAPEXISTS': 1, 'DODHIFLIP': 0, 'FAR91': 0, 'FAR93': 0, 'MIL_CODE': 'CIVIL', 'AIRANAL': 'NO OBJECTION', 'US_HIGH': 0, 'US_LOW': 0, 'AK_HIGH': 0, 'AK_LOW': 1, 'US_AREA': 0, 'PACIFIC': 0}
2  {'id': 'Airports.3', 'the_geom': [60.91381, -161.49335], 'OBJECTID': 3, 'GLOBAL_ID': 'C0EE48D3-E3AD-404E-945D-F404E345020D', 'IDENT': 'Z13', 'NAME': 'Akiachak', 'LATITUDE': '60-54-49.7150N', 'LONGITUDE': '161-29-35.9850W', 'ELEVATION': 22.8, 'ICAO_ID': 'PFZK', 'TYPE_CODE': 'AD', 'SERVCITY': 'AKIACHAK', 'STATE': 'AK', 'COUNTRY': 'UNITED STATES', 'OPERSTATUS': 'OPERATIONAL', 'PRIVATEUSE': 0, 'IAPEXISTS': 0, 'DODHIFLIP': 0, 'FAR91': 0, 'FAR93': 0, 'MIL_CODE': 'CIVIL', 'AIRANAL': 'NO OBJECTION', 'US_HIGH': 0, 'US_LOW': 0, 'AK_HIGH': 0, 'AK_LOW': 1, 'US_AREA': 0, 'PACIFIC': 0}
...

With flatten
curl 'http://localhost:8080/geoserver/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=geomesa:Airports&outputFormat=application/vnd.arrow&format_options=flattenStruct:true;' > airports_flatten.arrow

python arrow_print.py airports_flatten.arrow

Output:

Airports
           id                 the_geom  OBJECTID                             GLOBAL_ID IDENT      NAME        LATITUDE        LONGITUDE  ELEVATION ICAO_ID TYPE_CODE     SERVCITY STATE        COUNTRY   OPERSTATUS  PRIVATEUSE  IAPEXISTS  DODHIFLIP  FAR91  FAR93 MIL_CODE       AIRANAL  US_HIGH  US_LOW  AK_HIGH  AK_LOW  US_AREA  PACIFIC
0  Airports.1   [51.883583, -176.6425]         1  656D38F0-F1FE-49A8-AB4F-677281616EF8   ADK      Adak  51-53-00.8980N  176-38-32.9360W       19.5    PADK        AD  ADAK ISLAND    AK  UNITED STATES  OPERATIONAL           0          1          0      0      0    CIVIL  NO OBJECTION        0       0        1       1        0        0
1  Airports.2  [56.938694, -154.18257]         2  F39AFCD2-D07F-4F41-96CF-08B79A271EAB   AKK    Akhiok  56-56-19.2870N  154-10-57.2000W       44.4    PAKH        AD       AKHIOK    AK  UNITED STATES  OPERATIONAL           0          1          0      0      0    CIVIL  NO OBJECTION        0       0        0       1        0        0
2  Airports.3   [60.91381, -161.49335]         3  C0EE48D3-E3AD-404E-945D-F404E345020D   Z13  Akiachak  60-54-49.7150N  161-29-35.9850W       22.8    PFZK        AD     AKIACHAK    AK  UNITED STATES  OPERATIONAL           0          0          0      0      0    CIVIL  NO OBJECTION        0       0        0       1        0        0
3  Airports.4   [60.907864, -161.4351]         4  26D96486-FA29-4866-93EB-2EEEB7FA7144   KKI  Akiachak  60-54-28.3130N  161-26-06.2780W       18.0                SP     AKIACHAK    AK  UNITED STATES  OPERATIONAL           0          0          0      0      0    CIVIL  NO OBJECTION        0       0        0       0        0        0

...

Return only desired properties
curl 'http://localhost:8080/geoserver/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=geomesa:Airports&outputFormat=application/vnd.arrow&propertyName=NAME' > airports_only_name.arrow

python arrow_print.py airports_only_name.arrow

Output:
                                   Airports
0      {'id': 'Airports.1', 'NAME': 'Adak'}
1    {'id': 'Airports.2', 'NAME': 'Akhiok'}
2  {'id': 'Airports.3', 'NAME': 'Akiachak'}
3  {'id': 'Airports.4', 'NAME': 'Akiachak'}
4     {'id': 'Airports.5', 'NAME': 'Akiak'}

Return only desired properties w/ flatten
curl 'http://localhost:8080/geoserver/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=geomesa:Airports&outputFormat=application/vnd.arrow&propertyName=NAME&format_options=flattenStruct:true;' > airports_only_name_flatten.arrow

python arrow_print.py airports_only_name_flatten.arrow

Output:
           id      NAME
0  Airports.1      Adak
1  Airports.2    Akhiok
2  Airports.3  Akiachak
3  Airports.4  Akiachak
4  Airports.5     Akiak

Reverse Sort
curl 'http://localhost:8080/geoserver/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=geomesa:Airports&outputFormat=application/vnd.arrow&propertyName=NAME&format_options=flattenStruct:false;sortField:NAME;sortReverse:true;' > airports_only_name_reverse.arrow

python arrow_print.py airports_only_name_reverse.arrow

Output:
                                           Airports
0  {'id': 'Airports.16130', 'NAME': 'Zwainz Farms'}
1   {'id': 'Airports.5562', 'NAME': 'Zupancic Fld'}
2         {'id': 'Airports.14575', 'NAME': 'Zuehl'}
3        {'id': 'Airports.8928', 'NAME': 'Zortman'}
4    {'id': 'Airports.11254', 'NAME': 'Zorn Acres'}

Reverse sort w/ flatten
curl 'http://localhost:8080/geoserver/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=geomesa:Airports&outputFormat=application/vnd.arrow&propertyName=NAME&format_options=flattenStruct:true;sortField:NAME;sortReverse:true;' > airports_only_name_reverse_flatten.arrow

python arrow_print.py airports_only_name_reverse_flatten.arrow

Output:
               id          NAME
0  Airports.16130  Zwainz Farms
1   Airports.5562  Zupancic Fld
2  Airports.14575         Zuehl
3   Airports.8928       Zortman
4  Airports.11254    Zorn Acres

this is a good start, but we also have to add it to the distributed processing code, otherwise it will only work for non-geomesa-native stores (i.e. won't work for accumulo/hbase/etc). i could probably be convinced to only support it for postgis for now, if you don't have the bandwidth to do the rest.

need to update docs, here at a minimum, I'm not sure if there are other places that reference it.

this is a good start, but we also have to add it to the distributed processing code, otherwise it will only work for non-geomesa-native stores (i.e. won't work for accumulo/hbase/etc). i could probably be convinced to only support it for postgis for now, if you don't have the bandwidth to do the rest.

Thanks for the review! I'll have the changes and doc updates up soon. If it is ok with you can we keep this change isolated to postgis for now? I can clarify this feature in the docs that it will only work for postgis atm.

@elahrvivaz
I addressed your comments for fixing the unit tests, adding docs, and changing from Option[Boolean] to Boolean.
I wasn't sure what the best practice is for adding this new parameter across all usage and defaulted pretty much everything to flattenStruct: Boolean = false. Let me know if that is overkill and if it makes sense to only set defaults in particular cases.
I manually tested against geoserver with these changes and queries look good.

sorry i haven't had a chance to look at this yet, i'll try to get to it soon.

lgtm, will merge when CI's done

created https://geomesa.atlassian.net/browse/GEOMESA-3379 as a follow-up to implement for distributed stores.

Thanks for the merge! Just to confirm did you also see the CO-MR which updates the geoserver plugin code?
https://github.com/geomesa/geomesa-geoserver/pull/55

Thanks for the merge! Just to confirm did you also see the CO-MR which updates the geoserver plugin code? geomesa/geomesa-geoserver#55

i did, but thanks for reminding me again!


refactor(bench): update benchmarks

Summary
Update the benchmark.
Configurations are automatically found by eslint and biome by traversing parent directories.
Test Plan

@Conaclos is this PR still relevant? If not, can you close it?


cash show

can you modify it for cash show?

I have looked into it and didn't find a way to easily get the questions through a web connection. Any help would be appreciated.


Use the canonical maven_jar naming pattern for https://github.com/google/auto libraries. [phab:D2005]

Created by ronshapiro at 2017-11-01 15:40:13:
See the docs on maven_jar here: https://docs.bazel.build/versions/master/be/workspace.html#maven_jar
The auto names might not have been the best decisions, but not following the conventions makes it harder to pull in other libraries that use them (like Dagger). Either way, kythe/java/com/google/devtools/kythe/common/BUILD already has aliases for these libraries. Also fix a missing dep in the declared AutoValue java_plugin.

shahms wrote at 2017-11-01 15:49:49:
Thanks!

shahms accepted this revision at 2017-11-01 15:49:49

shahms closed via commit 0f829d2785855fe3683cb56398c25f7bf52be5dd at 2017-11-01 15:50:56


blurring doesn't work on Chrome Web Store pages

Cannot blur elements on Chrome Web Store page, like: https://chromewebstore.google.com/detail/openblur/dlnglldcaegkgmhmmhhdknblccppichf

This is expected. Chrome Web Store and Microsoft Add-On store block extensions from interacting with their pages.


WANT TO SEE HOT PICS WITH ME? 💋 💋 💋

WANT TO SEE HOT PICS WITH ME? 💋 💋 💋
👇 👇 👇
https://clck.ru/MJjwV

Literally no one.


Quiver Crafting Recipe

About the PR

I added plungers to the quiver whitelist and added a Recipe to craft a Quiver. (Was originally going to be part of a trick arrow PR but that needs sprites and this works so I split it off in hopes to get it added sooner).
I also blacklisted arrows from the pneumatic cannon because I think that's unbalanced as arrows are balanced around the Bow, and that the original blacklist was there for a reason. If you want to shoot arrows, use a Bow.
Why / Balance

I feel that it is a good item that should not be restricted to only Admeme or Maints loot
Technical details

Media

[X] I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

Breaking changes

Changelog

:cl:

add: Added Quiver Recipe, go wild Robin Hood.

split the arrow blacklist change from this PR, its not relevant to quiver crafting

wood doesn't make too much sense imo, maybe plastic or just the cloth and wire? Arrows + Bow are already really wood intensive

split the arrow blacklist change from this PR, its not relevant to quiver crafting

I consider it relevant considering how arrows are balanced around the bow

split the arrow blacklist change from this PR, its not relevant to quiver crafting

#27256


Replace lorem ipsum placeholder text with project member bios in 'About' scene

150px x 150px profile image
Template Idea
Name:
Bio:
URL:

For the initial version we decided to list names only. I will add those when I update the colour scheme.

The names have been added to the menu-enhancements branch.


Debugger capability in tests

Currently we don't have a way to attach a Python debugger while running tests. This removes the possibility to use IDE debuggers for easier/faster identification of bugs.
Is it possible to attach a debugger in our current testing setup? If not, what changes are necessary?

do you have a specific debugging environment that you use? does it fail and can you provide more info on how it fails?

I'm using the standard VSCode Python debugging environment. When I run a test file with the debugger attached, it fails when importing eth2spec with a ModuleNotFoundError.
I tried to recreate the situation like this:

Install eth2spec using make install_test.
Ensure that eth2spec module is installed by checking pip list.
Run python and check if import eth2spec works.

Step 3 fails with the same ModuleNotFoundError.
What's the correct way to import eth2spec?


Masked image hard edge

Hi Brad,
I'm using GPUImageAlphaBlendFilter to blend a masked image with the original image but i got hard edges in the result image,as showed in the image attached

.
I did try:

initialize a GPUImageMask to have a masked image
pass both the result image + the original image to a GPUImageAlphaBlendFilter
adding them using :

gl_FragColor = vec4(textureColor2.rgb + (1.0 - textureColor2.a * mixturePercent) * textureColor.rgb, 1.0);
How can i add smoothstep blendvalue in this filter?
Thanks!

Actually I have a similar issue.
When displaying the crop bitmap, there it appear very clear, but when using it in a filter, the aliasing is terrible. See
https://stackoverflow.com/questions/51017318/image-pixellated-when-using-gpuimagemaskfilter
Could there be a scaling issue somewhere ?


az ad app list is missing createdTime

Is your feature request related to a problem? Please describe.
az ad app list is missing createdTime
Describe the solution you'd like
The resulting list has property createdTime
similar to az resource list -> "createdTime": "2019-10-01T13:11:19.635924+00:00",
If possible changedTime would be nice too.
Additional context
We use the command to review app registrations, without creationTime it is hard.

Graph

This command now returns "createdDateTime": "2022-04-27T06:23:55Z",
az ad app list --filter "displayname eq 'test'" --app-id "appid-guid"
[
{
"addIns": [],
"api": {
"acceptMappedClaims": null,
"knownClientApplications": [],
"oauth2PermissionScopes": [],
"preAuthorizedApplications": [],
"requestedAccessTokenVersion": null
},
"appId": "appid",
"appRoles": [],
"applicationTemplateId": null,
"certification": null,
"createdDateTime": "2022-04-27T06:23:55Z",


Installation of gitlab fails with ruby stacktrace

When trying to install gitlab using nix-env -i gitlab on openSUSE11, the installation process crashes with the error:
...
2907 /tmp/nix-build-gitlab-7.4.2.drv-0/config/environment.rb

* Process memory map:

00400000-00401000 r-xp 00000000 00:1c 24189700                           ~/opt/nix-mnt/nix-1.10-x86_64-linux/store/i2sy75caqgk7x1yl33aaschykqqg87ax-ruby-2.1.3-p0/bin/ruby
00600000-00601000 rwxp 00000000 00:1c 24189700                           ~/opt/nix-mnt/nix-1.10-x86_64-linux/store/i2sy75caqgk7x1yl33aaschykqqg87ax-ruby-2.1.3-p0/bin/ruby
...
...
You may have encountered a bug in the Ruby interpreter or extension libraries.

How can I fix this problem?
crash.log.txt

I'd recommend as first step to enable  use-chroot in  /etc/nix.conf. see man nix.conf

Thanks for the quick answer! I will give this a try on a different machine, as I'm not root here and use nix via the proot installation method.

Additionally, I wouldn't really advise to use the gitlab package on an distribution other than NixOS because there are some changes that require the code from the service module to work correctly. For instance, quite a few environment variables and additional config need to be provided which aren't really documented anywhere except in the code in the service module: https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/services/misc/gitlab.nix
This is because gitlab can't write to the nix store as it's mounted read-only. You can't modify the config/gitlab.yml and uploads to gitlab which are hardwired in gitlab to public/uploads won't work as a result.
That's why I think we can close this. If you still feel we should fix this at some point please feel free to reopen.

@fpletz That's what I figured also in the meantime. But doing a nix-env -qaP gives you all those cool packages to try out and it's disappointing when they fail. Maybe something like platforms = platforms.nixos?

@knedlsepp Duh! :wink: Now you discovered our secret plan to lure people into the full nixperience by switching from NixOS! :cake:
But to get more serious businessy, such a meta attribute does indeed sound very useful yet IMHO not as a platform. I've open another ticket to look into adding this: #13402

It sounds much better to me to fix the gitlab build expression so that its result works for people who aren't using NixOS.

I don't think anyone has the time to fix Rails and Gitlab so that it works on every system with a non-writable Rails root directory. Either way some conventions would have to be defined and a lot of code from the NixOS module would somehow have to be converted to a package or environment - I don't think this is worth the hassle. Closing again.


Nesting in RtcLocalView.SurfaceView on Android

Hi,
Once I want to put children inside RtcLocalView.SurfaceView , it throws this error.

But it works fine on iOS.
"react-native-agora": "^3.1.3"

you should not add any child component to our view, it just a view not viewgroup


chore: bump recommended device plugin version

@MGoedtel

Can you review this PR?
IMPORTANT: When this content is ready to merge, you must add #sign-off in a comment or the approval may get overlooked.

#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

#sign-off


parseDataFromRfc2822 test fix

@dzmitry-varabei @aorgish
It looks like GMT+01 is not valid for Rfc2822.
https://tools.ietf.org/html/rfc2822
... zone MUST be within the range -9959 through +9959....
3.3. Date and Time Specification
zone            =       (( "+" / "-" ) 4DIGIT) / obs-zone
So it should be 4digit in hhmm format. It is the reason why the test fails for some versions of v8 engines.
For example that doesn't work for nodejs 4.4.3. It looks like it is interpreted as minutes(mm)
https://www.screencast.com/t/l9mbjVX0uS4

Спасибо, что разобрался!!


Stitch Problems

In many datasets (Daphne a single tile and Fred many tiles) stitch has been strangely out of whack. We need to look at this better and understand what is the cause of such large stitch errors.
The errors are largely in z and not xy. We need to understand why this is happening.
Have attached the tag 'low priority' as this should not be too detrimental to data quality.

Hey @reillytilbury I did scale the stitch config variable with tile size, this might have caused a problem! We should look at this carefully

The config variable specifically is auto_n_shifts in the stitch section

@reillytilbury has refactored the stitching algorithm. It now relies on the DAPI images instead of the spot point clouds. It also does a much better job, at least on par with zetastitcher. So, I will mark this issue as completed but can be re-opened if needed.


How to show the back-arrow in the toolbar?

Make sure your activity declaration looks something like this:
<activity
            android:name=".ExampleMaterialAboutActivity"
            android:parentActivityName=".MainActivity"
<EMAIL_ADDRESS>            tools:ignore="UnusedAttribute">
            <meta-data
                android:name="android.support.PARENT_ACTIVITY"
                android:value=".MainActivity" />
        </activity>

I have different parent activites. I start the "about" put of the NavDrawer.

Do you use fragments with your NavDrawer?

I'm using Activities and within Fragments (sometimes).

Oh right. Hmm, if you want to code your own logic for activity handling, you can check out MaterialAboutFragment and see how I've done it in the demo app.

Yes I think this is the only way.


Unexpected token T in JSON at position 0

Describe the bug
I've used the tool to download 2 other nanodegrees. Thanks!
Downloading nd002, it downloads a large portion of the json files but errors out at one point.
Error note
2019-07-21T22:15:07.178Z [^[[31merror^[[39m]: Uncaught Exception:
SYNTAXERROR: Unexpected token T in JSON at position 0
STACK: SyntaxError: Unexpected token T in JSON at position 0
at JSON.parse ()
at Request._callback (/Users/brianchase/.nvm/versions/node/v12.6.0/lib/node_modules/udacimak/lib/api/fetchApiUdacityGraphql.js:53:30)
at Request.self.callback (/Users/brianchase/.nvm/versions/node/v12.6.0/lib/node_modules/udacimak/node_modules/request/request.js:185:22)
at Request.emit (events.js:203:13)
at Request. (/Users/brianchase/.nvm/versions/node/v12.6.0/lib/node_modules/udacimak/node_modules/request/request.js:1161:10)
at Request.emit (events.js:203:13)
at IncomingMessage. (/Users/brianchase/.nvm/versions/node/v12.6.0/lib/node_modules/udacimak/node_modules/request/request.js:1083:12)
at Object.onceWrapper (events.js:291:20)
at IncomingMessage.emit (events.js:208:15)
at endReadableNT (_stream_readable.js:1154:12)
Where the info log stops
2019-07-21T22:15:06.943Z [^[[32minfo^[[39m]: Downloaded lesson JSON for /Volumes/Lexar/Udacity/data_analyst/json2/Data Analyst Nanodegree v1.0.0/Part 17_Practical Statistics/Module 01_Sebastian Stats/Lesson 05_Binomial Distribution
2019-07-21T22:15:07.070Z [^[[32minfo^[[39m]: Downloaded lesson JSON for /Volumes/Lexar/Udacity/data_analyst/json2/Data Analyst Nanodegree v1.0.0/Part 17_Practical Statistics/Module 01_Sebastian Stats/Lesson 06_Conditional Probability
2019-07-21T22:15:07.178Z [^[[31merror^[[39m]: Uncaught Exception:
SYNTAXERROR: Unexpected token T in JSON at position 0
Udacimak Log
2019-07-21T22:15:06.943Z [^[[32minfo^[[39m]: Downloaded lesson JSON for /Volumes/Lexar/Udacity/data_analyst/json2/Data Analyst Nanodegree v1.0.0/Part 17_Practical Statistics/Module 01_Sebastian Stats/Lesson 05_Binomial Distribution
2019-07-21T22:15:07.070Z [^[[32minfo^[[39m]: Downloaded lesson JSON for /Volumes/Lexar/Udacity/data_analyst/json2/Data Analyst Nanodegree v1.0.0/Part 17_Practical Statistics/Module 01_Sebastian Stats/Lesson 06_Conditional Probability
2019-07-21T22:15:07.178Z [^[[31merror^[[39m]: Uncaught Exception:
SYNTAXERROR: Unexpected token T in JSON at position 0
udacimak download nd002

Desktop (please complete the following information):

OS: MacOS mojave 10.14.05
Node version: (node --version) v12.6.0
npm version: (npm --version) 6.9.0
Udacimak Version: (udacimak --version) v1.4.2
Browser [e.g. chrome, safari] Chrome

Course Information

Nanodegree or Course name: Data Analyst Nanodegree
Version: [e.g. v1.0.0] v1.0.0
Locale: [e.g. en-us] en-us

Do you have full access to the Nanodegree?
I can't replicate the issue because I can download successfully on my computer. It's also hard to debug the download command because it requires access token.
Please try again and let me know, I'll see what I can do

I do have full access to the Nanodegree. The next file it should be downloading is the section on Bayes rule --- and I can access that.
I've tried again with the same result. Any suggestions where to look to debug? Maybe I can be of help.

@brichase It'd be great if you could debug the source code, though it requires familiarity with Node JS.
It's quite hard to debug on my end because it's working fine for me. For now, could you try downloading on another machine to see if it works?

Updated udacimak and ran it again on the same machine---and it now works. Not sure if it had to do with the program or the website.


Bug : 1287465 - alert box updated.

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

Exchange-Deployments-2013/certificate-requirements-for-hybrid-deployments-exchange-2013-help.md
:white_check_mark:Succeeded
View

Exchange-Deployments-2013/configure-document-collaboration-with-onedrive-for-business-and-exchange-2016-on-premises-exchange-2013-help.md
:white_check_mark:Succeeded
View

Exchange-Deployments-2013/configure-exchange-to-support-delegated-mailbox-permissions-in-a-hybrid-deployment-exchange-2013-help.md
:white_check_mark:Succeeded
View

Exchange-Deployments-2013/configure-office-365-groups-with-on-premises-exchange-hybrid-exchange-2013-help.md
:white_check_mark:Succeeded
View

Exchange-Deployments-2013/create-a-cloud-based-archive-for-an-on-premises-primary-mailbox-in-an-exchange-hybrid-deployment-exchange-online-help.md
:white_check_mark:Succeeded
View

Exchange-Deployments-2013/create-a-hybrid-deployment-with-the-hybrid-configuration-wizard-exchange-2013-help.md
:white_check_mark:Succeeded
View

Exchange-Deployments-2013/edge-transport-servers-in-exchange-2013-exchange-2007-hybrid-deployments-exchange-2013-help.md
:white_check_mark:Succeeded
View

Exchange-Deployments-2013/edge-transport-servers-in-exchange-2013-exchange-2010-hybrid-deployments-exchange-2013-help.md
:white_check_mark:Succeeded
View

Exchange-Deployments-2013/edge-transport-servers-with-hybrid-deployments-exchange-2013-help.md
:white_check_mark:Succeeded
View

Exchange-Deployments-2013/how-and-when-to-decommission-your-on-premises-exchange-servers-in-a-hybrid-deployment-exchange-2013-help.md
:white_check_mark:Succeeded
View

Exchange-Deployments-2013/hybrid-configuration-wizard-exchange-2013-help.md
:white_check_mark:Succeeded
View

Exchange-Deployments-2013/hybrid-deployment-prerequisites-exchange-2013-help.md
:white_check_mark:Succeeded
View

Exchange-Deployments-2013/hybrid-management-in-exchange-2013-exchange-2007-hybrid-deployments-exchange-2013-help.md
:white_check_mark:Succeeded
View

Exchange-Deployments-2013/hybrid-management-in-exchange-2013-exchange-2010-hybrid-deployments-exchange-2013-help.md
:white_check_mark:Succeeded
View

Exchange-Deployments-2013/move-mailboxes-between-on-premises-and-exchange-online-organizations-in-hybrid-deployments-exchange-2013-help.md
:white_check_mark:Succeeded
View

Exchange-Deployments-2013/permissions-in-exchange-hybrid-deployments-exchange-2013-help.md
:white_check_mark:Succeeded
View

Exchange-Deployments-2013/server-roles-in-exchange-2013-exchange-2007-hybrid-deployments-exchange-2013-help.md
:white_check_mark:Succeeded
View

Exchange-Deployments-2013/server-roles-in-exchange-2013-exchange-2010-hybrid-deployments-exchange-2013-help.md
:white_check_mark:Succeeded
View

Exchange-Deployments-2013/transport-options-in-exchange-2013-exchange-2007-hybrid-deployments-exchange-2013-help.md
:white_check_mark:Succeeded
View

Exchange-Deployments-2013/transport-options-in-exchange-2013-exchange-2010-hybrid-deployments-exchange-2013-help.md
:white_check_mark:Succeeded
View

Exchange-Deployments-2013/transport-options-in-exchange-hybrid-deployments-exchange-2013-help.md
:white_check_mark:Succeeded
View

Exchange-Deployments-2013/transport-routing-in-exchange-2013-exchange-2007-hybrid-deployments-exchange-2013-help.md
:white_check_mark:Succeeded
View

Exchange-Deployments-2013/transport-routing-in-exchange-2013-exchange-2010-hybrid-deployments-exchange-2013-help.md
:white_check_mark:Succeeded
View

Exchange-Deployments-2013/transport-routing-in-exchange-hybrid-deployments-exchange-2013-help.md
:white_check_mark:Succeeded
View

Exchange-Deployments-2013/troubleshoot-a-hybrid-deployment-exchange-2013-help.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.


Rush validations FLA-1302

Description
This PR includes the following proposed change(s):

Rush screen now validates inputs for presence and correctness according to acceptance criteria for FLA-1302

Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Refactoring / Documentation
[ ] Version change

if your change is a breaking change, please add breaking change label to this PR
How Has This Been Tested?
yarn lint
yarn test -u

Does the change impact or break the Docker build?

[ ] Yes
[x] No

If Yes: Has Docker been updated accordingly?

[ ] Yes
[x] No

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[ ] I have made corresponding changes to the documentation
[x] New and existing unit tests pass locally with my changes

Oh, sorry, didn't realize this was still in Draft.


Add some additional tasks to fix irregular install bugs

ping @laurafitzgerald hit these when doing demo video

@PhilipGough code changes lgtm, will verify this in the morning.

@laurafitzgerald thanks, I'm also going to update the docs with this pr in regards to tag usage for the buildfarm work since it will probably be more useful here

@PhilipGough
Case: additional plugins
In this case the tasks completed successfully.
Is it correct that some of the plugins are skipped?
Is there a good way to verify this is correct?
Case: polliing for android pod
playbook paused to poll for the android pod to come up
Case: added tags
Tags looked fine. Tested deploy_sdk_pod and task were executed successfully
Only suggestion would be that the syntax we used before with tags is some-tag-name rather than some_tag_name. I'm not sure what the expected syntax is but I guess we should keep it consistent?

also there was a failure in jenkins restarting (although I'm not sure if this is related to the changes made here)
fatal: [local.feedhenry.io]: FAILED! => {"changed": true, "cmd": ["java", "-jar", "/tmp/jenkins-cli.jar", "-remoting", "-s", "https://jenkins-digger.local.feedhenry.io", "restart"], "delta": "0:00:02.327443", "end": "2017-07-10 15:29:28.639197", "failed": true, "failed_when_result": true, "rc": 1, "start": "2017-07-10 15:29:26.311754", "stderr": "\nERROR: Unexpected exception occurred while performing restart command.\njava.lang.NullPointerException\n\tat jenkins.model.Jenkins.doRestart(Jenkins.java:4116)\n\tat sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\n\tat sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:6........

@laurafitzgerald

It would be correct that they should be skipped if they are installed and the current version would meet the minimum required version
Good, this is needed when the API might be slow and I saw a case where it went on to use the deploy pod which then goes away which is obviously a problem for the installer which has referenced this incorrect Pods name
Okay, will look back at naming conventions and keep them the same

Docs updates to be included with this PR when I can get to it

Closing in favour of https://github.com/aerogear/digger-installer/pull/29


chore: Remove security services initialization for mongodb

Signed-off-by: Bryon Nevis<EMAIL_ADDRESS>PR Checklist
Please check if your PR fulfills the following requirements:

[x] The commit subject follows the Conventional Commits spec
[x] The commit message follows the EdgeX Contributor Guide
[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)
[x] make test has completed successfully

PR Type
What kind of change does this PR introduce?

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Documentation content changes
[x] Other... Please describe:

Removing support for secret provisioning for mongodb as per EdgeX feature roadmap.
What is the current behavior?

Issue Number:
Closes #2538
What is the new behavior?
Does this PR introduce a breaking change?

[x] Yes
[ ] No

Breaks mongodb functionality.
Breaks edgex-support-logging connection to mongodb and secret store.
Are there any specific instructions or things that should be known prior to reviewing?
Other information

Codecov Report

Merging #2567 into master will decrease coverage by 0.11%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #2567      +/-   ##
==========================================
- Coverage   38.89%   38.78%   -0.12%
==========================================
  Files         145      145
  Lines       12728    12795      +67
==========================================
+ Hits         4951     4962      +11
- Misses       7504     7555      +51
- Partials      273      278       +5

Impacted Files
Coverage Δ

internal/security/secretstore/init.go
6.16% <0.00%> (+2.24%)
: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 e91925a...87b21be. Read the comment docs.

Testing instructions
Apply this diff, bring up the stack, observe no failed services  on startup
diff --git a/releases/nightly-build/compose-files/docker-compose-nexus-redis.yml b/releases/nightly-build/compose-files/docker-compose-nexus-redis.yml
index 66822d8..db0eba5 100644
--- a/releases/nightly-build/compose-files/docker-compose-nexus-redis.yml
+++ b/releases/nightly-build/compose-files/docker-compose-nexus-redis.yml
@@ -113,7 +113,7 @@ services:
       - security-secrets-setup

   security-secrets-setup:
-    image: nexus3.edgexfoundry.org:10004/docker-edgex-secrets-setup-go:master
+    image: edgexfoundry/docker-edgex-secrets-setup-go:1.2.0-dev
     container_name: edgex-secrets-setup
     hostname: edgex-secrets-setup
     environment:
@@ -128,7 +128,7 @@ services:
       - /tmp/edgex/secrets:/tmp/edgex/secrets:z

   vault-worker:
-    image: nexus3.edgexfoundry.org:10004/docker-edgex-security-secretstore-setup-go:master
+    image: edgexfoundry/docker-edgex-security-secretstore-setup-go:1.2.0-dev
     container_name: edgex-vault-worker
     hostname: edgex-vault-worker
     environment:
@@ -230,7 +230,7 @@ services:
       - kong-migrations

   edgex-proxy:
-    image: nexus3.edgexfoundry.org:10004/docker-edgex-security-proxy-setup-go:master
+    image: edgexfoundry/docker-edgex-security-proxy-setup-go:1.2.0-dev
     container_name: edgex-proxy
     hostname: edgex-proxy
     entrypoint: >
@@ -313,7 +313,7 @@ services:
 #      - vault-worker

   system:
-    image: nexus3.edgexfoundry.org:10004/docker-sys-mgmt-agent-go:master
+    image: edgexfoundry/docker-sys-mgmt-agent-go:1.2.0-dev
     ports:
       - "<IP_ADDRESS>:48090:48090"
     container_name: edgex-sys-mgmt-agent
@@ -337,7 +337,7 @@ services:
       - command

   notifications:
-    image: nexus3.edgexfoundry.org:10004/docker-support-notifications-go:master
+    image: edgexfoundry/docker-support-notifications-go:1.2.0-dev
     ports:
       - "<IP_ADDRESS>:48060:48060"
     container_name: edgex-support-notifications
@@ -358,7 +358,7 @@ services:
       - vault-worker

   metadata:
-    image: nexus3.edgexfoundry.org:10004/docker-core-metadata-go:master
+    image: edgexfoundry/docker-core-metadata-go:1.2.0-dev
     ports:
       - "<IP_ADDRESS>:48081:48081"
     container_name: edgex-core-metadata
@@ -381,7 +381,7 @@ services:
       - vault-worker

   data:
-    image: nexus3.edgexfoundry.org:10004/docker-core-data-go:master
+    image: edgexfoundry/docker-core-data-go:1.2.0-dev
     ports:
       - "<IP_ADDRESS>:48080:48080"
       - "<IP_ADDRESS>:5563:5563"
@@ -404,7 +404,7 @@ services:
       - vault-worker

   command:
-    image: nexus3.edgexfoundry.org:10004/docker-core-command-go:master
+    image: edgexfoundry/docker-core-command-go:1.2.0-dev
     ports:
       - "<IP_ADDRESS>:48082:48082"
     container_name: edgex-core-command
@@ -426,7 +426,7 @@ services:
       - vault-worker

   scheduler:
-    image: nexus3.edgexfoundry.org:10004/docker-support-scheduler-go:master
+    image: edgexfoundry/docker-support-scheduler-go:1.2.0-dev
     ports:
       - "<IP_ADDRESS>:48085:48085"
     container_name: edgex-support-scheduler

@bnevis-i , Need to update branch...

Brought branch up to date.


native: Add SDL3 WSI backend

SDL 3.1.3 was released today, and the ABI has been frozen! Making an SDL3 backend should now be safe - we can copypaste most of SDL2 and just fix the small bits that dxvk depends on (I think only monitor enumeration changed significantly, everything else is pretty much the same).

Sounds good, currently drowned in work but this is the kind of thing we should be able to do before the next release.


Add audio I/O support for other audio formats, such as m4a

🚀 The feature
I would like to add support on I/O for other audio formats, such as m4a (primary goal. Other formats can be addressed later).
Motivation, pitch
This is in response to a issue from speechbrain speechbrain/speechbrain#1093. Currently as described in the issue, we have to create wav files first from the m4a files, which is default of VoxCeleb2, in order to enable torchaudio processing modules.
Alternatives
No response
Additional context
If necessary which means no other issues are talking about same thing and nobody recently has time, I can personally have a look at it.

Hi @underdogliu
Thanks for filing a request. We are considering integrating ffmpeg for various reasons. We cannot promise anything but when we have an update we will let you know. Meanwhile, torchvision's Video API can also handle audio, so it might serve your purpose. https://pytorch.org/vision/master/auto_examples/plot_video_api.html

@mthrok Thanks for your reply! So just asking do we have a WIP PR or related issue thread for this?

Hi @underdogliu
I prototyped ffmpeg integration in https://github.com/pytorch/audio/pull/1986. C++ part is mostly feature complete but I still need to polish it (testing, packaging, build process and most importantly the user-facing API).
I will try to land it on nightly build soon and iterate on it.

This has been added in v0.12 using FFmpeg.


ActionResults returned from controller actions rendered as JSON, instead of executed

Steps to reproduce

git clone https://github.com/nil4/MvcCoreObjectResultRepro.git
cd MvcCoreObjectResultRepro
dotnet restore
dotnet run

Open http://localhost:5000/ in your browser.
Expected results
The page displays {"a":"test"}, i.e. only the ObjectResult value is returned to the client.
Actual results
The page displays {"value":{"a":"test"},"formatters":[],"contentTypes":[],"declaredType":null,"statusCode":null} instead, i.e. all the properties of ObjectResult are returned to the client, not just the value.

The incorrect behavior is new to 1.0 RTM, and used to work fine in RC2.

Yep, this is definitely not intended. Thanks for the repro

I updated the repro code to test other ActionResult subclasses.

The problem is here and here. Both of these cases should have a conditional cast to IActionResult.
var resultAsObject = await _executor.ExecuteAsync(_controller, arguments);
result = new ObjectResult(resultAsObject)
{
    DeclaredType = _executor.TaskGenericType,
};

Should change to:
var resultAsObject = await _executor.ExecuteAsync(_controller, arguments);
result = resultAsObject as IActionResult;
if (result == null)
{
    result = new ObjectResult(resultAsObject)
    {
        DeclaredType = _executor.TaskGenericType,
    };
}

If you want a workaround, I'd suggest the following:
public class Fix4960ActionFilter : IActionFilter
{
    public void OnActionExecuting(ActionExecutingContext context) { }

    public void OnActionExecuted(ActionExecutedContext context)
    {
        var objectResult = context.Result as ObjectResult;
        if (objectResult?.Value is IActionResult)
        {
            context.Result = (IActionResult)objectResult.Value;
        }
    }
}

@rynowak thank you for the workaround, will test and report back.

@rynowak looking at the code you linked to, it seems both cases deal with non-async method return values. The code I posted is a minimal repro of an actual project where all actions are async, and those are affected as well. Thought I should mention this now to avoid a partial fix.

[Lines 641- 648] https://github.com/aspnet/Mvc/blob/dev/src/Microsoft.AspNetCore.Mvc.Core/Internal/ControllerActionInvoker.cs#L641 is the synchronous case.

@rynowak workaround confirmed, thank you!

/cc @Eilon @DamianEdwards FYI

@javiercn @Eilon @danroth27  The issue was reported three weeks ago but the fix is not yet merged. Is there still a chance of this making it into v1.0.1 or v1.1.0?

It's currently slated to be fixed in 1.1.0

Done?


Lack of example of integration with secondaryStream in the documentation

Is there a way to use secondaryStream with Vidstack Player?
I tried to use mainStream for video HLS playlist and secondaryStream for audio HLS playlist with Vidstack Player but it turns out the second stream is ignored, doesn't appear in the tracker. Is it supported for Shaka player only?
Thanks.

@alopatindev
I've tested the configuration to confirm it works correctly using our tracker.
Both stream hashes appeared in the tracker stats.
streamUrl: https://devstreaming-cdn.apple.com/videos/streaming/examples/adv_dv_atmos/main.m3u8

Here’s how you should specify your configuration for both streams. If there are any issues, please provide more information, and we will investigate the problem.
const config: HlsWithP2PConfig<typeof Hls> = {
          p2p: {
            core: {
              // here goes the common config which will be applied to both streams
              announceTrackers: ["ws://localhost:8000"],
              mainStream: {
                // here goes the config for the main stream
                swarmId: "main-stream",
              },
              secondaryStream: {
                // here goes the config for the secondary stream
                swarmId: "secondary-stream",
              },
            },
            onHlsJsCreated: (hls) => {
              subscribeToUiEvents({
                engine: hls.p2pEngine,
                onPeerConnect,
                onPeerClose,
                onChunkDownloaded,
                onChunkUploaded,
              });
            },
          },
        };

Types for the whole Core config you can find here
Types for Stream configs you can find here

Thanks! Turns out I was using an invalid playlist. It's all clear then, nothing to update in the documentation.


Inverted order of SPC calculation to allow percentage increases to ap…

Late game clicking does not generate a notable amount of muffins. While upgrades grant you 10% of your SPS, this is calculated without the muffin bonus, which can usually be ~300%.  Inverting the order in which the upgrades are calculated should make it so that late game, your SPC is still roughly 10%, instead of the 2-3% it ends up being.

I am merging this for the hell of it, but be aware that the entire update calculation system will be overhauled at some point: #34

That makes sense, figuring out how SPC was calculated was not an easy task.

This broke the game, because you started at i = length, not i = length-1. Please test your changes before you propose them.

:$  Sorry!


Army Join/Leave Sync

For New Contributors
How to contribute
Description

Sync the values in the Synced list below.
Create an integration test for all values (1 for server changing the value and 1 for client changing the value if applicable)
Create a command to test changing the value in game see similar command
Do not allow players to join Armies that contain other players, to determine this use the IsPlayerParty extension method for MobileParty
Add a TODO comment to add player interactions where step 4 was implemented

Also see additional information at the bottom for more information and templates

Key
Server side only (only allow the running of the function on the server side)
Client side only (only allow the running of the function on the client side)
Client side sync (request the server to change the value, server then changes the value and replies to the client allowing the change)
Server side sync (only server allows running of the function and send to all clients the value changed and clients update the value/call original function)
Synced
Army.OnAddPartyInternal() => Server side sync
Army.OnRemovePartyInternal() => Server side sync
MobileParty.Army (Setter) => Server side sync
Deferred
None
Non-Synced
None
Intended Design

Message networking

Integration Testing

Location

Create a branch based from development
Related Issues

N/A
Requirements

N/A
Additional information

Using the GameInterface Service Tempale create commands to test the synced values.
For network communication use Server Service Template and Client Service Template
It is recommended to start with an integration test, you can create one using the test template.
Definition of Done

[ ] Class level comments exist for all new classes.
[ ] XUnit tests exist for every method that does not require the game to be ran.

The issue cannot be finish totally : It miss the sync of the army creation / deletion.
From the server after I let the time pass :

From the client :

I will finish to create the code structur and the network messages and patches for the futur, and it should works almost automatically when the army sync will be add
I'll also add a Todo where the modification should be done

Question about the MobileParty.Army (Setter) => Server side sync

Is it really necessary ? I synced the 2 methods inside, Army.OnAddPartyInternal() and Army.OnRemovePartyInternal(),
so they trigger every time a mobileParty is add to an Army
I don't see the need to synch also this setter

We discuss with @EgardA about the army creation, and he suggest that we can sync the Kingdom.CreateArmy function to resolve the problem I mention before.

Sync of adding partys working great
sync of removing party work almost, but only when I send a debug command
When the game run and event occurs removing mobile party, I often have a NullReferenceException when I try to call the internal OnRemovePartyInternal().

Fixed :
internal static void RemovePartyInternal(ref MobileParty mobileParty, Army army)
the ref before MobileParty was creating a nullReferenceException


[react] React wrapped components do not offer any way to customise the type of events dispatched

Description
createComponent from @lit-labs/react does not offer any way to customise the type of events being dispatched. As can be seen in the following lines, Event is always used:
https://github.com/lit/lit/blob/efe88ba5a31bae117f8a4c8ddf111068368cf249/packages/labs/react/src/create-component.ts#L87-L89
Steps to Reproduce
Consider some code in a lit component like:
this.dispatchEvent(
  new CustomEvent<string>('some-event', {
    detail: "foobar",
    bubbles: true,
    composed: true,
  })
);

And a react wrapper like:
export const MyComponent = createComponent(React, "my-component", MyLitComponent, {
  onSomeEvent: "some-event",
});

TS generates a type like this from the react wrapper:
onSomeEvent: ((e: Event) => unknown) | undefined;

Event is incompatible with CustomEvent<string> in type terms, so I cannot re-type at the call site like this without an error:
{/* does not work! */}
<MyComponent
  onSomeEvent={(e: CustomEvent<string>) => console.log(e.detail)}
/>

It would be nice if createComponent supported some form of generics for defining event types, since I can likely auto-generate this from my custom elements manifest (at least to some extent: seems the event type there is only CustomEvent and not CustomEvent<string>)
Live Reproduction Link
N/A
Expected Results
TS should know that e here is CustomEvent<string>, without needing to explicitly state the type:
<MyComponent
  onSomeEvent={(e) => console.log(e.detail)}
/>

Actual Results
I have been forced to do this, which is a shame, as we lose all type safety:
<MyComponent
  onSomeEvent={(e: any) => console.log("who needs types, anyway?!", e.detail)}
/>

Browsers Affected
N/A

I would also like to see this feature implemented.
As a workaround you can type cast the event like this:
<MyComponent
  onSomeEvent={(e) => {
    const customEvent = e as CustomEvent<string>;
    console.log("You can now access the detail prop without errors", customEvent.detail);
  }}
/>


@7.7.1 - update devdeps

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

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
67

Relevant Lines:
67

💛  - Coveralls


fileloader example gives error on m1 macos

file-picker-upload-progress.py gives
Exception: Unsupported command: getUploadUrl on upload.
Also, the documentation is very unclear as to where the files have gone, so that they can be used again later.

Interestingly, when I use it as a web app with view=flet.WEB_BROWSER, it is fine and the file go to the relative directory.


Docs: Add ToCs

Description
ToCs would help navigating the glossary a lot. They should be useful for the tutorial and getting started, too.
Tests
Local preview

The TOC on the glossary looks a little funky

I think it will look nicer when we add some structure to it. I discussed having alphabetical and semantic orderings with @ElleEss. For reference check out https://docs.improbable.io/reference/13.3/shared/glossary

Yeah if we do that sort of thing it'll be much nicer 😄

OK, I'll rebase and get fresh screenshots

Fresh screenshots are now in the PR description
For glossary, happy to join categorization discussions, waiting for responses from @ernopp and @callumlawson

Sorry for the slow response. I think that since the health pick up tutorial is so long it is worth having a ToC for it so people can more easily navigate it and know where they are with it


SupplierFramework.serialize: set with_users kwarg default to False

This should placate @allait
All views except get_supplier_frameworks_info should now return no extended user details.

Yay! 🎉
One little note: serialize_agreed_variation still defaults to with_users=True and that method appears to be called from one of the agreement views. Could you check if that's used and flip this flag too?

Good catch - the only thing that hits that endpoint doesn't even take heed of the return value. Will change default.

👍


fix: logger print KubeConfig error

Fixes #N/A
Description
Moved logger forward, fixed that no prompts are output when KubeConfig is incorrect.
How was this change tested?
Before: no KubeConfig, no output.
After: no KubeConfig, has output.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

/retest

/test

/ok-to-test

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

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

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

pkg/operator/operator.go
0
5
0.0%

Files with Coverage Reduction
New Missed Lines
%

pkg/test/expectations/expectations.go
2
93.69%

pkg/controllers/disruption/expiration.go
2
89.66%

pkg/controllers/node/termination/terminator/eviction.go
2
89.09%

Totals

Change from base Build<PHONE_NUMBER>:
-0.02%

Covered Lines:
8320

Relevant Lines:
10337

💛  - Coveralls


add extension support for sharding master slave router

Feature Request
we suggest to add extension support like spi for sharding master slave router.
in some scenario we many need to check weather to router to master only based on some custom context(not HintMnager)
Please answer these questions before submitting your issue. Thanks!
Is your feature request related to a problem?
no
Describe the feature you would like.
extension support for sharding master slave router

Hi, I don't think add so many extension is necessary, and we don't have any evidence to prove enduser need this feature.
Add complexity without benefit is  unnecessary, can you prove importance of this extension?

No response any more, if not want discuss further, I just close this issue.


Request to add a license

Hi Ma,
Great work on the paper and the implementation! I noticed that the repo did not have an license. I was wondering if you could add one so that I can understand the scope of use for the code.
Best,
Jeswin James

@jeswinoc Thanks a lot for the reminder! This repo follows the MIT license, it is okay to take the code for your own purpose (better NOT for criminals, lol). We will add this to our repo later.

Thanks for the quick response @mjq11302010044 :)

Sorry to Poke again, but would be adding the license anytime soon? I am planning to use the code for commercial use and it would be really helpful if you can add a license file :).

@jeswinoc Added, you can take it with your purpose :)


BUG - MIDI Input listener performing poorly

Does the issue occur in the electron-app or the web-app?

[ ] midi-bricks-electron
[ ] midi-bricks-web-app
[x] both

Can you determine, which version was used?
Version: 1.3.27
Describe the bug
A slider follows incoming MIDI data only very slow and delayed, especially with more than 2-3 sliders in the layout.
Steps To Reproduce
Steps to reproduce the behavior:

Create at least 2-3 sliders
map external MIDI CC to the sliders' inputs
move external controls and see sliders' response

I noticed that the bad performance only happens after loading a preset, no matter if in Live Mode or not. When I open the App and just use it in it's latest state, the silders follow incoming MIDI pretty well and quick!

As you can see I merged a PR which adresses this problem. Could you please try out version https://github.com/TimSusa/midi-bricks-mono/releases/tag/v1.3.37 if things went better? In my case I had very good results.

This performs very well now in 1.3.38-alpha.2 (sorry, I wasn't able to test earlier):
Open the App, load a preset, navigate to a page, screw some mapped MIDI knobs - yepp, sliders responding quickly.
But I recognize one fact: if you then navigate to other pages and back, the feedback performance slowly starts to decrease. After navigating back and forth the performance drops step by step, the sliders take gradually longer and longer to respond.
I unknowingly observed this in many versions before, but I think this process of decreasing occured more quickly in earlier versions.

...oberved this in "normal" mode and in LIVE mode equally.

should be fixed with 1.3.38

It is! Performance is absolutely direct and quick, nothing to complain about.
Also I cannot reproduce the deterioration that I mentioned before. Well done - thx so much!


Expand Makefile.PL to allow a full Perl dist, specify dependencies including minimum Perl version

Per a short discussion with @palica, these commits are an initial attempt to expand Makefile.PL and supporting files to allow building and installing both Funtoo::Reporter and the funtoo-report binscript with the Perl toolchain, independently of Funtoo:
$ perl Makefile.PL
$ make
# make install

On Funtoo (and most system installations of Perl), this would apply an appropriate path to the perl interpreter binary (/usr/bin/perl, usually) to the top of funtoo-report, and install it to /usr/local/bin, and the module Funtoo::Reporter to /usr/local/lib[32,64].
It also means we can create standard tarball distributions of the module like so:
$ perl Makefile.PL
$ make
$ make dist

This produces a gzipped tarball, presently Funtoo-Report-1.4.tar.gz, in the project root. This can be installed with cpan or cpanm as part of the Perl toolchain.
As part of this, there's a specification in Makefile.PL of the modules required to run the tool, and also of the minimum Perl version required. As a starting point, I have set this to v5.14, the first stable verson in which HTTP::Tiny was a core module.
There is one backward incompatible change: because this method of building the module installs the libraries in a "known good" location, if it's used then there's no need for the use lib "$PWD/lib" to automatically add the current directory to the include path. This means that if we want to test funtoo-report straight from the project root without installing it, we need to include an -I option to specify that it should load the local version of the library from source:
$ perl -Ilib funtoo-report show-json

I'm not sure how all of the above interacts with the Funtoo ebuild system.
If all of this applies cleanly to Funtoo build processes and the developers' workflows, it opens up the possibility of putting tests in the t directory to test basic functionality of the module with just a make test call, and these tests can be automatically run when the module is installed with cpan or cpanm. It also opens up the long-term possibility of adding the module to CPAN if that's ever desirable, and of generating manual pages for both the script and the module automatically from POD.
I don't expect this pull request to necessarily be merged as-is; I'd like to know how well any/all of this is going to work with what we have first.

I like it very much. Let me test if portage doesn't do any trouble once merged and it should be good to go. Thank you for your work.


Documentation css radio erroneous

Documentation on website isn't up to date : http://ionicframework.com/docs/components/#radio-buttons
Between ionic 1.0.1 and 1.1.0, I've found a broken change in scss/_radio.scss
1.0.1 :
&:checked ~ .item-content {
/* style the item content when its checked */
background: #f7f7f7;
}
&:checked ~ .radio-icon {
/* show the checkmark icon when its checked */
visibility: visible;
}
1.1.0:
&:checked + .radio-content .item-content {
/* style the item content when its checked */
background: #f7f7f7;
}
&:checked + .radio-content .radio-icon {
/* show the checkmark icon when its checked */
visibility: visible;
}
The example of Radio button list showed on website doesn't work anymore with 1.1.0:
We have to change our code for :

    <input type="radio" name="group">

		Go

instead of

    <input type="radio" name="group">

      Go

I see this problem in version 1.1.1, too

fixed


I dove into faces.sp2 and icons.sp1 this week.

I got the faces and icons loaded and drawing. I did notice there are newer high res tex files. I think next will be translating the coords from the old low res to the newer higher res.
I manually added entries for The menu backgrounds and such because I didn't see entries for them. There are empty entries so maybe those are placeholder the game does some of this stuff with? There wasn't a word for DEBUG using the menu font so I pieced together letters.
For anything drawing from a atlas file there will be distortions around the edges unless in SamplerState.PointClamp.
I found some a crash bug in ffcc, fixed that. The part where we are playing a sound loaded in ram needs to be dispose(false) before leaving the fixed statement. I increased the sound channels to 20 just encase.

I just noticed the face test isn't showing the GF's they use the same entry class. I'll take a look should be an easy fix.

This one looks really cool. Great job!


[11.x] Replace file_exists() with is_file() in FileBasedMaintenanceMode

It looks like file_exists() is doing some extra checks that are not necessary for the purpose it serves in FileBasedMaintenanceMode.
The difference between the two is that file_exists() is more tolerant as it will return positive returns not just for files, but also for folders and links. The price it pays for that extra functionality is using the stats cache.
Calls to check whether maintenance mode is on are performed on every web request (if PreventRequestsDuringMaintenance middleware is used). The default implementation is the "file" one. It is in FileBasedMaintenanceMode, and it is using file_exists(). It seems like we can shave off some of those additional checks as they are not needed in this context. The framework/down file flag is never going to be a folder or a link, and the extra stats cache checks look like a waste.

According to the documentation page, both functions use statcache?
https://www.php.net/manual/en/function.file-exists.php
https://www.php.net/manual/en/function.is-file.php

It seems I was wrong about it. Thanks everyone

There is no proven performance benefit of using is_file() over file_exists().
reference: https://github.com/composer/composer/issues/8892#issuecomment-635667593

@SamuelMwangiW @osbre Are you against having a second look at that benchmark?
I looked at the test from the composer comment, and it actually creates different files to test the performance of both functions:
...
    for ($i=0;$i<10000;$i++) {
      array_push($names, tempnam(sys_get_temp_dir(), "AAA"));
      array_push($handles, fopen($names[$i], "rw"));
      fwrite($handles[$i], "writing to tempfile\n");
    }

That $names array they have created is looped over and that's how the benchmark is performed. It seems like this was made intentionally to bypass the cache -- as the same file is not expected twice.
This does not seem to be the same way the file flag is used in FileBasedMaintenanceMode. In that case, it is the same file that is being inspected with file_exists() over and over on every web request. This is where the stats cache is used. My understanding is that is_file() uses only a few checks from the stats, while file_exists() does more checks as it inspects whether it is a folder or a link. That's why once the stats cache is created, is_file() will work faster as it does less work compared to file_exists().
I've created this little benchmark to test this myself:
$filename = 'file-flag';
touch($filename);

$repeats = 1000000;

$ts1 = microtime(1);
for ($i=0;$i<$repeats;$i++) file_exists($filename);
$ts2 = microtime(1);
for ($i=0;$i<$repeats;$i++) is_file($filename);
$ts3 = microtime(1);

printf("file_exists: %0.9f\n", $ts2 - $ts1);
printf("is_file: %0.9f\n", $ts3 - $ts2);
printf("factor: %0.3f\n", ($ts2 - $ts1) / ($ts3 - $ts2));

unlink($filename);

These are several of the results I got:
kt@kt-T460:~/Projects/laravel-framework$ php benchmark.php
file_exists: 1.749470949
is_file: 0.024522066
factor: 71.343

kt@kt-T460:~/Projects/laravel-framework$ php benchmark.php
file_exists: 2.060092926
is_file: 0.062793970
factor: 32.807

It looks like in that benchmark is_file() is 30 to 70 times faster than file_exists(). Is it a ridiculous idea to ask you to have a look at my benchmark and try it yourself?

@kktsvetkov my 2 cents: stat cache is valid per-request. Your tests therefore are only applicable for a user running php in a long-running daemon ala Octane.

reference: https://bugs.php.net/bug.php?id=28790
For all other use cases, the stat cache is cleared after each request and therefore for your tests to reflect the this, you need to run clearstatcache() after each call to reflect this.
In any case, I stand corrected

@SamuelMwangiW thanks for the reply.
I think I found another problem with my benchmark, and it is that it is testing only the "unhappy" path when the file flag is present and the maintenance mode is on. In most cases, the middleware will follow the "happy" path, when the website is running, the maintenance mode is off, and the file flag does not exist. There is no stats cache for non-existing files, and in that case, both is_file() and file_exists() most likely will behave the same. I ran a version of my benchmark script with a non-existing file, and is_file() had poorer performance compared to file_exists().
Again, thanks for the comments and for exploring this with me.

Thank you @kktsvetkov as well. Much appreciated.


Lock Travis distro so new defaults will not break the build

Travis builds on master are currently broken.
Travis is in the process of upgrading the base distro (https://blog.travis-ci.com/2017-07-11-trusty-as-default-linux-is-coming) and despite all PRs being "green", managed to mark the current master as broken.
While updating the default distro, they also removed support for some older versions of PHP (https://github.com/travis-ci/travis-ci/issues/7163). These versions are still supported by this project, so we now have to explicitly define the base distro to test against.
Builds on top of #22

What's particularly great about all this is that I actually managed to misspell dist and that this still fixed the previous issue due to the updated distribution :+1: See #25 for the update.


python311Packages.glfw: 2.6.2 -> 2.6.3

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python311Packages.glfw is: Python bindings for GLFW
meta.homepage for python311Packages.glfw is: https://github.com/FlorianRhiem/pyGLFW
meta.changelog for python311Packages.glfw is: https://github.com/FlorianRhiem/pyGLFW/blob/v2.6.3/CHANGELOG.md
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 2.6.3 with grep in /nix/store/xq0w7rixwk2ylcbaw45222xawspvzzpw-python3.11-glfw-2.6.3
found 2.6.3 in filename of file in /nix/store/xq0w7rixwk2ylcbaw45222xawspvzzpw-python3.11-glfw-2.6.3

Rebuild report (if merged into master) (click to expand)

4 total rebuild path(s)

4 package rebuild(s)

First fifty rebuilds by attrpath
python310Packages.glfw
python310Packages.mujoco
python311Packages.glfw
python311Packages.mujoco

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/xq0w7rixwk2ylcbaw45222xawspvzzpw-python3.11-glfw-2.6.3 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A python311Packages.glfw https://github.com/r-ryantm/nixpkgs/archive/bbac2ef14226a9a1a49f657521178b6c55c6a031.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/bbac2ef14226a9a1a49f657521178b6c55c6a031#python311Packages.glfw

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/xq0w7rixwk2ylcbaw45222xawspvzzpw-python3.11-glfw-2.6.3
ls -la /nix/store/xq0w7rixwk2ylcbaw45222xawspvzzpw-python3.11-glfw-2.6.3/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

4 packages built:

python310Packages.glfw
python310Packages.mujoco
python311Packages.glfw
python311Packages.mujoco

Maintainer pings
cc @McSinyx for testing.

Already on staging-next.


[BACKLOG-24983] Change JSON plugin back to non-OSGI and make new OSGI…

… plugin for get fields

Build Completed
:fire: This pull request has some issues. It would be preferable to fix them in order for it to be just perfect. See below for more details. Some links are also available below for further assistance in addressing those issues.
Build Commands
mvn -B -f 'pom.xml' -pl 'ui,plugins/json/core,plugins,core' -P '!assemblies' -Dsurefire.runOrder=alphabetical -Daudit -amd clean install

Cleanup Commands
mvn -B -f 'pom.xml' -pl 'ui,plugins/json/core,plugins,core' -P '!assemblies' -amd build-helper:remove-project-artifact

Changed files
  core/src/main/java/org/pentaho/di/core/extension/KettleExtensionPoint.java
  plugins/get-fields/assemblies/feature/pom.xml
  plugins/get-fields/assemblies/feature/src/main/feature/feature.xml
  plugins/get-fields/assemblies/pom.xml
  plugins/get-fields/core/pom.xml
  plugins/get-fields/core/src/main/config/javascript/osgi/build.js
  plugins/get-fields/core/src/main/java/org/pentaho/getfields/dialog/GetFieldsDialog.java
  plugins/get-fields/core/src/main/java/org/pentaho/getfields/extension/GetFieldsExtensionPoint.java
  plugins/get-fields/core/src/main/javascript/app/app.component.js
  plugins/get-fields/core/src/main/javascript/app/app.css
  plugins/get-fields/core/src/main/javascript/app/app.html
  plugins/get-fields/core/src/main/javascript/app/app.module.js
  plugins/get-fields/core/src/main/javascript/app/components/error/error.component.js
  plugins/get-fields/core/src/main/javascript/app/components/error/error.css
  plugins/get-fields/core/src/main/javascript/app/components/error/error.html
  plugins/get-fields/core/src/main/javascript/app/components/loading/loading.component.js
  plugins/get-fields/core/src/main/javascript/app/components/loading/loading.css
  plugins/get-fields/core/src/main/javascript/app/components/loading/loading.html
  plugins/get-fields/core/src/main/resources-filtered/META-INF/js/package.json
  plugins/get-fields/core/src/main/resources-filtered/OSGI-INF/blueprint/blueprint.xml
  plugins/get-fields/core/src/main/resources-filtered/app/index.html
  plugins/get-fields/core/src/main/resources-filtered/project.properties
  plugins/get-fields/core/src/main/resources/app/css/fonts/opensans/opensans-light.eot
  plugins/get-fields/core/src/main/resources/app/css/fonts/opensans/opensans-light.svg
  plugins/get-fields/core/src/main/resources/app/css/fonts/opensans/opensans-light.ttf
  plugins/get-fields/core/src/main/resources/app/css/fonts/opensans/opensans-light.woff
  plugins/get-fields/core/src/main/resources/app/css/fonts/opensans/opensans-regular.eot
  plugins/get-fields/core/src/main/resources/app/css/fonts/opensans/opensans-regular.svg
  plugins/get-fields/core/src/main/resources/app/css/fonts/opensans/opensans-regular.ttf
  plugins/get-fields/core/src/main/resources/app/css/fonts/opensans/opensans-regular.woff
  plugins/get-fields/core/src/main/resources/app/css/fonts/opensans/style.css
  plugins/get-fields/core/src/main/resources/app/css/index.css
  plugins/get-fields/core/src/main/resources/app/img/busy_thin.gif
  plugins/get-fields/core/src/main/resources/app/img/busy_thin_white.gif
  plugins/get-fields/core/src/main/resources/app/img/chevron_down_tree.svg
  plugins/get-fields/core/src/main/resources/app/img/chevron_right_tree.svg
  plugins/get-fields/core/src/main/resources/app/img/clear_field.svg
  plugins/get-fields/core/src/main/resources/app/img/search_field_active.svg
  plugins/get-fields/core/src/main/resources/app/img/search_field_inactive.svg
  plugins/get-fields/core/src/main/resources/app/pentaho/debug.js
  plugins/get-fields/core/src/main/resources/app/pentaho/debug/Levels.js
  plugins/get-fields/core/src/main/resources/app/pentaho/debug/impl/Manager.js
  plugins/get-fields/core/src/main/resources/app/pentaho/i18n/MessageBundle.js
  plugins/get-fields/core/src/main/resources/app/pentaho/lang/ArgumentError.js
  plugins/get-fields/core/src/main/resources/app/pentaho/lang/ArgumentRequiredError.js
  plugins/get-fields/core/src/main/resources/app/pentaho/lang/Base.js
  plugins/get-fields/core/src/main/resources/app/pentaho/util/domWindow.js
  plugins/get-fields/core/src/main/resources/app/pentaho/util/fun.js
  plugins/get-fields/core/src/main/resources/app/pentaho/util/has.js
  plugins/get-fields/core/src/main/resources/app/pentaho/util/object.js
  plugins/get-fields/core/src/main/resources/app/pentaho/util/text.js
  plugins/get-fields/core/src/main/resources/i18n/get-fields/messages.properties
  plugins/get-fields/core/src/main/resources/i18n/get-fields/messages_en.properties
  plugins/get-fields/pom.xml
  plugins/json/core/src/main/java/org/pentaho/di/ui/trans/steps/jsoninput/JsonInputDialog.java
  plugins/pom.xml
  ui/src/main/java/org/pentaho/di/ui/core/GetFieldsDialogOperation.java

Unit Test Coverage
These statistics help you identify how your changes have affected the coverage of the following files. If a file is not in this list, then its coverage was not affected by your changes. To get some help interpreting these metrics, please refer to Jacoco's documentation.

:warning: Coverage Changes (click to expand)
org.pentaho.di.trans.steps.dimensionlookup.DimensionLookupMeta

Branch Change: -1.8% :small_red_triangle_down:
Complexity Change: -1.1% :small_red_triangle_down:
Instruction Change: -0.4% :small_red_triangle_down:
Line Change: -0.3% :small_red_triangle_down:

org.pentaho.di.trans.steps.groupby.GroupByMeta

Branch Change: -4.1% :small_red_triangle_down:
Complexity Change: -4.2% :small_red_triangle_down:
Instruction Change: -0.3% :small_red_triangle_down:
Line Change: -0.7% :small_red_triangle_down:

org.pentaho.di.trans.steps.replacestring.ReplaceStringMeta

Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.tableoutput.TableOutputMeta

Branch Change: -0.9% :small_red_triangle_down:
Complexity Change: -0.8% :small_red_triangle_down:

org.pentaho.di.trans.steps.webservices.WebServiceMeta

Branch Change: -1.7% :small_red_triangle_down:
Complexity Change: -1.2% :small_red_triangle_down:
Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.gpload.GPLoadMeta

Branch Change: -0.9% :small_red_triangle_down:
Complexity Change: -0.8% :small_red_triangle_down:
Instruction Change: -0.2% :small_red_triangle_down:

org.pentaho.di.trans.steps.salesforceupdate.SalesforceUpdateMeta

Instruction Change: -0.2% :small_red_triangle_down:

:new: org.pentaho.di.ui.core.GetFieldsDialogOperation

Coverage: 0% :exclamation:

@pentaho/r2d2


Cannot find package '@vitejs/plugin-react

Description
I have reinstalled and restarted it once but it doesn't seem to want or be able to load this config
Screenshots

Additional information
The docker runs on synology new os and the project was created with tag lates

Thanks. Yes. On it. Use 5.19.13 until 5.19.15 is released.

Latest should work


About us page

Update the about us page

duplication : https://github.com/healthsites/healthsites/issues/1438


Permit isGCS in FileData to be null

Change the definition of FileData.isGCS from “boolean” (lower case
boolean) to a wrapped “Boolean” (upper case) because the later can
take on a null value. Older projects may not have a value stored for
isGCS, which means its value is effectively null. A null value cannot
be loaded into a FileData object is isGCS is a boolean because
booleans cannot be null. This results in an error when loading older
projects.
Change-Id: I653fef7f3141c0febbec837929d28e4a00b256ff

@halatmit @afmckinney Please review. I am still testing this myself, but so far so good. This problem is causing old projects and some modified during February of 2015 to fail to load.

I'm going to open a fresh one...


Oauth2 to OIDC

What kind of a pull request is this?
Our OIDC-provider also provides Oauth2-authentication.
This ports the shop over to the oidc-provider so we avoid duplicate authentication modules.

QA / Code Review

Code Checklist

[x] The code follows dotkom code style
[x] The code passes the defined tests
[ ] I have added tests for the code I added
[ ] I have provided documentation for the code I added
[x] The code is ready to be merged

(Possible) Breaking Changes
This breaks Nibble until https://github.com/dotkom/Nibble2/pull/75 is merged

[ ] The changes
are backwards compatible

[ ] I have updated the build configuration
[ ] These changes requires changes to configuration in production

[ ] I have applied the required changes in production
[ ] I cannot apply the required changes in production before this is deployed.

Description of changes
Screenshot(s) if appropriate

I am a bit conflicted about this seeing as https://github.com/juanifioren/django-oidc-provider is relatively stale and not well-documented. On the other hand, we are already using it and this would require less manual work (i.e. issuing new tokens and secrets to all current applications) while satisfying our current needs.

I am a bit conflicted about this seeing as juanifioren/django-oidc-provider is relatively stale and not well-documented. On the other hand, we are already using it and this would require less manual work (i.e. issuing new tokens and secrets to all current applications) while satisfying our current needs.

I can agree in being a bit conflicted on it, but as of right now it still works. If we end up needing to change we could export to a completly separate OpenID provider without too much hassle I think? We may need everyone to change their passwords at worst?
@Aborysa had a look into setting up KeyCloak earlier, which might still be an alternative. Is it much work to get working as a bare-minimum?


Proposal: offer a fallback mode

Right now, once you turn on uProxy, all websites are loaded through it.  For many users, this is probably overkill.  If you are using uProxy as a pure access tool, then it's only needed on sites that are blocked.  The rest of the time, it's just slowing down your experience.
I can see a few different ways to implement fallback mode:

Detect suspicious failures and retry through the proxy.
Same as 1 but first force all URLs to https, so that all unencrypted traffic is proxied.
Maintain some central database of blocked sites, and pre-emptively proxy only those page loads.

Fallback mode 2 is my favorite.  It trades our metadata privacy protection for performance, while preserving the enhanced content privacy (sort of like HTTPS Everywhere with a bonus).  I suspect there are many users for whom this would be a welcome trade.

Agreed! Can we also set the system dns to google dns or the like? That
would be sufficient to make more encrypted sites load directly as well.
On May 22, 2015 8:45 PM, "Benjamin M. Schwartz"<EMAIL_ADDRESS>wrote:

Right now, once you turn on uProxy, all websites are loaded through it.
For many users, this is probably overkill. If you are using uProxy as a
pure access tool, then it's only needed on sites that are blocked. The rest
of the time, it's just slowing down your experience.
I can see a few different ways to implement fallback mode:

Detect suspicious failures and retry through the proxy.
Same as 1 but first force all URLs to https, so that all unencrypted
traffic is proxied.
Maintain some central database of blocked sites, and pre-emptively
proxy only those page loads.

Fallback mode 2 is my favorite. It trades our metadata privacy protection
for performance, while preserving the enhanced content privacy (sort of
like HTTPS Everywhere with a bonus). I suspect there are many users for
whom this would be a welcome trade.
—
Reply to this email directly or view it on GitHub
https://github.com/uProxy/uproxy/issues/1570.


Detect newer available version

It could be suggested in wrapper generator. There are two cases:

we generate wrappers for versions e.g. v2.0.1, v2.1 (creates wrapper V2), and there's a new version v2.2 - then it needs bumping the version in the existing wrapper request
we generate wrappers for major versions e.g. v2, v3, and there's a new version v4 - then suggest adding a new wrapper request

Maybe this GitHub API could be used:

https://docs.github.com/en/rest/reference/git#list-matching-references
https://api.github.com/repos/actions/checkout/git/matching-refs/tags/v

@jmfayard quick workaround: we could do it less often than wrapper regeneration, like once a week, and then it would have to be a separate workflow. It would then allow us to add like 1-2-minute waiting between the requests so that we don't cross the rate limit.

Actually it's fine, the rate limit is high enough once we are logged in with a GITHUB_TOKEN
x-ratelimit-limit: 60 is for an authentificated call

@jmfayard did you mean unauthenticated? :)

Correct :)


Js verif

No more two tabs for rentals. Also, a merge on Tom's code.

I may be forgetting a feature in the previous js-verification branch.... Don't merge yet.

I need to add the attachments for the req forms. I may start a new feature branch for that...

just a reminder, as mentioned in my email, all pull requests should come from umts now. This branch should be pushed up to umts as a separate branch then the pull request should come from umts/probable-engine not your fork.


Cheap source maps for ES2015 modules have incorrect line mappings

Do you want to request a feature or report a bug?
Report a bug
What is the current behavior?
If the current behavior is a bug, please provide the steps to reproduce.
When any of the cheap source map devtools are used, files that are considered ES2015 modules have incorrect lines mappings. For cheap-module-* source maps, the mappings are off by 2 for every import statement used.
One import:
import a from 'a';

throw new Error();
// 1
// 2 (source map says `throw new Error();` is on this line

Two imports:
import a from 'a';
import b from 'b';

throw new Error();
// 1
// 2
// 3
// 4 (source map says `throw new Error();` is on this line

If you change all of the import statements to require statements, the line mappings are correct (probably since in that case, Webpack will treat the file as a regular CommonJS module).
I am using Babel, but I'm not using it to transform ES2015 modules:
module.exports = {
  // ...
  module: {
    rules: [
      {
        test: /\.js$/,
        loader: 'babel-loader',
        exclude: /node_modules/,
        options: {
          presets: [
            ['latest', {
              es2015: {
                modules: false
              }
            }],
            'stage-2',
            'react'
          ]
        }
      }
    ]
  },
  // ...
};

Please mention other relevant information such as the browser version, Node.js version, Operating System and programming language.
webpack 2.2.0-rc.2
Node.js 6.9.2
Chrome 55 on Windows 10

Looks like a bug in the ReplaceSource, it seem to handle replacements with newlines incorrectly.

This bug is biting me too. I have a fairly complicated .babelrc file, but this patch is a workaround for the problem:
-        // This plugin places a "use strict"; directive at the top of all files.
-        ["transform-strict-mode"],
+        // ES2015 modules syntax to commonjs + "use strict"
+        // We don't use loose mode here because we don't need support ES3 browsers.
+        ["transform-es2015-modules-commonjs"],

This transforms ES6 modules into CommonJS syntax, which nullifies some of the advantages of Webpack 2, but it does fix the sourcemaps :-/

Is it because of { "modules": false }?

I've also notices that it shows incorrect stacktraces when there's an error in import. E.g.:
import {a} from './foo'; // non-existent import

a(); // should show that 'a' is not a function

The error message is quite cryptic in this case.

Could you try again with v2.3.2? This should be fixed now.

Yes, v2.3.2 fixes this 👍


Prevent service connection leaks

I am not convinced that the resumed flag is needed.
Does your other changes fix the memory leak problem?


[Bug] Can't install better discord

I've tried running it in compatibility mode, running as an admin. It simply won't install, it opens the do you want to run this file, and that's it, even unblocked it -- nothing is stopping it from running at all and I cannot join either the discord or secondary discord for assistance over the matter.

Exact same thing is happening to me.

Not possible to install either. Installer tells me it worked but nah

managed to fix it.
Head over to C:\Users[NAME]\AppData\Local\Discord   and delete every folder with the name of app-XXXX except app-1.0.9001 .
Reboot discord and run the BD installer

Installer issues should be filed on that repo https://github.com/BetterDiscord/Installer

安装程序问题应提交到该存储库https://github.com/BetterDiscord/Installer

thanks，help me a lot


Removing trailing comma when including parents in toJson() method

When eager loading more than one parent with ".include", the toJson() method appends a trailing comma after the item in the first parent, generating an invalid JSON string which causes errors in most parsers.
"Computer.findAll().include(Motherboard.class, Keyboard.class)" generates:
[
  {
    "description":"ComputerX",
    "id":1,
    "key_id":1,
    "mother_id":1,
    "parents":{
      "keyboards":[
        {
          "description":"keyboard-us",
          "id":1
        },
      ],
      "motherboards":[
        {
          "description":"motherboardOne",
          "id":1
        }
      ]
    }
  }
]

After fix (valid JSON without trailing comma):
[
  {
    "description":"ComputerX",
    "id":1,
    "key_id":1,
    "mother_id":1,
    "parents":{
      "keyboards":[
        {
          "description":"keyboard-us",
          "id":1
        }
      ],
      "motherboards":[
        {
          "description":"motherboardOne",
          "id":1
        }
      ]
    }
  }
]

SUGGESTION
Another approach would be to remove the array and pluralization from parent items, since there can only be one item of each parent (many2many items are loaded as children). The result would be:

[
  {
    "description":"ComputerX",
    "id":1,
    "key_id":1,
    "mother_id":1,
    "parents":{
      "keyboard":{
        "description":"keyboard-us",
        "id":1
      },
      "motherboard":{
        "description":"motherboardOne",
        "id":1
      }
    }
  }
]

@lucaslsl thanks for the fix! I also added a test.