Replace boundary polygons with lines in vector tiles

A boundary that changes often results in many overlapping features in the vector tiles that are mostly redundant to each other. For example, a tile containing San José, California, weighs in the tens of megabytes, even though it contains little besides boundaries: https://github.com/OpenHistoricalMap/issues/issues/698#issuecomment-1954675311. San José might be an outlier in terms of the sheer number of annexations,[^records] but we can expect more problem spots in the future, particularly as mappers begin recording land swaps along river boundaries, which are complex to begin with.
The overlapping boundaries inherently come with exorbitant size overhead, even if we simplify the geometries aggressively: #702. For a sense of scale, the boundary polygons representing San José over time currently contain a total of 2,444,653 separately encoded coordinates, whereas a corresponding set of boundary polylines would contain only 69,674 separately encoded coordinates, since concurrent boundary edges would be encoded only once. Boundary edge polylines also require much less effort to render on the client side than full polygons.
Some of this redundancy is necessary, since a given edge might run in opposite directions after applying winding order to each boundary. In lay terms, along a given north–south boundary edge, San José might lie to the west of the boundary in one year but to the east in another year. A rigorous solution like #603 would probably have to address this problem comprehensively, but for now we could either defer boundary edge labels or find a way to keep two distinct linestring features running in opposite directions.
A polygon representation of boundaries has some utility, especially for rendering boundary halos of different colors, for example when a national park abuts an administrative boundary. It’s also essential for making a choropleth map out of administrative areas: #700. However, overlapping polygons make it impossible to reliably style boundaries as dashes: https://github.com/openmaptiles/openmaptiles/pull/1604#issuecomment-1868558482. For example, if we were to reintroduce dashed lines of different lengths based on admin_level=*, the dashes would clump up together forming a solid line whenever a municipal boundary runs concurrently with a county or state boundary.
A naïve approach would be to replace existing usage of ST_AsMVTGeom with whatever we did in OpenHistoricalMap/ohm-deploy#89 to copy the details of an associatedStreet relation onto the member ways. We’ll also need to generate centroid point features for these boundaries at the same time: https://github.com/OpenHistoricalMap/issues/issues/543#issuecomment-1672591828. But we won’t be able to encode any side-dependent attributes, such as names, until we copy each polyline feature once per winding order.
[^records]: 1,174 distinct iterations for San José, compared to only 891 for Columbus, Ohio, another major city that experienced sprawl.

Interested in thoughts from @Rub21 and @batpad on this.

The idea of converting polygons into lines sounds promising; it will significantly reduce the size of many tiles, and for long-term efficiency, that would be beneficial to me as well. However, I believe this adjustment needs to be made during the data loading process into PostGIS, rather than within the tiler. Therefore, it should be modified in imposm by changing a parameter to load lines instead of polygons for certain types of tags.
To achieve this, we can initiate the process by copying the tile-imposm directory into ohm-deploy/images. This approach allows for better customization without altering the existing functionality in osm-seed.
For clarification, is the central point intended to be added specifically for administrative boundaries? There will be two cases: if the administrative boundaries are polygons and relations. In the case of relations, they may already contain points within them. However, for polygons, we need to add a center point. Adding a central point could be challenging using imposm, but we could explore other alternatives such as a PostGIS function to create, delete, or update center points for polygons

For clarification, is the central point intended to be added specifically for administrative boundaries? There will be two cases: if the administrative boundaries are polygons and relations. In the case of relations, they may already contain points within them. However, for polygons, we need to add a center point. Adding a central point could be challenging using imposm, but we could explore other alternatives such as a PostGIS function to create, delete, or update center points for polygons

Yes, automatically generating a centroid point is important, for more than just boundaries: https://github.com/OpenHistoricalMap/issues/issues/543#issuecomment-1672591828. For boundaries, we’re already working around the issue by manually mapping and styling explicit points near the centroids. So I think we can pursue that optimization in parallel.

@Rub21 - any update on this?

@jeffreyameyer , Per voice call with Sanjay and Dan, we agree that generating the center-point for each polygon or relation that comes from OSM may be challenging. The process of adding, updating, and removing a center-point is not currently supported by IMPOSM. Apart of that, converting those boundaries into linestrings may affect names styling. we can chat bit more about it.

Per voice call with Sanjay and Dan, we agree that generating the center-point for each polygon or relation that comes from OSM may be challenging. The process of adding, updating, and removing a center-point is not currently supported by IMPOSM.

Are you sure the centroid point needs to be generated by imposm3? Can we instead generate it on the fly in one of the PostgreSQL queries in the tiler’s providers? For example, the landuse_points provider would query the osm_landuse_areas table, calling a PostGIS function such as ST_Centroid instead of just regurgitating the geometry verbatim.

Apart of that, converting those boundaries into linestrings may affect names styling.

Yes, generating the centroid points is a prerequisite for representing boundaries as lines.
To get the performance improvements, another important step would be to either join the boundary relations to deduplicate their LineString geometries or copy the relations’ details onto the member ways at import time. imposm3 might be more of an obstacle for doing this. I think we should take a look at how OpenMapTiles implements boundaries using imposm3.
/ref https://github.com/OpenHistoricalMap/issues/issues/543#issuecomment-1672591828

I have made evaluations to display the boundaries as lines and the centroids, but there are some cases where the centroid points are outside of the polygons/lines. For example, there are 96 cases only for Admin levels 1 and 2. 👇
For the follwing case, we can convert the multipolygons to simple polygons and then create centroids from these simple polygons, which could be centered under the polygon/lines.

For the following cases, it will be a bit difficult because these are already simple polygons, and the centroids are falling outside. I am still investigating how these can overlap with the polygons and centroids.

there are some cases where the centroid points are outside of the polygons/lines

You’re right, this is one of the shortcomings of ST_Centroid. There are some alternative centroid algorithms for better results at some (hopefully negligible) performance cost. openstreetmap-carto uses ST_PointOnSurface. OpenMapTiles switches between ST_Centroid and ST_PointOnSurface depending on the geometry type. You may also need to account for degenerate cases by making the geometry valid first: openmaptiles/openmaptiles#487. Another option is ST_MaximumInscribedCircle, which implements the same algorithm that MapLibre uses to label polygons natively.

Seems like center of ST_MaximumInscribedCircle is the most appealing, which is a pretty cool function.
@1ec5 - what are your thoughts on supporting manually-specified labels?
Also - are these points just for boundary polygons or for all area polygons? (Ref #543 and #579 )

@1ec5 @jeffreyameyer  , ST_MaximumInscribedCircle works  very good, here the results.

I am going to deploy it in staging

The centroid and lines for  boundaries have been deployed  in staging:  https://vtiles.staging.openhistoricalmap.org/. The ohm_areas will continue to show until the styles are updated.

cc. @erictheise

The centroid and lines for boundaries have been deployed in staging

Awesome, thanks for the quick turnaround! Am I correct in understanding that we’re synthesizing the centroid points prior to tiling up the geometries? So we don’t need to worry about a bazillion United States points at z16, all in the same place?

Also - are these points just for boundary polygons or for all area polygons? (Ref https://github.com/OpenHistoricalMap/issues/issues/543 and https://github.com/OpenHistoricalMap/issues/issues/579 )

The idea is to synthesize these centroid points for any polygon or multipolygon that we intend for stylesheets to label – boundaries, land use areas, buildings, you name it. We started talking about it in #543, but the discussion migrated over here because it’s blocking the conversion of boundaries from polygons to linestrings.

what are your thoughts on supporting manually-specified labels?

Yes, we’ll need to support manually-specified labels as well to avoid duplication, and because some kinds of boundaries, such as cities, should be labeled at a point other than the centroid. Ideally, we’d only synthesize a centroid point if the relation doesn’t already have a label member. (Naturally, this condition is only relevant to boundary relations, not other areas or multipolygons.)
There will be many opportunities to polish this feature, but the most pressing need is to get something functional out the door so that a) mappers no longer feel pressure to manually map labels at centroids, and b) we can start converting boundaries to linestrings. That step will probably require some more thought around how to merge features while preserving relevant dates. Once this initial iteration is deployed, we can get to work deleting the Newberry import’s centroid points, many of which lie completely outside of the boundaries they label.

Awesome, thanks for the quick turnaround! Am I correct in understanding that we’re synthesizing the centroid points prior to tiling up the geometries? So we don’t need to worry about a bazillion United States points at z16, all in the same place?

We are synthesizing the points and lines in the tiler server not imposm, here the configurations: https://github.com/OpenHistoricalMap/ohm-deploy/blob/staging/images/tiler-server/config/providers/admin_boundaries_centroids.toml , https://github.com/OpenHistoricalMap/ohm-deploy/blob/staging/images/tiler-server/config/providers/admin_boundaries_centroids.toml
Currently, the vector tiles in staging contain the boundaries for polygons, lines, and points. Once the styles are implemented for them, I am going to remove the boundaries for areas, so the vector tiles should be lighter.

Something I have been noticing is that the 'place_points' and 'ohm_land_centroids' layers are showing the same information in the points. We need to apply a filter to 'place_points' to avoid displaying the admin points. e.g 👇

Avoid synthesizing a centroid point if the relation has a label member; or
Include a property that helps the stylesheet distinguish a synthesized centroid point from a label member

I am figuring out how we can include more attributes for the place_points layer. I am making some adjustments to the imposm.

Will you attempt to deduplicate overlapping boundary lines at all? That would have a significant performance benefit, but it might be tricky to get right. Sometimes a boundary starts, ends, starts, ends, and so on, changing admin_levels at various times. ,

That is the idea to convert all administrative boundaries into lines and centroids. I don't understand what you meant by 'start and ends,

Avoid synthesizing a centroid point if the relation has a label member; or

I have implemented this functionality, the centroids are going to be created if the polygons/relations do not have a label member.
I ran this query 👇  directly in the staging database. Later, if this works, I can implement it to run automatically in the database using a trigger or a cron job
DO $$
BEGIN
    IF NOT EXISTS (SELECT 1 FROM information_schema.columns
                   WHERE table_name='osm_admin_areas'
                   AND column_name='has_label') THEN
        ALTER TABLE osm_admin_areas ADD COLUMN has_label BOOLEAN DEFAULT FALSE;
    END IF;
END $$;

CREATE INDEX IF NOT EXISTS osm_relation_members_osm_id ON osm_relation_members (osm_id);

UPDATE osm_admin_areas
SET has_label = TRUE
WHERE osm_id IN (
    SELECT osm_id
    FROM osm_relation_members
    WHERE role = 'label'
);

The results e.g,
This relation do not have label in their members. , so it show a centroid in the vtiles.
https://vtiles.staging.openhistoricalmap.org/#10.18/42.1345/-5.75

In case of this relation the has label member, the centroid it wont show up in vtiles.

Will you attempt to deduplicate overlapping boundary lines at all? That would have a significant performance benefit, but it might be tricky to get right. Sometimes a boundary starts, ends, starts, ends, and so on, changing admin_levels at various times. ,

That is the idea to convert all administrative boundaries into lines and centroids. I don't understand what you meant by 'start and ends,

For example, this way at the edge of San José, California, is a member of many boundary relations. Since each boundary is currently a polygon feature, the same coordinates are repeated many times over in the same tile. Just converting these boundary relations to lines probably wouldn’t affect the tile’s size, but I was wondering if whether you were planning to go a step further and dissolve the boundaries back onto this shared way so that it only appears once in the tile. If so, this might be an easy case, since all the boundary relations have the same boundary=* and admin_level=* tags. But sometimes it’s more complicated. This way at the edge of Texas has mostly run along admin_level=4 boundaries, but on two separate occasions, a total of four admin_level=2 boundaries have also run along it.
I think it would be fine to deploy a first iteration of this feature that doesn’t merge the boundary ways yet. At least that would give us an opportunity to clean up the data and the stylesheets. But sooner or later we’ll want to consolidate the ways in order to reduce tile size. This would also enable stylesheets to apply dashed lines to the boundaries; overlapping ways or polygons prevent dashing because one line’s dashes can fill in the other line’s gaps.

For example, this way at the edge of San José, California, is a member of many boundary relations. Since each boundary is currently a polygon feature, the same coordinates are repeated many times over in the same tile.

yes, you are right,  the polygons are been created according the number of relations/closed ways, for the case of San Jose way edge The way is part of 164 polygons in the tiler DB.
If we want to keep only one geometry as a line in this case, we may need to add all the relation information that has been part of it.  it means that the line should retain information from the 164 relations, including all details necessary to display on the map, such as name, start date, and end date. as well as the following lines too,  that also a lot attributes informations for a tiles size.
Currently, the lines (geometries) are being repeated 164 times, but the polygon/linestring information such as name, start_date, and end_date appears only once in the tile.

I think it would be fine to deploy a first iteration of this feature that doesn’t merge the boundary ways yet. At least that would give us an opportunity to clean up the data and the stylesheets.

Totally make sense,
Before deploying those latest changes, I am going to make the script run automatically. What I've done so far is run many scripts manually in the database.

This task has been completed; the process of creating the centroids and avoiding them in case relations have label is working fine.
https://vtiles.staging.openhistoricalmap.org/#4.26/-3.9/-88.94

If we want to keep only one geometry as a line in this case, we may need to add all the relation information that has been part of it. it means that the line should retain information from the 164 relations, including all details necessary to display on the map, such as name, start date, and end date. as well as the following lines too, that also a lot attributes informations for a tiles size.

Now that we’re generating separate point features for the labels, name properties on the lines wouldn’t be useful for labeling centroids anymore. They could be useful for boundary edge labels, but only if we indicate whether a name applies to the left or right side of the linestring. That would be unnecessary for now, since our styles don’t have boundary edge labels yet.
I was thinking that we could also detect that the way is part of relations that completely cover a certain time period. My example way from San José was continuously part of a boundary relation for many years, so all we need is a single linestring with the earliest relation’s start_date and the latest relation’s end_date. I don’t know how feasible this is with the current architecture. We can track this idea in a separate issue to keep things clear.

This task has been completed; the process of creating the centroids and avoiding them in case relations have label is working fine. https://vtiles.staging.openhistoricalmap.org/#4.26/-3.9/-88.94

@Rub21 can you clarify here -- in order for @vknoppkewetzel and @tsinn to style all labels for polygons, it sounds like sometimes they need to target place_points and sometimes they need to target land_ohm_centroids. Is that correct? The two will never be part of a single layer?

I can style with them as separate but it seems like it would make sense to fold into the place_points data in the future I think?
I do know some of the attributes are slightly different.

in place_points, there is no reference to admin_level like in land_ohm_centroids. In place_points however, type has a value that is useful to know (possibly?) - the naming convention may be country-dependent, but the above example screenshots shows type=county.
This means:

country name data layer styling for place_points AND country name data layer styling for land_ohm_centroids
etc, 2 layers for all admin levels

can you clarify here -- in order for @vknoppkewetzel and @tsinn to style all labels for polygons, it sounds like sometimes they need to target place_points and sometimes they need to target land_ohm_centroids. Is that correct? The two will never be part of a single layer?

How is the current flow and distribution of objects in the layers?
The place_points layer consists of all objects that have place=* according to the OpenStreetMap wiki. This includes place=city, place=town, place=village, and place=hamlet. Examples of these points are:

Node<PHONE_NUMBER>
Node<PHONE_NUMBER>

When importing to the database using tiler-imposm, a conversion from place to type in the attributes is performed. These were established at the beginning of the project.
So, if there is a relation like this one, this relation object will be added to two layers:

land_ohm (relation/polygons), which is the area of the relation.
place_points, because the relation has a point member with place=state.

What we are currently developing:
For the land_ohm_lines and land_ohm_centroids layers:

land_ohm (relations/polygons) that are areas will be converted to linestring, and all attributes will be copied to the linestring and it will be represented as the land_ohm_lines layer.
land_ohm (polygons) that are areas will have their centroids calculated, and all attributes will be copied to the centroids, and it will be represented as the land_ohm_centroids layer.

Therefore, for the layers, the same object will have the same attributes in the land_ohm_lines and land_ohm_centroids layers.
As example:

A Relation 2800841 has been created with a group of ways and a label as a member. It has a label as a point member with the attribute place=state (Node<PHONE_NUMBER>). This point will be shown in the place_points layer.

Therefore, according to our new conversion of linestrings and centroids, we would have  same object in  place_points , land_ohm_lines and land_ohm_centroids,  as the comment here: https://github.com/OpenHistoricalMap/issues/issues/701#issuecomment-2098883713

To resolve the issue of duplication in the place_points and land_ohm_centroids layers, we have implemented some functions in the PostgreSQL database. If there is a point member in the relation with the attribute place=*, it will be shown in the place_points layer as it currently is. Otherwise, if there is no point member, it will be shown in the land_ohm_centroids layer. This avoids having two points displaying the same attributes.
For example, the above relation and way do not have a member point with place=*. For this reason, we are creating the centroids. Note, we need to create centroids for these objects because once we convert them into linestrings, there will be no way to show the representative names without using the centroids.

https://staging.openhistoricalmap.org/way/200016003
https://staging.openhistoricalmap.org/relation/2800846

https://vtiles.staging.openhistoricalmap.org/#7.14/-10.298/-78.884

Thanks @Rub21 . Currently Country land state labels are housed in place_points , and will in the future be housed in land_ohm_centroids it sounds like.

This task has been completed; the process of creating the centroids and avoiding them in case relations have label is working fine.
I had understood that the task was completed here, but perhaps that was just referencing the wrapping up of land_ohm_lines?

In #787 I've updated a test style that shows the updated land_ohm_lines and includes a TEST data layer with the land_ohm_centroids highlighted in red text. I can circle back to refine those further when the centroid work is finished. Does that sound like the right next steps for me on my end?

If there is a point member in the relation with the attribute place=*, it will be shown in the place_points layer as it currently is.

Does this distinguish between the admin_centre and label roles? A member with either role would typically be a place=* node, but we would still want to generate a centroid for the United States if it lacks a label member, even if the node for Washington, D.C., is an admin_centre member. These days, I view admin_centre as somewhat off-topic for OHM, because mappers can indicate a “seat of government of” relationship in Wikidata; however, we have over 6,000 occurrences of this role, and I’d expect the number to increase over time due to influence from OSM.

Barring the discussion above related to admin_centre and label roles, given that this is now operating in production, is this ticket done? @danrademacher w00t!

This ticket is done, closing  here!

Next actions:

#543
#798
#800


HG-113: Clean up Org import, Event import Commands, Add Tests

@allella I had a quick pair programming sessions with Zach earlier today, and we improved the look and feel of the code.
This Diff is huge, probably best to pull down the PR and look at files from another point of view.
@zach2825 this is ready for ya to review.

I think this should work in a command as well
Closes https://github.com/hackgvl/hackgreenville-com/issues/113
Closes https://github.com/hackgvl/hackgreenville-com/issues/109

I tried to make the changes and push them up, but I don't have permission or something random like that. The things I found are very minor.

Thanks @bogdankharchenko.
My main questions is with the app/Console/Kernel.php having a scheduled import.  Is this hooking the imports on to a user's visit?  If so, I assume that would get queued on the end and not impact their browsing experience.
Still, we've had a cron job, which might actually be too frequent, but I wonder if we should continue using a cron job to trigger.
If so, what would be the best cron command to schedule.
The current on is below, and again, it looks like it runs every minute, which is more than necessary.
* * * * * cd ~/public_html/hack && php artisan schedule:run >> /dev/null 2>&1
CC'ing @zach2825

@allella once this is merged, you should close this PR: https://github.com/hackgvl/hackgreenville-com/pull/141
As this PR superseeds it, just want to make sure you do not merge both.

Looks like we have three thumbs up. Are we ready to merge this @bogdankharchenko ?

@allella yeah for sure


App not rendering on Nexus 5

Getting following trace when I tried to build and run on Nexus 5
I'm seeing the same screen on the app installed from Play store as well. (screen shot below)

Launching lib/main.dart on Nexus 5X in debug mode...
Initializing gradle...
Resolving dependencies...
Running 'gradlew assembleDebug'...
Built build/app/outputs/apk/debug/app-debug.apk (32.1MB).
I/FlutterActivityDelegate(20134): onResume setting current activity to this
Syncing files to device Nexus 5X...
I/flutter (20134): ══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
I/flutter (20134): The following assertion was thrown building HomePageBody(dirty, state: HomePageBodyState#8f814):
I/flutter (20134): type '() => dynamic' is not a subtype of type '() => Future'
I/flutter (20134):
I/flutter (20134): Either the assertion indicates an error in the framework itself, or we should provide substantially
I/flutter (20134): more information in this error message to help you determine and fix the underlying cause.

E/flutter (20134): [ERROR:topaz/lib/tonic/logging/dart_error.cc(16)] Unhandled exception:
E/flutter (20134): type '_BoundSinkStream<dynamic, List>' is not a subtype of type '_HttpIncoming' where
E/flutter (20134):   _BoundSinkStream is from dart:async
E/flutter (20134):   List is from dart:core
E/flutter (20134):   int is from dart:core
E/flutter (20134):   List is from dart:core
E/flutter (20134):   int is from dart:core
E/flutter (20134):   _HttpIncoming is from dart:_http
E/flutter (20134):   List is from dart:core
E/flutter (20134):   int is from dart:core
E/flutter (20134):
E/flutter (20134): #0      _HttpClientResponse.listen (dart:_http/http_impl.dart:382:23)
E/flutter (20134): #1      new _ForwardingStreamSubscription (dart:async/stream_pipe.dart:123:10)
E/flutter (20134): #2      _ForwardingStream._createSubscription (dart:async/stream_pipe.dart:91:16)
E/flutter (20134): #3      _ForwardingStream.listen (dart:async/stream_pipe.dart:86:12)
E/flutter (20134): #4      StreamView.listen (dart:async/stream.dart:1745:20)
E/flutter (20134): #5      ByteStream.toBytes (package:http/src/byte_stream.dart:24:5)
E/flutter (20134): #6      Response.fromStream (package:http/src/response.dart:69:28)
E/flutter (20134): #7      BaseClient._sendUnstreamed (package:http/src/base_client.dart:171:21)
E/flutter (20134):
E/flutter (20134): #8      BaseClient.get (package:http/src/base_client.dart:34:5)
E/flutter (20134): #9      get. (package:http/http.dart:47:34)
E/flutter (20134): #10     _withClient (package:http/http.dart:167:20)
E/flutter (20134):
E/flutter (20134): #11     get (package:http/http.dart:47:3)
E/flutter (20134): #12     HomePageBodyState.getDataFromAPI (package:crypto_shadow/ui/home/home_page_body.dart:24:31)
E/flutter (20134):
E/flutter (20134): #13     HomePageBodyState.getData (package:crypto_shadow/ui/home/home_page_body.dart:66:13)
E/flutter (20134):
E/flutter (20134): #14     HomePageBodyState.initState (package:crypto_shadow/ui/home/home_page_body.dart:73:5)
E/flutter (20134): #15     StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3734:14)
E/flutter (20134): #16     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3600:5)
E/flutter (20134): #17     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2890:14)
E/flutter (20134): #18     MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4716:32)
E/flutter (20134): #19     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2890:14)
E/flutter (20134): #20     Element.updateChild (package:flutter/src/widgets/framework.dart:2693:12)
E/flutter (20134): #21     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3636:16)
E/flutter (20134): #22     Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5)
E/flutter (20134): #23     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3605:5)
E/flutter (20134): #24     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3600:5)
E/flutter (20134): #25     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2890:14)
E/flutter (20134): #26     Element.updateChild (package:flutter/src/widgets/framework.dart:2693:12)
E/flutter (20134): #27     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3636:16)
E/flutter (20134): #28     Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5)
E/flutter (20134): #29     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3605:5)
E/flutter (20134): #30     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3600:5)
E/flutter (20134): #31     ParentDataElement.mount (package:flutter/src/widgets/framework.dart:3916:11)
E/flutter (20134): #32     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2890:14)
E/flutter (20134): #33     MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4716:32)
E/flutter (20134): #34     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2890:14)
E/flutter (20134): #35     Element.updateChild (package:flutter/src/widgets/framework.dart:2693:12)
E/flutter (20134): #36     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3636:16)
E/flutter (20134): #37     Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5)
E/flutter (20134): #38     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3605:5)
E/flutter (20134): #39     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3600:5)
E/flutter (20134): #40     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2890:14)
E/flutter (20134): #41     Element.updateChild (package:flutter/src/widgets/framework.dart:2693:12)
E/flutter (20134): #42     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3636:16)
E/flutter (20134): #43     Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5)
E/flutter (20134): #44     ComponentElement._fir
E/flutter (20134): [ERROR:topaz/lib/tonic/logging/dart_error.cc(16)] Unhandled exception:
E/flutter (20134): type '_BoundSinkStream<dynamic, List>' is not a subtype of type '_HttpIncoming' where
E/flutter (20134):   _BoundSinkStream is from dart:async
E/flutter (20134):   List is from dart:core
E/flutter (20134):   int is from dart:core
E/flutter (20134):   List is from dart:core
E/flutter (20134):   int is from dart:core
E/flutter (20134):   _HttpIncoming is from dart:_http
E/flutter (20134):   List is from dart:core
E/flutter (20134):   int is from dart:core
E/flutter (20134):
E/flutter (20134): #0      _HttpClientResponse.listen (dart:_http/http_impl.dart:382:23)
E/flutter (20134): #1      new _ForwardingStreamSubscription (dart:async/stream_pipe.dart:123:10)
E/flutter (20134): #2      _ForwardingStream._createSubscription (dart:async/stream_pipe.dart:91:16)
E/flutter (20134): #3      _ForwardingStream.listen (dart:async/stream_pipe.dart:86:12)
E/flutter (20134): #4      StreamView.listen (dart:async/stream.dart:1745:20)
E/flutter (20134): #5      ByteStream.toBytes (package:http/src/byte_stream.dart:24:5)
E/flutter (20134): #6      Response.fromStream (package:http/src/response.dart:69:28)
E/flutter (20134): #7      BaseClient._sendUnstreamed (package:http/src/base_client.dart:171:21)
E/flutter (20134):
E/flutter (20134): #8      BaseClient.get (package:http/src/base_client.dart:34:5)
E/flutter (20134): #9      get. (package:http/http.dart:47:34)
E/flutter (20134): #10     _withClient (package:http/http.dart:167:20)
E/flutter (20134):
E/flutter (20134): #11     get (package:http/http.dart:47:3)
E/flutter (20134): #12     HomePageBodyState.getDataFromAPI (package:crypto_shadow/ui/home/home_page_body.dart:24:31)
E/flutter (20134):
E/flutter (20134): #13     HomePageBodyState.initState (package:crypto_shadow/ui/home/home_page_body.dart:74:5)
E/flutter (20134): #14     StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3734:14)
E/flutter (20134): #15     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3600:5)
E/flutter (20134): #16     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2890:14)
E/flutter (20134): #17     MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4716:32)
E/flutter (20134): #18     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2890:14)
E/flutter (20134): #19     Element.updateChild (package:flutter/src/widgets/framework.dart:2693:12)
E/flutter (20134): #20     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3636:16)
E/flutter (20134): #21     Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5)
E/flutter (20134): #22     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3605:5)
E/flutter (20134): #23     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3600:5)
E/flutter (20134): #24     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2890:14)
E/flutter (20134): #25     Element.updateChild (package:flutter/src/widgets/framework.dart:2693:12)
E/flutter (20134): #26     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3636:16)
E/flutter (20134): #27     Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5)
E/flutter (20134): #28     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3605:5)
E/flutter (20134): #29     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3600:5)
E/flutter (20134): #30     ParentDataElement.mount (package:flutter/src/widgets/framework.dart:3916:11)
E/flutter (20134): #31     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2890:14)
E/flutter (20134): #32     MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4716:32)
E/flutter (20134): #33     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2890:14)
E/flutter (20134): #34     Element.updateChild (package:flutter/src/widgets/framework.dart:2693:12)
E/flutter (20134): #35     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3636:16)
E/flutter (20134): #36     Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5)
E/flutter (20134): #37     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3605:5)
E/flutter (20134): #38     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3600:5)
E/flutter (20134): #39     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2890:14)
E/flutter (20134): #40     Element.updateChild (package:flutter/src/widgets/framework.dart:2693:12)
E/flutter (20134): #41     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3636:16)
E/flutter (20134): #42     Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5)
E/flutter (20134): #43     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3605:5)
E/flutter (20134): #44     StatefulElement._firstBuild (package:flutter/src/w
I/FlutterActivityDelegate(20134): onResume setting current activity to this
I/OpenGLRenderer(20134): Initialized EGL, version 1.4
D/OpenGLRenderer(20134): Swap behavior 2
E/BpSurfaceComposerClient(20134): Failed to transact (-1)
E/BpSurfaceComposerClient(20134): Failed to transact (-1)
D/skia    (20134): Could not invert viewmatrix
D/skia    (20134): Could not invert viewmatrix
Lost connection to device.

Hello,
Thank you for the feedback.
Can you tell me what is the API of the Nexus 5X?
I will try to fix it now, but atm I can't emulate a phone like a Nexus 5X and I never saw this error before.
Hugo

Ok so I managed to emulate a Nexus 5X on API 24 but everything works fine.
I'm just starting to use Flutter and Dart and I don't see where that bug came from.
Do you have enough free space on your phone?
Hugo

Also can you try to open the news page via the fab and check if you have the same error pls?
Hugo


Gift  Entry: Recurring Gifts

Docs:
Script: https://docs.google.com/document/d/1y2RFrk_sozvdfCDu8ZFU1_h87VTVDyOItQf6LQzLJ6c/edit?usp=sharing

@melissabarber question when you have a moment-- I can't seem to find any docs on this newly released feature in NPSP docs. Maybe it's in the works? Thanks!

@barbarachristensen It's because the documentation is kind of buried in the existing Gift Entry docs.

The Configure Gift Entry article now includes the permissions users need to enter RDs via GE.
The Create and Edit Gift Entry Batches article now includes a step to allow RDs to be entered in a batch.
Down in the Enter a Collection of Gifts section of Enter Gifts in Gift Entry, there's now a step to make a donation recurring.

Note: entering RDs in GE can only be done when entering a batch of gifts. If you want to enter a single RD, go directly to the RD object.


Add math expressions with MathJax

Fixes #7. We need to update the docs.

Maybe update docs in this pull request? Just add a note that our system supports Latex, so users can add alternatives and such manually when using the exam-interpeter, as it does not support converting images to Latex itself?

@andybb Maybe we should push this out, as people have the course now?


feat: multiwindow support

Related to https://github.com/nvim-treesitter/nvim-treesitter-context/pull/419
I have changed the scheduling system for callbacks, because the previous system was overly complex in scenarios involving multiple windows. I have been using this new scheduling system for several months and have not noticed any problems. Moreover it seem to be more responsive.
Additionally, I conducted performance testing using flamegraphs, and I observed that treesitter-context with the new scheduling system consumes approximately 8% of processing time, which appears to be within a reasonable range. I have included the flamegraph for reference.

This is pretty unreviewable. Can you break this down into smaller PR's?


Research (Samantha) - Automated Refactoring Large Python Codebases Presentation

As a member of the team, I need to see how automated Python code refactoring was implemented by Jimmy Lai
in his presentation "Automated Refactoring in Large Python Codebases"
so that I can begin implementing the algorithm changing the source Python code during Sprint 2.
Sources:

EuroPython 2022, Automated Refactoring in Large Python Codebases, presented by Jimmy Lai: https://youtu.be/ouDnaZxZKkc?si=BFiIfRAKEVFi3cDH

Research Notes:

Largely focused on development environments and how to unobtrusively refactor code as it is worked on e.g. avoid too many pull requests or regress files after commits.
Relies on Black for formatting and making code consistent. Could be useful before or after semantic clone generation (process inputs and/or outputs) so that they are consistent? May hinder full permutation generation (e.g. from the code breaking format standards).
Addresses the Python Annotations library/function, which adds (guessed) type output on functions. LibCST can add missing returns in functions in the like, so potentially look into LibCST for syntax tree development.


sparse-sparse matrix multiply creates unnecessary zero entries

Description
When multiplying two sparse BCOO matrices it seems the result always stores explicit zero-entries even when the corresponding row/column of a and b are all zero:
import jax
import numpy as np
a = jax.experimental.sparse.BCOO.fromdense(np.diag([1., 2.]))
b = jax.experimental.sparse.BCOO.fromdense(np.diag([3., 4.]))
(a @ b).data, (a @ b).indices
>>> (Array([3., 0., 0., 8.], dtype=float64),
     Array([[0, 0],
            [0, 1],
            [1, 0],
            [1, 1]], dtype=int32))

Expected output:
>>> (Array([3., 8.], dtype=float64),
     Array([[0, 0],
            [1, 1]], dtype=int32))

What jax/jaxlib version are you using?
0.4.8
Which accelerator(s) are you using?
GPU
Additional system info
No response
NVIDIA GPU info
No response

Hi - thanks for the report! This is working as intended. You're correct that sparse-sparse matmul often results in more stored elements than are strictly required, but those extra stored arguments are necessary due to the constraints of JAX's compilation model, which requires array shapes (and in this case the size of the sparse matrix buffers) to be known at compile time.
The issue is that the sparse matrix indices are only known at runtime, so the output buffers must be able to handle the worst case. When multiplying two matrices with number of specified elements a.nse and b.nse, the worst case is an output with `out.nse = a.nse * b.nse* (an easy way to imagine this is if the first matrix has all entries in a single column, and the second matrices has all elements in a single row).
To handle this, you have two options:

Call out.sum_duplicates() on the result of the matmul, outside JIT, in order to sum and remove duplicated entries. It might look like this:

out = (a @ b).sum_duplicates()
print(out.data)
# [3. 8.]
print(out.indices)
# [[0 0]
#  [1 1]]

If appropriate, you can use a structured sparse representation (e.g. with n_batch=1 on the leftmost input) such that the output nse will be more constrained.

Hope that helps!

ah I see, that makes sense! Would it somehow be possible to manually set the number of specified elements for the output? eg in this case I'm computing Bi = S.T @ Ai @ S for a bunch of very sparse matrices, but I know Bi.nse == Ai.nse.

How do you know that the output has the same nse as the input? Could you encode that knowledge by using structured sparsity for the S matrix (i.e. option 2 in my answer above)?

The Ais are non-zero only on sub-blocks (different for every i) and S = [[D, b], [0, 1]] where D is diagonal
I ended up getting around the issue by simply rescaling the elements of Ai before constructing the sparse matrix, so no need for matrix-matrix multiplies :smile:
In case it's useful here's a basic example to illustrate, goes OOM on my 12GB GPU:
import numpy as np
import jax.numpy as jnp
from jax.experimental import sparse

def get_inds(n, block_size):
    block_inds = np.random.choice(n - 1, block_size - 1, replace=False)
    block_inds = np.hstack([np.sort(block_inds), n - 1])
    return block_inds[np.array(list(np.ndindex(block_size, block_size)))]

n = 48
n_batch = 3000
block_size = 5
A = sparse.bcoo_concatenate([
    sparse.BCOO(
        (
            np.random.randn(block_size * block_size),
            get_inds(n, block_size)
        ),
        shape=(n, n),
    )[None]
    for _ in range(n_batch)
], dimension=0)

S = sparse.BCOO.fromdense(np.block([
    [np.diag(np.random.randn(n - 1)), np.random.randn(n - 1)[:, None]],
    [np.zeros((1, n - 1)), 1.]
]))

A_scaled = (A @ S).transpose((0, 2, 1)) @ S


WebSocket connection to 'wss://chat-laravel.mydomain.com:9889/app/oknjjl0bzpsq17de2ebn?protocol=7&client=js&version=8.4.0-rc2&flash=false' failed:

Reverb Version
@beta
Laravel Version
11.0
PHP Version
8.2.10
Description
I have an SSL certificate from Certbot and use the reverb@beta version. I am getting an error while connecting to the socket.
I am using an Apache Digital Ocean server. The port is added in the ufw apache. Let me know if anything wrong my side.
This is in my .env file
REVERB_APP_ID=898313
REVERB_APP_KEY="${REVERB_KEY}"
REVERB_APP_SECRET="${REVERB_SEC}"
REVERB_HOST=chat-laravel.mydomain.com
REVERB_HOSTNAME=chat-laravel.mydomain.com
REVERB_PORT=9889
REVERB_SCHEME=https

Steps To Reproduce
Change port and start command using port & hostname but still facing the same issue.
I have rebuild and cleared the cache as well on every change.

Hey there,
Can you first please try one of the support channels below? If you can actually identify this as a bug, feel free to open up a new issue with a link to the original one and we'll gladly help you out.

Laracasts Forums
Laravel.io Forums
StackOverflow
Discord
Larachat
IRC

Thanks!

I'm getting the same error, actually. I'm running Reverb with the --debug flag and am getting this error in the console:
Laravel\Reverb\Protocols\Pusher\Http\Controllers\PusherController::Laravel\Reverb\Protocols\Pusher\Http\Controllers\{closure}(): Argument #1 ($message) must be of type string, Ratchet\RFC6455\Messaging\Message given, called in .../app/vendor/ratchet/rfc6455/src/Messaging/MessageBuffer.php on line 254

  at vendor/laravel/reverb/src/Protocols/Pusher/Http/Controllers/PusherController.php:34


Login first time unknown error

Describe the bug
When I try to create an account it let me logs into my microsoft account and is asking for permission. After I accept the permission, I get an email from microsoft that nuget is allowed to read different information of my account. However when redirecting back to the nuget login page it shows a unknown error and doesn't let me login.
To Reproduce

go to login page of nuget
Use the "Sign in with Microsoft" button
Enter login info
Accept the information that nuget wants to access.
Return to the login page of nuget with the unknown error

Expected behavior
To login and use the nuget website to retrieve an api key so I can upload my nuget package
Additional context
I have tried multiple emails, personal, company and school. All of them gave the same error.

Using Safari, after trying it on chrome it worked how I was expecting it


https-certificate-directory : automatic reload

Hola !
It'd be nice if the https-certificate-directory would be watched and certificates reloaded automatically when they are updated.
( The same way authentication-keys-directory is watched/reloaded )
Regards,
Olivier

This is something we could look into. It wasn't a first class feature mainly because I felt ssl certs don't update as frequently and restarts are generally okay

This is something we could look into. It wasn't a first class feature mainly because I felt ssl certs don't update as frequently and restarts are generally okay


Fix persistence warning on JRuby when mocking a Java object wrapper

This is enough to fix https://github.com/rspec/rspec-mocks/issues/1444

Closing as the ticket this PR was purposed to fix has a workaround.


update qiskit nature to 0.5

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
2398

Relevant Lines:
2670

💛  - Coveralls


Remove the need to create an IAM user, access key & secret

Issue
Currently an IAM user is created to pre-sign urls is not needed, this is unnecessary and can be solved with iam policy update.
Description of changes:
Creating an IAM user is over complicated the need, where an iam policy will solve the problem just fine.

Removed the IAM User creation along with now unneeded secrets storage
Removed the need to load in secrets and pass in access key and secrets in lambda code
Updated the presigner IAM policy to allow

When this will be avaiable to use?
2024.10.24

Removed IAM user creation in preference of provided the appropriate policy to the presigner lambda

e.g., https://vmx-source-us-east-1.s3.us-east-1.amazonaws.com/vmx3/2024.10.24/cloudformation/vmx3.yaml

This is already done in existing. If you are using a deployment model that does not need the presigner use, it does not create it. Some deployments still do, so it remains.

I'm not sure I understand your comment there @dougjaso
If you do require the use of the presigner, you do not need the complication of an IAM user created to perform this.
An addition to the lambda's policy is all that is needed to perform this action.

In order to get a presigned URL with a 7 day life span, which is the limit we offer, you need to use an IAM user to generate the URL. https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-presigned-url.html#who-presigned-url

Ah ok cool thanks @dougjaso , I now understand why that has been done that way 👍


Handle lowercase daac and provider inputs

I was just working with someone who got an error because they provider provider="pocloud" (lowercase) instead of provider="POCLOUD". All our internal machinery expects provider and daac to be all uppercase, however it's pretty natural (especially for new users) to use lowercase instead. We should just handle this case by normalizing these inputs to be all uppercase. earthaccess. get_s3_credentials already had logic for this, but other methods didn't. This PR adds similar logic to other top-level earthaccess APIs.

I found confirmation, thanks to John Teague in Slack, that provider IDs cannot have lowercase letters.
https://wiki.earthdata.nasa.gov/display/CMR/CMR+Data+Partner+User+Guide#CMRDataPartnerUserGuide-CMRProviderIdentification

The identifier must have a short name that satisfies the following criteria: 10 characters or less; unique against all other providers; and capital letter as the first character followed by capital letters, numbers, or an underscore. The long name of the identifier can be much longer.

I've never heard of the daac field before, is that a CMR field?

Sure, and our internal handling of provider and daac IDs should definitely be all uppercase, I'm just saying that users may not know that they need to be all uppercase. I'm just proposing here that we handle any needed lowercase --> uppercase conversion for users.

I understood all that  :) I'm totally on board with the proposal! I should have been more clear in my first post.
I was just validating the underlying assumption that provider IDs are 100% guaranteed to be uppercase, because while I'd never seen a lowercase character, I hadn't seen it guaranteed in writing before. Maybe we should link to the doc above in a docstring for _normalize_location() for posterity?

I was just validating the underlying assumption that provider IDs are 100% guaranteed to be uppercase, because while I'd never seen a lowercase character, I hadn't seen it guaranteed in writing before

Ah, I see -- thank you for confirming!

Maybe we should link to the doc above in a docstring for _normalize_location() for posterity?

Sounds good to me. However, https://wiki.earthdata.nasa.gov/display/CMR/CMR+Data+Partner+User+Guide#CMRDataPartnerUserGuide-CMRProviderIdentification gives "Forbidden" for me

Do you happen to have a different link handy?

That link works for me after logging in through EarthData Login. Were you not even prompted to log in? Or maybe you're already logged in and don't have access. Let me see if I can find a place this is publicly documented.

Can you access this link?
https://wiki.earthdata.nasa.gov/pages/viewpage.action?spaceKey=ED&title=CMR+Data+Partner+User+Guide#CMRDataPartnerUserGuide-CMRProviderIdentification
or
https://wiki.earthdata.nasa.gov/display/ED/CMR+Data+Partner+User+Guide?src=contextnavpagetreemode

Both of those links give me
500 Internal Server Error
If you are the administrator of this website, then please read this web application's log file and/or the web server's log file to find out what went wrong.

I'll update the docstring to include some explanation. We can always add a link after the fact if needed

Jeez. Why are these docs behind a login wall at all? :exploding_head:

@jrbourbeau can you try those links again? I'm told there was maintenance this morning.

Now getting "Forbidden" like in https://github.com/nsidc/earthaccess/pull/355#issuecomment-1813682574 instead of the 500 error

Still waiting for response from CMR folks about a public copy of this documentation. If we want to get this merged, we could write a docstring linking to this private documentation, so those of us with access can find the source of truth when we need to validate our assumptions.
Better to have a private reference than no reference, I think. Eventually we can replace it with a public link!


Documentation fixes, mostly related to event filtering

Summary
Documentation had typos and misformatting.

Fixes #123.
Fixes #168.
Adds link to Ethereum Contract ABI - I assume the reference is to that wiki page.
In REPL examples, changes the filter object's varname from filter to filt - since filter() is a Python built-in.

Animal picture
Raccoon does RTFM (source: pinterest via ixquickproxy):

Anything controversial or undesirable here?..

Nope, was just submitted when I was on vacation a month ago and I'm just now finding it. 🍰

Much appreciate @veox


lower aggregate percent lower-band to reduce variance in instance resource specs

Issue #, if available:
N/A
Description of changes:

lower aggregate percent lower-band to reduce variance in instance resource specs

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Codecov Report

Merging #23 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #23   +/-   ##
=======================================
  Coverage   89.82%   89.82%
=======================================
  Files           8        8
  Lines         875      875
=======================================
  Hits          786      786
  Misses         58       58
  Partials       31       31

Impacted Files
Coverage Δ

pkg/selector/aggregates.go
92.45% <ø> (ø)

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 594137b...ae82c2a. Read the comment docs.


Add support for istanbul option 'include-all-sources'

To also include the coverage for files without tests i think it would be good to support theIstanbul command line option 'include-all-sources'.

Thanks


Absence of action bar experienced on device with Android version 4.4.2 in current app

Expected

Action bar was missing on my device

hi @sashafierce at times the bar disappears upward on scroll, can you verify for me that you never see the bar, even on app start?

Yeah it never appeared , not even once

good to know. thanks for the report!

I checked on another device that was Android version 4.4.4 and the same issue was there right from the beginning

I would like to work on it myself if I may , Its been there for a while.  @niftynei

@sashafierce go for it!

made a PR #284


Docker Image?

I see that you have a dockerignore file in the project. Are you planning on creating a Docker image of this so that I can create a container and automate the backup process at certain times of the day? That would be pretty useful than to manually run the application.

No, we're not planning a dockerfile. sorry.


Lower case y, g, q, p, j cut off in custom menus

Type: Bug

Open a context menu or menubar on windows/web
Look for an entry with those characters

:bug: => they are clipped
VS Code version: Code - Insiders 1.89.0-insider (d6eba9b861e3ab7d1935cff61c3943e319f5c830, 2024-04-05T05:52:23.778Z)
OS version: Windows_NT x64 10.0.22631

Assigned to @connor4312 as I think this is caused by https://github.com/microsoft/vscode/pull/209062

Assigned to @connor4312 as I think this is caused by https://github.com/microsoft/vscode/pull/209062

Thanks for creating this issue! We figured it's covering the same as another one we already have. Thus, we closed this one as a duplicate. You can search for similar existing issues. See also our issue reporting guidelines.
Happy Coding!


fix: jit with json

this is on prerelease.  be sure to remove the qa tag before merging.

What does this PR do?
background https://salesforce-internal.slack.com/archives/G02K6C90RBJ/p1682563856812799
skips the signature check if the plugin being installed is in the CLI's JIT list
because the sig verification stuff writes to stdout
which breaks json output when sf some:jit --json prints messages from the verification.
QA:
just-nuts from here should work better with (ex) plugin-signups that were previously failing like this
you can run something jit with json (ex: sf org list shape --json > result.json) and verify the json using sf@qa OR taking any old sf and running sf plugins install @salesforce/plugin-trust@qa
What issues does this PR fix or reference?
@W-13112067@

QA Notes

run the command before
 ➜  sf org list shape --json > result.json
Polling for new version(s) to become available on npm... done
Installing plugin signups... ⣯ [2/4] Fetching packages...
warning "@salesforce/plugin-signups > @oclif/core ><EMAIL_ADDRESS>has unmet peer dependency "@types/node@*".
Installing plugin signups... installed v1.4.12
➜  dreamhouse-lwc git:(main) ✗  hub:(GLOBAL - DevHub<EMAIL_ADDRESS> ➜  more result.json
Successfully validated digital signature for @salesforce/plugin-signups.
Finished digital signature check.
{
  "status": 0,
  "result": [

get text in the .json
✅ : install plugin-trust@qa and there's no breaking output in the .json
 ➜  sf org list shape --json > result.json
Installing plugin signups... ⣻ [2/4] Fetching packages...
warning "@salesforce/plugin-trust > @oclif/core ><EMAIL_ADDRESS>has unmet peer dependency "@types/node@*".
warning "@salesforce/plugin-trust > @oclif/core ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>Installing plugin signups... ⢿ [4/4] Building fresh packages...
Installing plugin signups... installed v1.4.12
➜  dreamhouse-lwc git:(main) ✗  hub:(GLOBAL - DevHub<EMAIL_ADDRESS> ➜  more result.json
{
  "status": 0,
  "result": [


Googleplaybooks: Some devices display a night mode prompt. This has n…

…ot been handled properly so adding in support for this

Please fix commit message.


Updating requirements in meta.yaml

Added pydot to recipe/meta.yaml .
Checklist

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

Hi! This is the friendly automated conda-forge-linting service.
I wanted to let you know that I linted all conda-recipes in your PR (recipe) and found some lint.
Here's what I've got...
For recipe:

requirements: run: pydot == 1.3.0 should not contain a space between relational operator and the version, i.e. pydot ==1.3.0

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@conda-forge-admin, please rerender


added css resources

added css-tricks and css zen garden

Hey @optimusam , Thanks for contributing to AlgoWiki.
This is your first contribution to AlgoWiki, have some 🌮 🌯 🍰 🙁
Keep Contributing.
~
Vikesh

thanks bro 👍 :)


FileGDB support missing

Simply asking for FileGDB support to write out to ESRI GDB files.  Seems like it was around in older versions, but has disappeared in later versions.
Otherwise, it would be great to have good documentation on how to enable the feature, or how to get around it on the fiona end as writing to ESRI GDBs is a commonly performed task in industry.

FileGDB requires GDAL to be compiled with ESRI's FileGDB API SDK.  See GDAL docs for FileGDB under the section "Building Notes" and see this.

Most of these instructions are jargon and mean very little to people who aren't developers. For those people who want to just do simple scripting (e.g., write and write to an ESRI GDB file in batches), it would be far better to have layman's instructions somewhere on how to do this from steps A to Z.  Lots of users out there who would benefit from this without having to learn to be a developer.

The problem here is there are many operating systems and many different ways to install GDAL and Fiona.  Compiling is a sure fire way to give instructions that allow anyone to customize their installation with whatever options they want.
What is your operating system?  Where did you get a your binaries for GDAL and Fiona?

@grwhumphries It's my understanding that I can't redistribute Esri's FileGDB API SDK. You have to download it yourself and make a GDAL plugin. Once you have, it should only take a little bit of configuration (documented here: https://trac.osgeo.org/gdal/wiki/ConfigOptions#GDAL_DRIVER_PATH) to turn it on for Fiona.
I've read that a special arrangement has been made for OSGeo's OSGeo4W distribution, but I'm not sure that Fiona is included with that yet. Lobbying Python software distributions (like Anaconda, or Enthought, or OSGeo) to include the FileGDB plugin for GDAL/OGR is the thing to do for users who aren't developers.

Thanks for clarification on the SDK @sgillies  - makes sense.
the FileGDB drivers can be installed with osgeo4w as part of the setup, which is helpful, but to find that information, without any prior instruction, would be a nightmare for people with a basic knowledge of scripting.
I just think it would be really helpful to have some clear instructions - a literal "point and click here and here" - without referring to the osgeo.org instructions, which are really cumbersome for non-developers - jargony and the like.
Basically, you want someone to be able to "pip install fiona"  - then (for eaxmple).. download Osgeo4w with the FileGDB SDK through the setup menu - then set path variables (GDAL_DRIVER_PATH), etc...

@sgillies I think your understanding of the Esri FileGDB API SDK license is a bit dated. Though the binary bits are not open source, they can still be redistributed freely as the SDK as a whole (i.e. the binaries, libs, docs and sample code) is released under an Apache 2.0 license
Anybody is free to redistribute all or part of the SDK.
This is probably more relevant to packagers though rather than fiona itself.

Is there any progress on this?  This feature would be amazing to have...

I second this! I'm trying to use Geopandas 0.8 through Python 3.8 (installed using Anaconda) and I'm also still having a hard time getting this to work. The instructions found here (downloading FileGDBAPI.dll from ESRI's site, placing it in the appropriate folder and adding an environment variable) did not seem to work.

Is there any chance this can get added to the 1.9 milestone?
Also, I might be able work on this myself, but will likely need a bit of direction, since I'm not super familiar with how fiona handles these external DLL drivers.

@phildias This is a packaging issue that only affects Fiona wheels listed on pypi (The *whl files listed here: https://pypi.org/project/Fiona/#files). If you use another package distribution, such as Anaconda, it depends only if the version of GDAL provided by Anaconda supports FileGDB or not. Thus, I would recommend directly asking the Anaconda project for FileGDB support for GDAL.

Thanks for the prompt reply! I can try that route. In the meantime, do you happen to know how to allow Fiona to use ESRI's FileGDB driver (the "FileGDBAPI.dll" files inside of these zipfiles) after I've installed Fiona through Anaconda? I imagined it would be as easy as extracting the DLL files into GDAL's python installation folder and setting up a couple of environment variables, but that doesn't seem to be doing the trick.


Ensemble configuration setup

I'm going to deploy the ensemble model and I can't find the details about how to setting up the ensemble configuration.
assume there are two models:
1st model is libtorch  { 1 input , 1 output }
2nd model is TensorRT { 1 input , 3 output }
my question is

how to setup the libtorch config? since after the trace to torch script, every time Netron show different output layer name. (_gen99yn7, _gendv68sj , etc)

how to set up the directory of ensemble model ?
this is my setting.

models
│─ preprocess_libtorch
|    └───1
|    |   └───model.pt
|    └───config.pbtxt
│─ trt_nn
|    └───1
|    |   └───model.plan
|    └───config.pbtxt
└  nn_ensemble
     └───config.pbtxt

how to set up the ensemble config.pbtxt for 3 output map?
the server can initialise but cannot test due to Q1.
the config i am using:

name: "nn_ensemble"
platform: "ensemble"
max_batch_size: 32
input [
  {
    name: "IMAGE"
    data_type: TYPE_UINT8
    dims: [ 3, 608, 608 ]
  }
]
output [
 {
    name: "convolutional_1"
    data_type: TYPE_FP32
    dims: [ 255, 19, 19 ]
  },
  {
    name: "convolutional_2"
    data_type: TYPE_FP32
    dims: [ 255, 38, 38 ]
  },
  {
    name: "convolutional_3"
    data_type: TYPE_FP32
    dims: [ 255, 76, 76 ]
  }
]
ensemble_scheduling {
  step [
    {
      model_name: "preprocess_libtorch"
      model_version: -1
      input_map {
        key: "RESIZED_IMAGE"
        value: "IMAGE"
      }
      output_map {
        key: "NORMALISED_IMAGE"
        value: "preprocessed_image"
      }
    },
    {
      model_name: "trt_nn"
      model_version: -1
      input_map {
        key: "NORMALISED_IMAGE"
        value: "preprocessed_image"
      }
      output_map {
        key: "convolutional_1"
        value: "convolutional_1"
      }
      output_map {
        key: "convolutional_2"
        value: "convolutional_2"
      }
      output_map {
        key: "convolutional_3"
        value: "convolutional_3"
      }
    }
  ]
}

For Q1 , finally, i solve it using ONNX to define the input and output layers' name, but still want to know how to set up the libtorch config.

For libtorch, you can refer to the documentation on model config:

PyTorch Naming Convention: Due to the absence of names for inputs and outputs in the model, the “name” attribute of both the inputs and outputs in the configuration must follow a specific naming convention i.e. “__”. Where  can be any string and  refers to the position of the corresponding input/output. This means if there are two inputs and two outputs they must be name as: “INPUT__0”, “INPUT__1” and “OUTPUT__0”, “OUTPUT__1” such that “INPUT__0” refers to first input and INPUT__1 refers to the second input.

With respect to Q1, you need to produce a traced model, the names of the layers will not be significant, instead the INPUT/OUTPUT__<index> will be the naming convention followed. (As described by @GuanLuo)
Q2 and Q3: https://docs.nvidia.com/deeplearning/sdk/tensorrt-inference-server-guide/docs/models_and_schedulers.html#ensemble-models Please refer to the docs here.

Closing. Reopen if you still have an issue.


Wrong ::warning example

Code of Conduct

[X] I have read and agree to the GitHub Docs project's Code of Conduct

What article on docs.github.com is affected?
https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/workflow-commands-for-github-actions?tool=bash
What part(s) of the article would you like to see updated?
The ::warning message example needs a title=. Because on the table show as a required parameter
Additional information
No response

@lfdominguez Thank you for opening an issue! I'll get this triaged for review ✨

It applies to all notice, warning and error workflow commands (in all of them title is mentioned as required).

Thanks for raising an issue, @lfdominguez! We really appreciate you doing that before raising a PR.
I agree with you and @hsnabszhdn: either of you (or anyone else) is welcome to open a PR to change the examples on the page for the notice, warning and error workflow commands to include title fields. Please use our placeholder format as follows:
title=YOUR-TITLE
I'll open this issue up as help-wanted. Thanks again!

Thanks... when come back to home i will open the PR.

I'm from Israel he do bad things

The thing is that title is NOT required 😕

Maybe the table should be updated?

The thing is that title is NOT required 😕
Maybe the table should be updated?

@hsnabszhdn Thank you for the ping on this! Going to loop in @subatoi to help determine the best path forward 💛

Thanks for your help @hsnabszhdn, and thanks for raising a PR as requested, @lfdominguez — apologies about the confusion here as quite clearly something's gone wrong.
@nguyenalex836 I'd suggest we check in with an SME internally (so I've added the appropriate label) just to make 100% sure. Let's also put https://github.com/github/docs/pull/34465 on hold for now. Once we've figured out the best change to make, we can make sure a PR is raised with appropriate co-committer attribution, because clearly we do need to make a change here.

@hsnabszhdn Thank you for your patience while we checked with our SME team! You were absolutely correct 💛 title is not required, and we are updating the table internally to reflect this (you've been added as a co-committer on that PR ✨). Thank you very much for catching that error!
@lfdominguez thank you again for your willingness to contribute to your community, and bearing with us as we investigated! 🙇


[FEATURE] Why gravitino store schema and table propertites？

Describe the feature
I can understand why gravitino store metalake and catalogs，but i cant understand why gravitino store schema and table propertites。because I don‘t find any place useing it  out of audit。Is this to prepare for other future needs?

Motivation
No response
Describe the solution
No response
Additional context
No response

This is our design of Gravitino. In Gravitino, we will have two parts of metadata, one part is system metadata that coming from underlying sources like HMS, JDBC, etc; another part is business metadata, like tags, audit info, etc. For the first part of the metadata, it can be retrieved from underlying sources, another part is stored in our storage. When Gravitino get a request from user, it will fetch both system metadata and business metadata, merge them together, give back to the users.
Because we will potentially have more business metadata in future, so that's why we also need a storage to store schema/table additional metadata.


fix for broken file loading functionality in addImage

fix for #2201

Yup @adong  the fix is not in the release.


CompoundButtonSounds does not function reliably.

Overview
The compound button sounds script does play a sound but not always, sometimes you get two click sound when you only click once.
Expected Behavior
The sound should play on every click and not repeat.
Actual Behavior
Works sometimes but not always.
Steps to reproduce
(Links to sample github project preferred)
I used the InteractableObjectExample scene. Try pressing any of the button. You'll need headphones or quiet room to hear the click.
Unity Editor Version
2017.4.4f1
Mixed Reality Toolkit Release Version
2<IP_ADDRESS>

I'm running into a similar issue where I have a compound button feeding an InteractionReceiver. The InteractionReceiver marks the event as "used". The button class doesn't receive the event (as expected), but somehow CompoundButtonSounds still fires sounds.

Bulk closing older HTK bug. Please reopen if you can repro this issue in MRTK v2.
Thanks!
Yoyo


Step 1: Migrate Request and OBT tables to temp index tables.

The current table structure for FIO requests does not support public key searching. This results in improper requests returned after transferring an FIO address. To achieve this, a table migration is necessary and prior data needs to be moved into a temporary index table.
Tables being migrated:

fioreqctxt ( fioreqctxts )
recordobt_info ( recordobts )

The major index table changes are the following:

Removal of payee and payer time
Removal of duplicate hex values.
Add support for key index searching

Currently, actions are enabled for testing.

Actions: migobttxt, migobttxt
Parameters:

amount - Amount of records you wish to transfer. Recommended 10-15.
actor


[S3] The request signature we calculated does not match the signature you provided

Type of issue
bug
Uploader type
S3
Fine Uploader version
5.10.1
Browsers where the bug is reproducible
Chrome 52 but i think all browsers
Operating systems where the bug is reproducible
Mac os x 10.11.6
Exact steps required to reproduce the issue
For example:

Go to labs.e-tip.net
Open the console
upload any file ( bigger than 6 MB) that contains characters like èòàù+ in the name
See that the request to initiate the upload fails with message in object

All of your Fine Uploader initialization JavaScript code
document.addEventListener("DOMContentLoaded", function(event) {
	var uploader = new qq.s3.FineUploader({
		debug : true,
		element : document.getElementById('uploader'),
		autoUpload : false,
		chunking: {
			enabled: true
		},
		resume: {
			enabled: true
		},
        objectProperties : {
            bucket : 'fineuploader-test',
            acl : 'private',
            region : 'eu-central-1',
            key : 'filename'
        },
		signature : {
            endpoint : '/endpoint/sign.php',
            version : 4
        },
        request : {
            accessKey : "AKIAJIMGMTCHYW5P55NQ",
            endpoint : 	"fineuploader-test.s3.eu-central-1.amazonaws.com"
        },
	});
	document.getElementById('start_upload_1').addEventListener('click', function(){
		uploader.uploadStoredFiles();
	});
});

Detailed explanation of the problem [REQUIRED]
even if i remember that this issue has been solved in the past, i'm facing it right now again.
I've copy and pasted the code from php-s3-server without modify ( obviously i've changed the required parameters) but, actually i can't get chunk uploads work if in the filename there's some strange character.
Everything works correctly if:

filename have all regular chars [A-Za-z0-9./]
file doesn't need to be multipart upload

I will check later, but it's extremely unlikely that anythingb is broken in fine uploader here. Most likely your page is missing a meta utf-8 tag.

Sorry, I'm not able to reproduce, even using the exact filename specified in your description (file is 18 MB). Unless you can point to a specific issue in Fine Uploader client-side code, or the PHP example, this seems like a support issue with your environment. I'm going to close this, but will certainly consider re-opening if a specific bug is found in the library or example server code.

version 4 signatures, PHP S3 server from the FineUploader repo, chunking enabled

I've asked because this issue started when i moved my destination bucket to frankfurt from dublin.

I take that back, it appears to be related to using the filename as the key. Although using the filename as a key is generally a really bad idea (collisions), this does appear to be a bug. Not yet sure if the issue is client-side, or in the PHP example server code. I'd consider this to be a low-priority bug, but would be open to walking you through a pull request to the server or client-side code once the fix is identified.

Issue appears to be with v4 signatures only. Again, objectPropeties.key = 'filename' appears to be required to reproduce this.

for my other projects i've used uuid as filename, but in this case i cannot use anything but filename ( to prevent collisions there's a folder that is generated on a per user basis ) that is appended to the filename. in my environment the key is a funciton
key : function(fileId){
    var filename = _self.options.folder+"/"+_self._fineUploader.getFile(fileId).name;
    return filename;
}

Why must you use the filename in this project?

because changing to the uuid would require to rewrite too much things to use it instead of filename :( All projects i've started from scratch i've used the uuid with a db to associate the uuid to the original filename

I see. Again, I'm able to provide assistance in tracking down and fixing the bug, but on a grand scale, this is a low-priority bug in the project since this workflow is uncommon and generally discouraged. So, I won't be able to dedicate exclusive time to dedicate to this issue.

Fixed in #1632. This will be part of 5.11.9.


Question about thesis

I have some questions about your thesis, but I couldn't find your email. Would you mind sending it to me?

Feel free to send questions to<EMAIL_ADDRESS>ons. 17. apr. 2019, 20:15 skrev Sean Aubin<EMAIL_ADDRESS>
I have some questions about your thesis, but I couldn't find your email.
Would you mind sending it to me?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/helgeanl/GP-MPC/issues/4, or mute the thread
https://github.com/notifications/unsubscribe-auth/AP5OKEuBCFnFT4eeoSDjHATqYBar3IWbks5vh2SkgaJpZM4c1qOf
.


add new moderation scopes

moderator:manage:automod, moderator:manage:automod_settings, moderator:manage:banned_users,
moderator:manage:blocked_terms, moderator:manage:chat_settings, moderator:read:automod_settings,
moderator:read:blocked_terms and moderator:read:chat_settings

bors r+

bors r-

bors r+

bors r-
...

bors r+

bors r+


docs: still references NTRU. Seems to be outdated.

Bug description
The Rust documentation is still referencing the NTRU
Expected behaviour
Rustdoc is up to date and referencing the crypto suites actually used.

1499d4aca34a077b1d6346219c81a44fea1923f1 Removes the last references to NTRU (and Protobuf3)


How To get  c.docs.google.com in downloading url?

Hello!
youtube-dl  video downloading url get with googlevideo.com.
how to get c.docs.google.com.
Ex. https://r13---sn-4g57km76.c.docs.google.com/videoplayback?sparams=dur,expire,id,initcwndbps,ip,ipbits,itag,lmt,mime,mm,mn,ms,mv,nh,pl,ratebypass,requiressl,source,upn&lmt=1407437790345147&dur=163.213&signature=816A506545132105B55F7597E7ADB3CD0F9A2C51.496F2E6324093E0534218ECD17448026E8F6925A&sver=3&ratebypass=yes&ipbits=0&upn=VDBI6M_lDzI&key=cms1&fexp=9406983%2C9408710%2C9414764%2C9416126%2C9417683%2C9417707%2C9420453%2C9422596%2C9422618%2C9423644%2C9423662&itag=18&source=youtube&pl=24&requiressl=yes&mime=video%2Fmp4&ip=<IP_ADDRESS>&expire=1447175933&id=o-AIJTySCYzylmH-uYx1aYB36mtMD95kNOBYHaTjgQkElE&cms_redirect=yes&mm=31&mn=sn-4g57km76&ms=au&mt=1447165897&mv=m&nh=EAU
-Thanks

Post the full output of youtube-dl when run with --verbose option with URL you are trying to download.

[debug] System config: []
[debug] User config: []
[debug] Command-line args: [u'--verbose']
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2015.11.10
[debug] Python version 2.6.6 - Linux-2.6.32-504.12.2.el6.i686-i686-with-centos-6.7-Final
[debug] exe versions: none
[debug] Proxy map: {}
Usage: youtube-dl [OPTIONS] URL [URL...]

Closely re-read my post.


Talk from node's DOM to component's controller

Talk from DOM node to component's controller? I mean, in config function, to invoke some function in controller.
This is my case:

In config function, bind an event to the dom, which will triggered by some other library
when the binded event come to the dom, dom should inform controller to do some thing

cannot find the way right now in step 2. I've figured using config's cached param to get the controllers array, but that array don't always contain data, some times the length is zero, it's not seem stable and thinking not the right way.
The observer pattern in doc seems too heavy to do such a thing, and will have scope problems in some cases.  is there any direct way?
Update 1
Maybe the issue is some times the controller lost from cached, I have onunload property in controller, and after some redraw, the controller become undefined in view

basicly the work around is to using inline function as below:
m('div.receiver', {
    config: function(el, hasInited, context, vdom, ctrl )
               {
                   if(!hasInited) $(el).on("some.event", function(){  ctrl.someFunc()  })
               }
    }
}, "child content" )

For those questions the gitter-chat is a good point to ask
Here is one of the solutions proposed there:
component.controller = function() {
  return {
    fancyStuff: function (element, isInit, ctx) {
    }
  }
},
component.view = function(ctrl){
     return m( '.foo', {
          config: ctrl.fancyStuff
     } )
};

thank you very much! will using gitter-chat more!

Wouldn't consider this as a workaround. It common practice.
Am Samstag, 21. November 2015 schrieb yjm :

thank you very much! will using gitter-chat more!
—
Reply to this email directly or view it on GitHub
https://github.com/lhorie/mithril.js/issues/855#issuecomment-158609941.


Settings - show only most important location

If one input has multiple locations with multiple importance, show only the most important. Example:
Input link: https://mapy.cz/zakladni?x=14.4210511&y=50.0873549&z=19&source=base&id=1832651
Output coordinates:
Place ID: 50.087726,14.421127 <-- most important, show
Map center: 50.087355,14.421051 <-- less important, don't show

Done in 0bd39b30f68c062b5e9a1ad35702bcd6256f5187.
Maybe it should show map center if searching via inline? Tag me in this issue or ping me in PM if you want this.


Change license from MIT to Apache 2.0 for drud/general#128

The Problem:
Changing license to Apache 2.0 per Drud's decision to go with Apache 2.0 for everything, in drud/general#128 (a private repo).
Straight change of license to Apache 2.0
OP: drud/general#128

Thanks @rickmanelius  - this was just done using the github built-in add-a-license technique, so it's the one they have canned.


Get XDP MultiProg Working With Rust eBPF Programs

The current issue is "func#0 @0\nSubprog prog0 doesn't exist which is likely related to the func_info and line_info that we get in .BTF.ext. We could be not correctly handling this in bpf-linker or, more likely, in aya.

It works!


Revert "Add one-click-unsubscribe params when calling Notify"

Reverts alphagov/email-alert-api#2162
We believe this change is the source of an incident so expect reverting it will help resolve the issue.

We understand the problem is caused when passing Notify a value of nil for one_click_unsubscribe_url:
This causes Notify to return an error:
(irb):29:in `<main>': ValidationError: one_click_unsubscribe_url is not a valid https url (Notifications::Client::BadRequestError)

This occurs anytime an email is generated without a subscription_id - which I guess is any emails that were in the queue before this was deployed or any emails that don't use ImmediateEmailBuilder


Rename AddPokemonMutation to CreatePokemonMutation

This keeps the explanation consistent with the code

Thanks, I manually merged it: https://github.com/learnrelay/learnrelay/commit/c01edeff7508f6e51e83cd7b8fa04215ced65d8a
🙌


Add prettierrc

This is an incredibly small thing but as a VS Code user, it's nice to have a prettierrc file top-level vs the command line args because the editor extension uses the prettier config when formatting.
I also tested to see if the lint-staged prettier command would work with the prettierrc config and it did on my machine.

Thanks @ricokahler I'm going to merge this with the v4 branch for now so we can continue to test it as we work.


--type flag not being picked up

Hi, we recently upgraded to v0.25 of the cli but when running it in minimal mode, it doesn't seem to pick up the --type flag anymore, unless there is a new requirement that I've missed in the docs/cli help? I've went back through the versions and it seems the v0.23 is the latest version to work as expected.
Reproduce
eas submit --platform=android --key=GoogleAppAuthKey.json --type=aab --url=https://expo.dev/artifacts/XXXXXXXXXX
Actual Result
We couldn't auto detect the archive type and changes to interactive mode.
Expected Result
Continue in minimal mode
CLI Version
eas-cli/0.25.0 darwin-x64 node-v12.13.1

Hi,
I think I can confirm this is a bug. Fortunately, we'll soon deprecate the --type flag (probably sometime next week). The archive type detection is going to happen on the server-side.

Thanks for letting us know @dsokal.
We have hardcoded the version to v0.23 for now to fix our build pipeline. Would you mind keeping us updated and letting us know when it's completed. We can then test it out from our side?

Sure, when the fix is released I'll let you know :)

We have hardcoded the version to v0.23 for now to fix our build pipeline

How does this fix the build pipeline? Could you elaborate a little please, we still have this problem

@delanebob  Hi, this should be fixed in<EMAIL_ADDRESS>Could you please let me know if the issue goes away after the upgrade?

@dsokal I'm off work this week. But will give it a try next Monday and get back to you 👍

We have hardcoded the version to v0.23 for now to fix our build pipeline

How does this fix the build pipeline? Could you elaborate a little please, we still have this problem

@DomVinyard we use Jenkins for our build pipeline. The issue we were having was that Jenkins can't run in interactive mode and we have to tell it the android type by using the --type flag.
v0.25 didn't seem to be picking it up when I passed it in. So I went back through the versions by running yarn global add<EMAIL_ADDRESS>and tried to see what was the newest version that worked with the --type flag.
So in our Jenkins pipeline I hard coded the version in a similar way so it would use that version and successfully submit it to the Play Store. Let me know if I have missed any other details @DomVinyard.


add docs about push helm chart into okteto registry

Signed-off-by: adripedriza<EMAIL_ADDRESS>fix #108

IS this supported on 1.0?

IS this supported on 1.0?

yes, but we already supported it before


[Custom Loops] Task Type Refactor

Description

Initial task type refactor

Closing as we are moving to fabric


Node claim status not Ready: Node not launched (creating instance, failed to get next loadbalancer page)

Version

Kubernetes Version: v1.28.9
Expected Behavior
The Node Claim should be in the "Ready" status.
Actual Behavior
The node claim never reaches the ready status, nor does it launch the node.
When looking into the noclaim the message is "creating instance, failed to get next loadbalancer page"
Steps to Reproduce the Problem
Start a new aks with auto provisioning. In the begining everything works, after sometime something happens not longer able to connect.
Resource Specs and Logs
Status:
Conditions:
Last Transition Time:  2024-06-06T13:20:21Z
Message:               Node not launched
Reason:                NotLaunched
Status:                False
Type:                  Initialized
Last Transition Time:  2024-06-06T13:20:21Z
Message:               creating instance, failed to get next loadbalancer page: GET https://management.azure.com/subscriptions/*/resourceGroups//providers/Microsoft.Network/loadBalancers
-----------------------------------------------------...
Reason:                LaunchFailed
Status:                False
Type:                  Launched
Last Transition Time:  2024-06-06T13:20:21Z
Message:               Node not launched
Reason:                NotLaunched
Status:                False
Type:                  Ready
Last Transition Time:  2024-06-06T13:20:21Z
Message:               Node not launched
Reason:                NotLaunched
Status:                False
Type:                  Registered
Events:
Community Note

Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
If you are interested in working on this issue or have submitted a pull request, please leave a comment

I can no longer reproduce this.


UMD build should build html.js

Per #108, the new UMD build process should also build choo/html.js so that you can construct DOM.

Related to https://github.com/maxogden/yo-yo/issues/38

I added a fix for this but now I'm wondering if we should remove html from choo.js as well because otherwise html is loaded twice, that being said we would end up forcing people to must use html.js though which I dont know if that is what we want.
Personally I'd prefer separating them.

@MattMcFarland  What do you mean by

html is loaded twice

So the build script I thought was exposing both html and choo already., otherwise the example wouldn't have ever worked?  Perhaps it wasnt working lol.  I tested this and it was working.

Ok I was wrong..
@YerkoPalma I actually fixed a bug :)
vanilla example only works with the changes in this PR :)

Yeah, I noticed when I try to make a choo example on jsfiddle. thats why I didn't understand the idea of separate things :smile: I think that the PR should be merged and the html package, that is just yo-yo, should keep the same :+1:

Can we close this one? :)


Here we can do custom training and then make our model. Can I use this new model on object detection

Kindly follow this thread. #8


Docs: Improve social login setup instructions

@dev-xo in this commit you point to changed files in this pr here with a comment that

Here's a Pull Request that also includes 2 images to guide you through the process

However:

the link does not directly reveal the mentioned images
once i found the initial commit for the PR, the 2 images only indicate partial steps of a much larger set of steps.

To make this documentation more complete and less of a reminder to those who

Already Know Things ™

We should list all the steps required to successfully create a Github App that successfully works with remix-sass.
Obvious things missing:

what should we put in the callback url?
guidance that the user should create a separate Github App per deployment environment:

[LOCAL] Your AppName for local development
[DEV] Your Appname for qa environment
Your Appname for prod environment

Hello @airtonix,
First of all, thank you for the PR https://github.com/dev-xo/remix-saas/pull/342
Secondly, there are probably better ways to communicate or ask for help, while keeping the mad tone or the funny jokes like "Already Know Things™" away.
I'm currently a bit busy, not being fully able to dedicate that much time to Remix SaaS. I probably rushed a few commits, mislabeling some names and probably not adding that much value to the documentation when I looked into the Github OAuth topic.
With that said, Remix Saas also states that this is not a fully-fledged app, and you may need to know the technologies being used. We do not aim to provide a step-by-step introduction to any of the modules or blocks, as it is the case with social auth. You may need to consult the appropriate docs (such as OAuth ones) for some solutions.
Again, thanks for the PR. It will be reviewed and probably merged, especially if it clarifies things for others on social logins, as there was another case on this topic before.
As a small suggestion, don’t be angry at a free resource someone is offering to you. We do not aim for perfection here, and people are not always able to keep things as updated as you might like those to be.
Thanks.


other CDNs

Some jsDelivr users find it is faster than googleapis.com in a few areas (namely China).  Also jsDelivr has built in concocting.
CDNJS may also be faster now due to new POPs.

Thanks!


May we propose usd/usdz exporting feature?

Since Kaoling distribution brings openusd anyway - it is just minimal efforts to implement usd/usdz export feature. We spent about 2 hours doing this, which allows to get results anywhere in modern DCC tools. With mesh export with texture generation and raw/processed pointcloud.
Thank you.

Are you working on that?

usdz would be tight

Yes. We implemented it easily with python, since USD API is very simple. One trick was to figure that usdz is a just uncompressed zip archive file. When we will get permission to publish our solution example - we will do it.


Better options for iterating

I'm not sure if this is the best way to provide this feedback, but I'm very close to wanting to use this language for serious projects.
My hangup is a lack of good iterator forms.  I don't want all my iterators to rely on arrays thus using extra memory, or make an awkward looking while loop(this requires additional let and do statements)
You describe a not yet implemented feature on the jisp.io homepage, where the for statement would accept an integer.  That would be awesome.
In general I would like to see the iterable parameter to the for loop accept any function as an iterable(a closure, it would need to be stateful).  So long as it returns a non-null value it continues iterating.
I honestly wouldn't mind a for loop syntax that was more of a direct mapping of javascript's for loop, even though that doesn't conform to functional paradigms.
There's some tricky language decisions involved and I respect the challenge of this problem.
I have been trying to figure out the best form I prefer for writing array comprehensions as well, but they use memory so I don't like them for some cases.
I don't know if you have that NYI integer for loop committed already to a branch, I would like to see that be a top priority because it is an important use case for me.
That's my feedback.  Thanks.

Silly me, I can write my own macros to make the language work like I like it.  It's a tricky yet fun exercise.

This is me purely being nostalgiac, I love that you can do this with the language.
; the forloop macro tries to imitate the procedural form.
; it doesn't require wrapping multiple loop body statements inside a 'do'
(mac forloop init test incr ...body
  `(do ,init
     (while ,test (do ,...body ,incr))))

(forloop (= i 0) (< i 10) (++ i)
  (= x (* i i))
  (console.log x))


add message to friend plugin

uses persistent memory feature of bot
.tell <username> message

to get messages sent to you

.tell fetch
>>> <username>:<message>

let's deal one message at a time

since memory is key value, find suitable format for storage

So you want the bot to be able to send and receive messages?

@nickw409 that's already imemented. this one is using the memory api


Add exption handling for hasattr because it could throw

Fixed https://github.com/mitmproxy/mitmproxy/issues/2849

I will update it and add test

Hi, any update on this? :)

Fixed in #2956, thanks again for the initial PR!


Replace chalk & transfob dev dependencies

👋🏻 I saw that @XhmikosR has been doing some cleanup work on my v5 release (thanks!) and I wanted to contribute my own housecleaning.

colorette is much smaller than chalk (and supports node >= 10).
since transfob is very small, and makes transforms by modifying the transform object instead of passing a function in the opts when it's created, I thought we could just remake it ourselves

@xzyfer can you please check out https://github.com/dlmanning/gulp-sass/compare/master...XhmikosR:dev and let me know how to proceed?
I still think it's totally worth switching to picocolors since postcss is using it, klona it's less important, and the rest of the patches should be safe except for the return statements patch (which should be OK too, but I don't want to risk it).


Relax Frame Counter doesn't work in some cases

I have a lora mote configured with ABP and Relax Frame Counter enabled.
Some time when I reset the mote I cannot get the messages and I've tried to put Frame Counter to Zero in ABP Activation menu.

Please see https://github.com/brocaar/loraserver/issues/133.


Use github golang tools mirror

Signed-off-by: Chun Chen<EMAIL_ADDRESS>When building libnetwork, I got the following error
package github.com/tools/godep
    imports github.com/kr/fs
    imports golang.org/x/tools/go/vcs: unrecognized import path "golang.org/x/tools/go/vcs"

This is because golang.org is blocked in China by GFW. But there is a mirror of golang.org/x/tools at github, I suggest to use this mirror repo instead.

LGTM.

LGTM