Question: How can I get the raw response body without decoding?

Problem statement
I have an API endpoint that returns a response body in application/json, application/x-yaml or application/gzip based on the type of data behind it. Currently the generated client always decodes the response based on its MIME type. However, the content is very dynamic and I just need it as a blob.
Is there a way to receive the raw content of the response body as byte[]?
Swagger specification
swagger: '2.0'
info:
  title: My API
paths:
  /my-endpoint:
    get:
      consumes:
        - application/json
      produces:
        - application/x-yaml
        - application/gzip
        - application/json
      summary: Get the resource
      responses:
        '200':
          # what to put here?
        '404':
          description: Not Found

Environment
swagger version: v0.26.1
go version: 1.16.2
OS: Linux

I found out that go-openapi/runtime chooses the appropriate consumer based on the content-type header. Consumers like YAML to unmarshall the response body into a given go type.
I managed to solve the issue by setting the schema type to file:
responses:
  200:
    description: 'OK'
    schema:
      type: file

This would generate a client that accepts an io.Writer as parameter where you pass a bytes.Buffer.
However, this still does not work, because the configured consumers try to unmarshal the given YAML into the bytes.Buffer type. The only consumer that makes use of the given io.Writer is ByteStreamConsumer which is only uses for application/octet-stream.
I wrote a simple wrapper OverwriteConsumerReader that ignores the given consumer and always passes ByteStreamConsumer down to the actual request reader:
package client

import "github.com/go-openapi/runtime"

func ReturnRawResponse(rt *runtime.ClientOperation) {
	wrapper := OverwriteConsumerReader{
		requestReader: rt.Reader,
		consumer:      runtime.ByteStreamConsumer(),
	}

	rt.Reader = &wrapper
}

type OverwriteConsumerReader struct {
	// the original request reader
	requestReader runtime.ClientResponseReader

	// the consumer that should be used
	consumer runtime.Consumer
}

func (r *OverwriteConsumerReader) ReadResponse(resp runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) {
	return r.requestReader.ReadResponse(resp, r.consumer)
}

I can use this when calling the client method to get the raw response body:
buffer := bytes.Buffer{}
_, err := e.client.Systems.GetMyResource(req, &buffer, client.ReturnRawResponse)

// buffer.Bytes()


Deprecated usage of scopeManager.activate(..., false)

Your usage:
https://github.com/opentracing-contrib/java-spring-web/blob/f5a11436e98615fb7368e2b7acdad380e890cf8e/opentracing-spring-web/src/main/java/io/opentracing/contrib/spring/web/interceptor/TracingHandlerInterceptor.java#L83
See the source for 0.32.x:
https://github.com/opentracing/opentracing-java/blob/release-0.32.0-RC1/opentracing-api/src/main/java/io/opentracing/ScopeManager.java#L115

@wcarmon I don't understand why this is a issuer?

This is not an issue, however we should migrate from a deprecated API anyways. I will close this. Feel free to comment if there are more questions.

@larchanjo It's only an issue for people that want to use the newest versions of the OpenTracting API.
If people are stuck on older versions, they won't notice.
@pavolloffay That's fine, I was pointing out where this lib might break in the future.  (Due to misalignment with the OpenTracing java api)

The deprecated ScopeManager methods have been remove from the OpenTracing v0.33 API. This has now thus become an issue because it prevents teams from upgrading Jaeger to v1.0.0, which implements the v0.33 API.

I do plan on working on the move to the latest OpenTracing  and Jaeger Client versions in the next few weeks.

Why is this closed? There are still uses of ScopeManager#activate(Span, boolean) in the codebase.

It will be done in https://github.com/opentracing-contrib/java-spring-web/pull/116

Ok, thank you soo much!


SDSTOR-11579 ChunkSelector and its default implementation

i am not quite sure whether it is appropriate to use HomeStoreStaticConfig for homeobject to pass the implementation of chunkselector to homeobject. this PR is used to finalize the interface of chunkselector between homeobject and homestore. the implementation of heapChunkSelector will be pushed to HomeObject repo after this pr is merged

Codecov Report

Merging #138 (73db5e9) into master (8c9476d) will decrease coverage by 6.50%.
The diff coverage is 20.00%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@            Coverage Diff             @@
##           master     #138      +/-   ##
==========================================
- Coverage   44.33%   37.84%   -6.50%
==========================================
  Files          83       74       -9
  Lines        9013     7550    -1463
  Branches     1152      998     -154
==========================================
- Hits         3996     2857    -1139
+ Misses       4637     4379     -258
+ Partials      380      314      -66

Files Changed
Coverage Δ

src/include/homestore/homestore_decl.hpp
86.66% <ø> (ø)

src/lib/blkdata_svc/blkdata_service.cpp
0.00% <0.00%> (ø)

src/lib/device/virtual_dev.hpp
88.23% <ø> (ø)

src/lib/index/index_service.cpp
0.00% <0.00%> (ø)

src/lib/logstore/log_store_service.cpp
0.00% <0.00%> (ø)

src/lib/device/journal_vdev.hpp
20.68% <33.33%> (ø)

src/lib/device/virtual_dev.cpp
22.61% <44.44%> (+0.06%)
:arrow_up:

src/lib/meta/meta_blk_service.cpp
9.38% <50.00%> (+0.11%)
:arrow_up:

... and 14 files with indirect coverage changes

@xiaoxichen
1 i believe we need a virtual class here, because the derived class will include the member of base class, which may not be useful for the new implementation.
for example, if the base class is a roundRobinChunkSelector, it may have a member of a vector, which will hold all the candidate chunks. but in HeapChunkSelector, a heap will be used to hold all the available chunks. the vector of base class is useless to the derived  HeapChunkSelector.
2 i also considered add a default chunkselector for this. well, will do that.

for example, if the base class is a roundRobinChunkSelector, it may have a member of a vector, which will hold all the candidate chunks. but in HeapChunkSelector, a heap will be used to hold all the available chunks. the vector of base class is useless to the derived HeapChunkSelector.

Yes that is true, however it seems like we only need L442(https://github.com/eBay/HomeStore/pull/138/files#diff-c65d919e9f45d2ab0417666450cbc1105e3157f91dc7847ef6b6dd253306c71fR442) in the basic(base) implementation

Yes that is true, however it seems like we only need L442(https://github.com/eBay/HomeStore/pull/138/files#diff-c65d919e9f45d2ab0417666450cbc1105e3157f91dc7847ef6b6dd253306c71fR442) in the basic(base) implementation

yea， that is the only place the default chunkSelector works. and that is why i did not implement the default chunkSelector in the first version of this PR. but , for a graceful code structure, we should implement a default chunkSelector here. let me take a look how to do it.

HeapChunkSelector will be pushed to HomeObject repo


Autocrop SVGs

Please autocrop SVGs. Since you're always displaying them with a border, I'm not sure that any transparent border is necessary.
Once working, please run on all cached SVGs.
Example that needs it: https://github.com/cncf/landscape/blob/master/hosted_logos/amazon-eks.svg

Logos that aren't yet being autocropped:
https://500-andrey-crop-borders--landscape.netlify.com/selected=azure-functions
https://500-andrey-crop-borders--landscape.netlify.com/selected=azure-registry
https://500-andrey-crop-borders--landscape.netlify.com/selected=bosh
https://500-andrey-crop-borders--landscape.netlify.com/selected=concourse
https://500-andrey-crop-borders--landscape.netlify.com/selected=digital-ocean
These look distorted in the card view but not in the modal:
https://500-andrey-crop-borders--landscape.netlify.com/selected=cloudbees
https://500-andrey-crop-borders--landscape.netlify.com/selected=cloud-ops-kcsp
https://500-andrey-crop-borders--landscape.netlify.com/selected=codefresh
https://500-andrey-crop-borders--landscape.netlify.com/selected=container-pilot
https://500-andrey-crop-borders--landscape.netlify.com/selected=containership
https://500-andrey-crop-borders--landscape.netlify.com/selected=core-os-kcsp
https://500-andrey-crop-borders--landscape.netlify.com/selected=easy-stack-kubernetes-service-eks
I'll stop there.

Great improvements. Some problems:
Every logo looks smaller in it's modal. Please change the modal to use the same 1 or 2 px transparent border like you see in the card view.
Corrupted:
https://500-andrey-crop-borders--landscape.netlify.com/grouping=no&selected=apprenda-kismatic-enterprise-toolkit-ket
https://500-andrey-crop-borders--landscape.netlify.com/logos/hadoop.svg
Squashed:
https://500-andrey-crop-borders--landscape.netlify.com/grouping=no&selected=pure-sec
Bottom is cut off:
https://500-andrey-crop-borders--landscape.netlify.com/grouping=no&selected=avi-networks
Left side cut off:
https://500-andrey-crop-borders--landscape.netlify.com/logos/container-solutions-kcsp.svg
https://500-andrey-crop-borders--landscape.netlify.com/grouping=no&selected=couchbase
Not cropped:
https://500-andrey-crop-borders--landscape.netlify.com/grouping=no&selected=buildkite
https://500-andrey-crop-borders--landscape.netlify.com/grouping=no&selected=claudis-js
Off center:
https://500-andrey-crop-borders--landscape.netlify.com/grouping=no&selected=my-sql

Could you please move https://github.com/cncf/landscape/blob/500-andrey-crop-borders/tools/processSvg.js#L112 to the top and comment that // 2% margin on each side of the image.
Could you please write https://github.com/cncf/landscape/blob/500-andrey-crop-borders/tools/processSvg.js#L108 into a temp directory so it doesn't accidentally get copied. More descriptive names than result.png and result2.png would be nice as well.
In general, I don't fully get your algorithm and would love if you could add 5 or 6 comments showing where each of the major steps starts, and what it's going to be doing.

those result.png were used only for a debug purpose, so I could see an intermediate result during debugging

Overall, we draw an svg with a pretty big viewbox around it, render it to png, spot a proper region and than apply that region coordinates to the original coordinate of the svg, making a proper viewbox

I'll clean up a code and will add extra comments


Check for Redis in bin/configure via redis-cli

Closes #1330.
As the comment states, the command we use to retrieve system packages should return redis and/or redis-server:
> dpkg -l | grep '^ii' | grep redis
ii  redis                                      6:7.2.4-1rl1~focal1                        all          Persistent key-value database with network interface (metapackage)
ii  redis-server                               6:7.2.4-1rl1~focal1                        amd64        Persistent key-value database with network interface
ii  redis-tools                                6:7.2.4-1rl1~focal1                        amd64        Persistent key-value database with network interface (client)

I'm using Ubuntu 22.04 as well, so I'm not entirely sure why the problem in #1330 is happening.
> lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 22.04.3 LTS
Release:	22.04
Codename:	jammy

Regardless, the Redis documentation shows on their install page that you can check if Redis is installed via the CLI.
$ redis-cli ping
PONG

If this is a good way to check if Redis is installed (especially considering that you can install Redis without installing redis-server), then I'm fine with using this check instead to show the developer they have Redis installed.
The only question that remains is if Bullet Train requires redis-server. In bin/setup, we have the following line, so users can at least know by this that they'll need redis-server too:
https://github.com/bullet-train-co/bullet_train/blob/108acf3502a242d9437d32de71e23d365f66c44b/bin/setup#L76

This is moreso an aside but I think it would be better to try not to detect dependencies outside of homebrew. On arch the names for some of these packages were pretty different than what the script would detect.
I think in a case like this it would actually be better to do less and let the user figure out which dependencies are needed. I was able to do it fairly quickly on my end. Just a thought.


docs(README): Minor fixes

Updated banner alt-text
Updated License link
Removed "Made by [Algolia]" (seems redundant as hosted under github.com/algolia)
Remove simply from the install instructions (especially as you already say it's a "simple" [...] "dependency manager")
Use ordered lists (https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet)
Linkify license

Thanks @PLNech !


Issue regarding forum export

I build a template, and when I go to update I need to select at least one tab. I select the tabs i want to sell but only one of them(of the six i selected) are show on the right side. Any suggestions

Can you give me some more details, what does your template look like for starters.


Compilation Error

Compilation Error
dbt found two macros named "synapse__get_columns_in_relation" in the project
"dbt_synapse".
To fix this error, rename or remove one of the following macros:
- macros\adapters\columns.sql
- macros\adapters.sql
Hi Team, when i am doing dbt run or dbt compile in CLI i am seeing this error for synapse profile.

attached is the log, i tried renaming the file in the path and even removed the file from the path but nothing worked.
log.txt

Hi @Rahul-Gajula. What version are you using? I was having a similar issue on 1.0.1 and upgrading to 1.0.2b1 seemed to help. Here's the thread: #75

I am also seeing the compilation error noted above.
installed version: 1.0.3
latest version: 1.0.3
Up to date!
Plugins:

sqlserver: 1.0.0 - Up to date!
synapse: 1.0.1 - Up to date!

19:50:08  Running with dbt=1.0.3
19:50:08  Partial parse save file not found. Starting full parse.
19:50:09  Encountered an error:
Compilation Error
dbt found two macros named "synapse__get_columns_in_relation" in the project
"dbt_synapse".
To fix this error, rename or remove one of the following macros:
- macros\adapters\columns.sql
- macros\adapters.sql
dbt debug works fine, only have the example directory in the models directory.

closing in favor of #75, which is already resolved


[BUG]: Read more section of program page

I was trying to update the links in the read more section of this page but there seems to be a bug here. It is not giving me a full list of options from the media page to choose from. It maybe the case that this might be happening for other program pages too on the website.
https://samagragovernance.in/project/nipun-bharat-cell/

@riya-2206  I went at the backend to test out the read more section but facing a similar challenge, the complete list of blogs & media pages isn't reflecting for some reason

I was looking forward to work on this one, but when i visited read more section and media pages its displaying whole list of blogs now

Hey Komal,  can you please attach screenshot so it will be more clear because I can see media list in the read more section

yeah that's what i'm saying that the bug has been fixed ig coz media list is visible in read more section


Real SVG support

It would be great for Pixi to be able to create a Graphics hierarchy representation of an SVG (not just load a texture like currently).
@psyrendust ^ Hey, can you PR the one you made into Pixi? :D

You might want to check this library I made:
https://github.com/bigtimebuddy/pixi-svg
https://bigtimebuddy.github.io/pixi-svg/example/
Because of the limitations of drawing in Pixi, not all svg features are supported.

@trusktr could you give a use case? Do you mean like having groups as Containers and sets of primitives as Sprites?
Cause this is something I've been thinking of. It could be possible to create a texture atlas and use the translates and rotates from SVG to create a hierarchy of Sprites.
One problem I see with this approach is anchors (in case we want to animate something). Inkscape adds anchors as custom attributes but they are not in the standard afaik. An example of what I mean:

The anchor of that group of three paths is defined as inkscape:transform-center-x and inkscape:transform-center-y.
    <g
       id="g4512"
       inkscape:transform-center-x="-65.892627"
       inkscape:transform-center-y="43.567609"
       transform="rotate(-5.9407468,27.740957,88.735118)">
      <path
         inkscape:connector-curvature="0"
         id="rect4485"
         d="m 24.502618,78.898505 h 50.619309 c 3.986749,0 7.196297,3.209548 7.196297,7.196296 v 70.274069 c 0,3.98675 -3.209548,7.1963 -7.196297,7.1963 H 24.502618 c -3.986748,0 -7.196296,-3.20955 -7.196296,-7.1963 V 86.094801 c 0,-3.986748 3.209548,-7.196296 7.196296,-7.196296 z"
         style="opacity:1;fill:#005e92;fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke" />
      <path
         inkscape:connector-curvature="0"
         id="rect4485-4"
         d="m 66.160572,123.8869 h 50.619318 c 3.98675,0 7.1963,3.20955 7.1963,7.1963 v 70.27406 c 0,3.98675 -3.20955,7.19631 -7.1963,7.19631 H 66.160572 c -3.986734,0 -7.196284,-3.20956 -7.196284,-7.19631 V 131.0832 c 0,-3.98675 3.20955,-7.1963 7.196284,-7.1963 z"
         style="opacity:1;fill:#920000;fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke" />
      <path
         inkscape:connector-curvature="0"
         id="rect4485-3"
         d="m 106.60403,73.994048 h 50.61931 c 3.98675,0 7.1963,3.209548 7.1963,7.196296 v 70.274066 c 0,3.98675 -3.20955,7.19631 -7.1963,7.19631 h -50.61931 c -3.98675,0 -7.196288,-3.20956 -7.196288,-7.19631 V 81.190344 c 0,-3.986748 3.209538,-7.196296 7.196288,-7.196296 z"
         style="opacity:1;fill:#009228;fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke" />
    </g>

Although I appreciate your effort @bigtimebuddy I don't think it's a good idea to render SVG primitives in pixi.
Check this out also:
https://css-tricks.com/rendering-svg-paths-in-webgl/

I think this does what you want using webpack.
https://github.com/blunt1337/pixi-svg-loader

@OSUblake cool, it indeed seems to do what I meant. :)

@bigtimebuddy Thanks! I opened a new issue over there. Would be great to have a full Pixi scene graph.
@RanzQ

@trusktr could you give a use case? Do you mean like having groups as Containers and sets of primitives as Sprites?

Yeah, but primitives would be Graphics objects rather than sprites.

One problem I see with this approach is anchors (in case we want to animate something). For example Inkscape adds anchors as custom attributes but they are not in the standard afaik. An example of what I mean:

I don't mind not supporting non-standard stuff, I can live with just the standardized APIs. There could easily be a plugin for supporting inkscape-specific stuff.

Although I appreciate your effort @bigtimebuddy I don't think it's a good idea to render SVG primitives in pixi.

Why exactly do you think that?
@OSUblake

I think this does what you want using webpack.
https://github.com/blunt1337/pixi-svg-loader

That's pretty cool, except limited to Webpack, and also limited to tooled environments, doesn't run on the client. I'm looking for an API I can use with Pixi.js at runtime (vs build time).

What I want (I think, but I'm not the most expert Pixi.js user, so advise if something else is better like using sprites) is to have a DisplayObject scene graph that is the same structure as the SVG DOM used to generate the Pixi tree from. This, to me, is powerful for manipulation and animation, without having to re-render the entire SVG every frame just to animate one primitive (out of possibly hundreds or thousands).

What I think I will do, if something open source doesn't yet exist, is to take @bigtimebuddy's pixi-svg or @saschagehlich's pixi-svg-graphics, and modify them so they create a Pixi Graphics tree rather than just draw onto a single Graphics object.

@trusktr I see, for primitive based animations it might be useful to greate Graphics objects instead of Sprites. But I think the solution could support both, Graphics for simple SVGs and Sprites for more complex ones.
The reason I thought it's not a good idea is the fact that there have been many efforts to create a custom SVG renderer and in my experience they always endup having this TODO of unsupported stuff.
That will be a problem for an artist since one needs to know what features can be used and what not. We already have a good SVG renderer, the browser. But if the SVG just contains simple primitives without effects, then it's probably ok parse it as Graphics objects.
An example where sprites would work better, the map looks very crispy and performs poorly since the paths are complex.

Creating textures from an SVG is pretty easy using canvas 2d and the new Path2D api.
https://codepen.io/osublake/pen/oWzVvb
I was going to work on a better polyfill as the one from Google doesn't seem to work on complex SVG path.
https://github.com/google/canvas-5-polyfill

@RanzQ

We already have a good SVG renderer, the browser.

But it is so slooooooooow. Does it render in the GPU or the CPU? To me the performance I experience doesn't compare to the speed of similar things drawn with Pixi.js, for example. Seems to me that the native SVG engine is doing too much work.
Even canvas 2d is slow compared to WebGL. Compare here the difference between WebGL and Canvas: http://pixijs.github.io/pixi-particles-editor/ (scroll to bottom to toggle between WebGL and Canvas rendering). Canvas is notably slower.
I just want to draw SVG and have it be as fast as possible. So far, conceptually at least, it seems like drawing SVGs with a WebGL API like Pixi.js or Two.js is the fastest way to go. The only downside at the moment is that not all the SVG features are completely supported.
@OSUblake

Creating textures from an SVG is pretty easy using canvas 2d and the Path2D api.

Canvas 2D is still noticeably slower than WebGL, see that demo I just linked two paragraphs up.

Path morphing demo
https://codepen.io/osublake/pen/oWzVvb

Cool demo! In this case, you are animating a simple path in the PathProxy. This is fast enough for the use case probably. But imagine drawing a bunch of things in an SVG, like 100 nodes, and animating them all, then wanting that whole thing as a texture to wrap around a sphere.
Basically, imagine the particles in that demo being done with SVG, then taking the rendering as a texture and putting it in a quad of a 3D app. It would be too slow! Your demo is fast because that particle animation is in WebGL with Pixi.

@trusktr

But it is so slooooooooow.

By that I meant we can draw SVG textures using the browser, it is slow but supports all the features. You wouldn't do animations like that of course. You could create a texture atlas and animate the sprites afterwards. If you'd like to create 2D spinal characters for example, that would be the way to go.
I think this is an example of what you are after: https://github.com/bodymovin/bodymovin/issues/184
The task is not simple and that animation for example is complex enough to play slowly on my oldish Android phone which plays sprite based Pixi scenes fine. I don't see any difference in the SVG and Pixi version. Might be just an optimization issue though.
Check this out also: https://www.gatherdigital.co.uk/community/post/high-performance-webgl/78
So in my opinion, there are two different kind of needs for SVG. One with less SVG features, split into primitives, the other with browser rendered atlas, sprites being the <g> nodes for example.

Another approach might be to find a better interoperable format or tooling for vector graphics than SVG. If you want something scalable, SVG has its limitations in PixiJS for reasons @RanzQ already articulated. There are so many features unsupported in Pixi's drawing capabilities available in SVG that any primative drawing translation is going to be second-rate.
Another approach I'd recommend is PixiAnimate (https://github.com/jiborobot/pixi-animate-extension) it's a native extension (disclaimer, I authored this) for Adobe Animate that does a good job exporting accurate Graphics. Plus you can create whatever hierarchy you want using nested symbols and layers or animate.

@bigtimebuddy Is there a workflow to create texture atlases from vector graphics using Animate? I've been looking for such a workflow where the Pixi scene could be created UI assisted.
It seems to be possible to create atlases but have you tried your extension for this: http://blogs.adobe.com/contentcorner/2017/07/03/create-a-texture-atlas-with-animate-cc-for-your-favorite-game-engines/

@RanzQ, yes PixiAnimate can export separate images or spritesheets in the format of TexturePackers atlases. Vector shapes, however, are not automatically converted to textures. You need to use "Convert to Bitmap" to do that in Animate.

@trusktr

Your demo is fast because that particle animation is in WebGL via Pixi.

Exactly. I wasn't suggesting to use canvas as the main renderer. Only to generate textures/sprites. It should be fast enough for a lot of use cases. I think that is how Two.js does path rendering in WebGL.
And using Path2D objects can improve canvas performance as the browser will cache the vectors for a path. This allows you to use the same path object more than once, even with different canvas contexts and resolutions.

@OSUblake

Exactly. I wasn't suggesting to use canvas as the main renderer. Only to generate textures/sprites when the geometry changes. It should be fast enough for most use cases. I think that is how Two.js does path rendering in WebGL.

Yes, this sounds like a good approach. For example, if the only attributes being modified on a <circle> element are cx and cy, this this means that an optimization would be to translate an existing mesh or sprite without creating a new one.
Here's a comparison between Pixi, Two, and native SVG:

https://jsbin.com/nohovowupa/edit?js,output (Two.js, 10,000 circles, fastest)
https://jsbin.com/vizuwemibe/1/edit?js,output (Pixi.js, 2,000 circles, slower)
https://jsbin.com/xocarayepi/edit?js,output (browser native SVG, 1,000 circles, slowest)

Why is Pixi so much slower? Is it because it recalculates (re-tessalates or re-rasterizes) based on the draw commands every frame?

With Two.js, a Circle is an object with x, y, and radius properties. It is obvious with that API that the circle doesn't need to be retessalated/rerasterized if modifying only x and y.
It isn't as obvious how this optimization would be made with the drawing-command-style of Pixi.

@trusktr

Why is Pixi noticeably slower? Is it because it recalculates (re-tessalates or re-rasterizes) based on the draw commands every frame?

No. It's just creating a lot of triangles, which is killing GPU performance. You can see the difference if you draw a rectangle without a line style. It will render it as a sprite, so performance will be much better. 10,000 rects.
https://codepen.io/osublake/pen/fb93e2c835d8c88c56bed3d0a26e23af?editors=0010
Have you looked into using distance fields for rasterization? I know it works well with fonts if you don't zoom in too much. I'm wondering if it could be used to animate path data.
https://github.com/Tw1ddle/WebGL-Distance-Fields/tree/master/sdf
Demo. Type stuff and zoom with mousewheel.
http://tw1ddle.github.io/WebGL-Distance-Fields/

My previous examples were completely inaccurate because I didn't realize JSBin was breaking out of the for loops early, so on my Macbook Pro it was rendering only 500 circles (even if I set n to 10000). I've updated the examples, so they all render 2000 circles without JSBin's loop-breaking:

https://jsbin.com/gukutebava/1/edit?js,output (Two.js)
https://jsbin.com/cocuhivomu/edit?js,output (Pixi.js)
https://jsbin.com/puzetodira/edit?js,output (SVG)

The SVG example is still slowest when animating only circle positions (not radius).
Here are Two.js and SVG also animating radii:

https://jsbin.com/xicowaheto/1/edit?js,output (Two.js)
https://jsbin.com/kolejamogo/1/edit?js,output (SVG)

I didn't include the Pixi.js version because I wasn't sure how to modify the non-radius-animation version. How would you update the no-radius-animation version using Pixi.js to include the radius animation?

How would you update the no-radius-animation version using Pixi.js to include the radius animation?

Performance may really start to take a nose dive here. You have to clear the graphics object, which resets everything.
https://codepen.io/osublake/pen/8217810e590672c5a5327596e33c4b1a?editors=0010

Now look at this demo using canvas 2d to generate the textures. 3,000 circles running at a solid 60fps on my machine.
https://codepen.io/osublake/full/MoMeMg/

Well, anyway, I think there's a good use case for this, as the example shows: it can be much faster in WebGL in some cases.

@OSUblake  Oops, I replied that last one before seeing your new replied.

Performance may really start to take a nose dive here. You have to clear the graphics object, which resets everything.
https://codepen.io/osublake/pen/8217810e590672c5a5327596e33c4b1a?editors=0010

That's what I feared, which is not ideal. It starts approaching native SVG slowness.

Now look at this demo using canvas 2d to generate the textures. 3,000 circles running at a solid 60fps on my machine.
https://codepen.io/osublake/full/MoMeMg/

Holy shit, wow! Okay! So, there we go, that's currently the best way to do it (and with 3000 <canvas> even)!
Why is that so much faster? Maybe native SVG implementors can learn from this (as well as Pixi.js and Two.js)?

Maybe using this approach in Pixi.js would require changes to collision/picking? There'd be a rectangle texture instead of a mesh.

@trusktr Reason that is fast is that you draw on canvas once, then upload it as a texture to the GPU. In that example there is a separate texture generated for each radii rounded to 4px steps. The animation is fast enough so you won't see the texture swap.
You can do similar things with Pixi's drawing API by caching Graphics objects (cacheAsBitmap). That way you can draw your primitives once and re-draw them fast from cache.

In that example there is a separate texture generated for each radii rounded to 4px steps (if I understood it corretly 😄)

It's actually rounding to 0.25 increments. How much sub-pixel accuracy can you actually see?
If that's funny, then check out how Pixi's CanvasTinter works. Or how sprite sheet animations work. You sacrifice some memory in exchange for performance, and with a good caching strategy it can work.

You can do similar things with Pixi's drawing API by caching Graphics objects (cacheAsBitmap). That way you can draw your primitives once and re-draw them fast from cache.

Using cacheAsBitmap might not look good because the graphics will have aliasing. To get antialiased graphics you need to use generateCanvasTexture. So either way you end up with a canvas, but using Pixi's graphics api you can't do simple things, like changing the line dash of the stroke.

You can do similar things with Pixi's drawing API by caching Graphics objects (cacheAsBitmap).

To get antialiased graphics you need to use generateCanvasTexture

With either of those two options, can I animate the radius like in your example @OSUblake ?

@trusktr Yeah, you just have to create many Graphics objects with different radius and create a map of the generated textures (so you can then use a cached texture for each radius). With cacheAsBitmap you would map the Graphics objects instead of textures but you wouldn't have antialiasing like @OSUblake said.
This kind of animation is sprite sheet animation. When you can animate using transforms then this kind of texture caching is not needed. Like if you wouldn't care that the stroke of the circles scales too, a simple scale animation would do it.
But I agree, canvas has a better drawing API so I would use it. And for SVG, the hierarchy can be split to an atlas, like pixi-svg-loader does (I think?). Or if you want sprite sheet like animation, that's possible too by drawing the animation states on canvas.

Maybe using this approach in Pixi.js would require changes to collision/picking? There'd be a rectangle texture instead of a mesh.

While not as fast as a polygon, canvas does have method to do hit testing on a path, isPointInPath. See it working on this map.
https://codepen.io/osublake/pen/dzYzab/?editors=0010

There seems to be a svgloader in three.js, perhaps something that can be mapped to pixi.js
https://github.com/mrdoob/three.js/blob/master/examples/js/loaders/SVGLoader.js

https://link.medium.com/We8U5LXZWdb. @pixi-essentials/svg does this more or less.


Keep wallet key in Hardware Security Module...

The problem that you wish to solve
Wallet private key should be impossible to steal even if attacker manages to hack the cardano-wallet.
The best way to assure that would be to hold private key in Hardware Security Module, like the ones provided by Thales, Yubi.
Note that these are specifically designed for use on the server, and indeed available on Azure and IBM clouds.
(I omit AWS solution, since it does not seem to support EdDSA Ed25519 yet. Google allows co-location of custom HSMs only, standard HSM does not support Ed25519. However, next NIST signing standard is expected to include EdDSA and Ed25519, so I expect it will become supported in few years.)
Future version of TPM may also support this feature.
Description
To support signing by Hardware Security Module, we need the abstract private key API that allows to offload signing and encryption to the HSM device.
Implementation suggestions
Abstract API that allows us to:

generate key within HSM or import it to HSM without leaving it in memory, nor on disk,
signing with a HSM key id, by passing payload string, and receiving signed payload.

Later this API can be implemented to support all HSM and KMS solutions that will support future FIPS signing standard. Possibly will include TPM 3.0, AWS/Google/Azure KMS solutions, and USB keys with signing capability.

@maerwald @migamake

@jonathanknowles This feature would increase security of the wallet private key, by making it very hard to steal it. (For stealing, one would have to also breach HSM.)
The attacker who hypothetically breaks the wallet could sign a transaction, but it would have to be real time attack.
Could this feature be supported in the next version?


Better support for Django main

The Postgresql JSONField is deprecated since Django 3.1 and will be removed in Django 4.0:
https://docs.djangoproject.com/en/dev/releases/3.1/#postgresql-jsonfield
Problem
Import export not working with Django main
Solution
Change imports to new JSONField, remaining compatible with old Django versions.
Acceptance Criteria
All tests passing now.

Coverage decreased (-0.05%) to 96.764% when pulling 93f09293d0d47c984a26c8af1b8a87e13f55f327 on fix-tests-with-django-main into e8e7548b278875b1fa83d0b484775ca70fdaf402 on master.


How to get the preivous batch after running Iteration.get_next() in tensorflow?

This problem is in the stackoverflow.
https://stackoverflow.com/questions/47485023/how-to-get-the-preivous-batch-after-running-iteration-get-next-in-tensorflow
I hope someone to help me to solve it.
Thanks.

You can close it if don't meet acquirment .

The problem has been solved.


Multi-Scan-Cloud contains points at origin

The pointcloud2 (cloud_360) contains points at the origin, which require a filter later to make sure that there are no obstacles within the robot's footprint. I guess they could be replaced by nans or removed.

We will discuss this point with SICK management this month (September). I think that this value is provided directly by the firmware of the lidar. Until final clarification, we suggest that you interpret values below a certain small limit (e.g. 1 cm) as NaN.

We implemented the following two steps:

Discussion with SICK management: SICK management confirmed to us that value 0 should be interpreted as an invalid measured value.
Filter procedure: We installed filters for testing against minimum and maximum ranges in September. These changes will be online next week at the latest.

Using version 2.8.7 and higher you can filter against minimum range and maximum range setting. As mentioned earlier there could be range values with 0.00 indicating invalid values (see discussion above).


updated docker-compose version breaks on Ubuntu 16.04

This docker-compose version was updated to "3". I get the following error now.
ERROR: Version in "./docker-compose.yml" is unsupported. You might be seeing this error because you're using the wrong Compose file version. Either specify a version of "2" (or "2.0") and place your service definitions under the `services` key, or omit the `version` key and place your service definitions at the root of the file to use version 1.
For more on the Compose file format versions, see https://docs.docker.com/compose/compose-file/

This is on a Ubuntu 16.04.6 VM with the default docker packages.
$ docker-compose version
docker-compose version 1.8.0, build unknown
docker-py version: 1.9.0
CPython version: 2.7.12
OpenSSL version: OpenSSL 1.0.2g  1 Mar 2016

$ docker version
Client:
 Version:           18.09.7
 API version:       1.39
 Go version:        go1.10.4
 Git commit:        2d0083d
 Built:             Fri Aug 16 14:19:38 2019
 OS/Arch:           linux/amd64
 Experimental:      false

Server:
 Engine:
  Version:          18.09.7
  API version:      1.39 (minimum version 1.12)
  Go version:       go1.10.4
  Git commit:       2d0083d
  Built:            Thu Aug 15 15:12:41 2019
  OS/Arch:          linux/amd64
  Experimental:     false

If i changed back to  version: "2" in the docker-compose.yml everything seems to work just fine.

I noticed this was done in pull request #415 to support the --build-arg it looks like the version of docker that comes with Ubuntu 16.04 does not support this.
$ docker-compose help build
Build or rebuild services.

Services are built once and then tagged as `project_service`,
e.g. `composetest_db`. If you change a service's `Dockerfile` or the
contents of its build directory, you can run `docker-compose build` to rebuild it.

Usage: build [options] [SERVICE...]

Options:
    --force-rm  Always remove intermediate containers.
    --no-cache  Do not use cache when building the image.
    --pull      Always attempt to pull a newer version of the image.

You can also install the newest versions of docker and docker-compose like described here:
https://docs.docker.com/install/linux/docker-ce/ubuntu/
https://docs.docker.com/compose/install/

Thanks @Aschenbecher I should have added that to the issue to start with as it's more of a informational issue than anything else.

I'm not sure why the docker-compose file is again in the root folder... normally it should be only in examples folder now.... Git pull also destroyed my compose file :(

Close this.
README has been updated to show docker versions and 16.04 is end of standard support.


Alternative version of fpga-hdl2bit using edalize

I will implement a version of fpga-hdl2bit based on edalize, to check similarities and differences. @mithro

FYI -- @kgugala and @olofk can probably help here.

I will use fpga-tool-perf as base example, to implement the minimum needed here. Maybe when implemented they can verify if correctly used to take advantages of its features.
For what is done in this repository, what I need is something like:
fpga-hdl2bit [--outdir OUTDIR] [--tool TOOL] [-f DEP1] [-f DEP2] [--run TASK] TOPFILE

Where:

OUTDIR is where files are generated. It implies needed Tcls, Makefiles or bash scripts, and also the output product of the vendor tools. It is a desired option, to avoid to populate with hundreds of files.
TOOL is the tool to use and can be: yosys (only synthesis), ise, vivado, quartus, yosys-ise (Yosys with ise for P&R), yosys-vivado (Yosys with vivado for P&R). Also, ghdl (only for synthesis), ghdl-yosys(only for synthesis) and,ghdl-yosys-iseandghdl-yosys-vivado' would be useful, to support all the used tools in this repo (https://gitlab.com/rodrigomelo9/pyfpga/-/issues/34).
DEPx are modules (files) involved in the design, which are not the top-level.
TOPFILE is mandatory, and the top-level of the design. A file is provided and the top-level name is automatically detected. If more than one top-level is detected, the last one is taken.

The fpga-hdl2bit implementation based on PyFPGA is here.

Edalize supports ise, vivado, ghdl and quartus already
There is a PR for yosys-vivado in Edalize which needs a bit of cleaning up but after that it's ready to go. It would be awesome to add ghdl synthesis support. I guess the easiest way would be to extend the yosys class to accept VHDL files too. If you're interested I'm happy to accept patches for that.
But if we ignore the ghdl synthesis stuff for a while, I think the easiest way to support edalize in fpga-2hdlbit would be to parse the command-line, build an EDAM object from that info and pass it on to Edalize

Hi @olofk, thanks. What about to specify only to perform synthesis or synthesis + P&R (without bitstream generation). As far I understood (reading the README, and with a quick view of the source code) it can't be specified. I am wrong? I will implement the alternative version to learn edalize (and probably I could contribute things).
My entry-point API, fpga.project, solves some high-level things, such as generate and run all into an specified directory, time measurement, top-level autodetection when a file is provided (instead of provide the name by hand, and moreover, the last top-level in the file is selected, which is useful here because there are Xilinx examples with multiple modules in a single file). Probably, fpga.project could use edalize instead of my EDA interface. I must further investigation :P but I saw that for example, when passing parameters, you must specify if vlogparam or generic. Is it needed because are there some tools which need these differences? With the tools that I actually support (ise, vivado, quartus, libero-soc and yosys) is not needed. I am only asking to know because I saw these differences.
Regards

The icestorm, quartus, trellis and vivado backends (but not diamond and ise) have options to set pnr : none in the tool_options section to only perform synthesis.
Good point about vlogparam and generic. I had to check, and all the backends that support both types actually specify them in the same way. I hadn't noticed that before :) I originally wanted to separate them since there are some differences to when they are applied. Verilog parameters must be fixed during compilation (for simulations) while generics can be set when you run the simulation model, more like plusargs. In reality though, none of the Edalize backends take advantage of this.

I played a little with edalize. I need things such as run only synthesis (which is supported) and synthesis + P&R (as far I understood, it is not possible, edalize run P&R and bitstream generation together, let me know if I am wrong). Moreover, it seems that the tools are called multiple times, which is a big problem in case of Vivado, which takes at least 10 seconds, but sometimes 40, to start (again, maybe I am wrong, let me know). There are a lot of examples analyzed in this repository and I prefer not to waste time invoking several times the tools. Anyway, I am using fpga-hdl2bit in this repository, the thing is, If I use PyFPGA or edalize under-the-hood, which I think that if needed, could be treated in other place.
Please, @olofk let me know if I am wrong in something that I said about edalize and @mithro, any thought will be welcome.


Deploy

Creating a self-updating and self-deploying Streamlit app with a feedback loop involves several complex steps. While it's technically possible to build such a system, it's essential to approach this with caution, as automating deployment and updates can carry risks if not done correctly. Here's a high-level overview of how you might implement this:

Streamlit App Structure: Your Streamlit app should be structured in a way that allows it to be updated and redeployed automatically. Consider modularizing your app, separating the core logic from the presentation layer.

Version Control: Use a version control system (e.g., Git) to manage your app's source code. Host the repository on a platform like GitHub.

Continuous Integration/Continuous Deployment (CI/CD): Set up a CI/CD pipeline using tools like GitHub Actions, Jenkins, or Travis CI. Configure your CI/CD pipeline to monitor changes to the repository.

Automated Testing: Implement automated testing for your Streamlit app to ensure that new versions don't introduce critical bugs. These tests can be part of your CI/CD pipeline.

Auto-Update Mechanism: Develop a mechanism within your Streamlit app that checks for updates from the repository. You can use GitHub API or Git commands to fetch the latest version.

Update Trigger: Define a trigger or schedule (e.g., cron job) that periodically checks for updates. When updates are available, this trigger initiates the update process.

Update and Deployment: When an update is detected, your app should pull the latest changes from the Git repository, build the updated Streamlit app, and deploy it. This can involve running scripts or using deployment tools like Docker and Kubernetes.

Review and Approval: Before deploying updates to the production environment, implement a review and approval process. This can include automated testing, user acceptance testing (UAT), and human approval steps.

Deployment to Production: Once updates are approved, deploy the updated Streamlit app to the production environment. This step should be automated to reduce manual intervention.

Rollback Mechanism: Implement a rollback mechanism in case an update introduces critical issues. This mechanism should allow you to revert to the previous version quickly.

Monitoring and Alerts: Set up monitoring for your app's performance and health. Configure alerts to notify you of any anomalies or errors.

Logging: Implement comprehensive logging to track app behavior, errors, and updates. This will be essential for debugging and auditing.

Security: Pay special attention to the security of your self-updating app. Ensure that only authorized changes are deployed.

Documentation: Document the entire process, including scripts, configurations, and deployment procedures, for future reference and troubleshooting.

Compliance: If your app handles sensitive data, ensure that it complies with data protection regulations (e.g., GDPR, HIPAA).

This is a complex task, and it's crucial to thoroughly plan and test each step to avoid potential issues or downtime. Continuous monitoring and maintenance will also be necessary to ensure the reliability of your self-updating Streamlit app.
Keep in mind that this approach may not be suitable for all types of applications, and the level of automation and complexity should align with your specific requirements and resources.

Setting up a secondary deployment environment for development and testing purposes is a good practice. It allows you and your users to experiment with changes and new features without affecting the production environment. Here are some steps to achieve this:

Clone the Repository: Create a clone or fork of your Streamlit app's Git repository. This secondary repository will be used for development and testing.

Create a Separate Branch: In the secondary repository, create a separate branch dedicated to development and testing. This branch will be where you and your users make changes and test new features.

Development Environment: Set up a development environment that mirrors the production environment as closely as possible. This includes dependencies, database connections, and any other services your app relies on.

Development Configuration: Use configuration files or environment variables to manage different configurations for your app. Ensure that your Streamlit app can distinguish between the production and development environments.

Secondary Deployment: Deploy your secondary branch to a different endpoint or subdomain, making it accessible for testing. You can use platforms like Heroku, AWS, or any other hosting service that supports multiple environments.

Access Control: Implement access control mechanisms to restrict access to the secondary deployment. You may want to provide access only to specific users or teams during the testing phase.

Testing Workflow: Encourage users to create and test new features or changes in the secondary deployment. They should follow a structured testing workflow, including creating feature branches, testing, and submitting pull requests.

Feedback and Bug Tracking: Set up a system for users to provide feedback and report bugs encountered during testing. This could be through a dedicated issue tracker or a communication channel like Slack or email.

Integration Testing: Perform integration testing to ensure that new changes or features work seamlessly with the existing app functionality.

Continuous Integration: Set up a separate CI/CD pipeline for the development branch to automate testing and deployment of changes to the secondary environment.

Regular Updates: Regularly synchronize changes from the development branch with the production branch. This ensures that tested and approved changes can be easily merged into the production environment.

Data Isolation: If your app uses a database, consider isolating the data between the production and development environments. You don't want test data affecting your production database.

Documentation: Document the development and testing process, including guidelines for users who are testing new features.

Security: Ensure that security measures are in place to protect the secondary deployment, especially if it's accessible over the internet.

Cleanup: Periodically clean up the development environment to remove outdated or unneeded branches and data.

By setting up a secondary deployment environment for development and testing, you create a controlled space for experimentation while maintaining the stability of your production app. It also promotes collaboration and feedback from users who can contribute to improving your Streamlit app.

Enabling users to spin up a local development environment for your Streamlit app is a great way to encourage contributions and testing. Here's a high-level overview of how you can implement this feature:

Generate Development Configuration:

Create a development configuration file or script that sets up environment variables and configurations specific to the local development environment. This should include database connections, API keys, and any other settings that differ from the production environment.

Provide Installation Instructions:

Document clear installation instructions for users. This should include steps for setting up the necessary dependencies, such as Python, virtual environments, and any required libraries.

Development Setup Script:

Create a setup script or command that users can run to automatically set up the development environment. This script should:

Create a virtual environment for the app.
Install the required dependencies using pip or another package manager.
Load the development configuration.
Optionally, seed the development database with sample data.

Local Development Server:

Provide a command to start the local development server. For Streamlit apps, this is typically done with the streamlit run command followed by the app's Python script.

Automated URL Generation:

Implement a script or function that generates a unique URL for the local development environment. This URL could include a random port number or other unique identifier. For example, it might look like http://localhost:5000 or http://localhost:random_port.

Launch Development Environment:

When the user runs the setup script and starts the local development server, it should automatically open a web browser with the generated URL. This provides a seamless experience for the user.

Monitoring and Debugging:

Include instructions on how users can monitor and debug their local development environment. This may involve accessing log files, using debugging tools, or reporting issues.

Version Control Integration:

Encourage users to use version control (e.g., Git) to manage their changes and collaborate with others. Provide guidance on creating branches, committing changes, and submitting pull requests.

Documentation and Support:

Maintain clear and up-to-date documentation that guides users through the local development process. Offer support channels, such as a dedicated chat group or forum, where users can seek help and share feedback.

Security Considerations:

Emphasize security best practices, especially if the app interacts with sensitive data. Users should be aware of potential security risks when running a local development environment.

Cleanup Instructions:

Provide instructions for users to clean up their local development environment when they no longer need it. This may involve stopping the local server and removing virtual environments.

Testing and Validation:

Before releasing this feature to users, thoroughly test the setup process on different platforms (e.g., Windows, macOS, Linux) to ensure it works smoothly.

By implementing these steps, you empower users to easily set up and run a local development environment for your Streamlit app, fostering collaboration and contributions from a broader community of developers and testers.

Providing Docker and other package formats is an excellent way to make it even easier for users to set up and run your Streamlit app locally. Here's how you can go about it:

Dockerization:

Create a Dockerfile for your Streamlit app. This file defines the app's environment, dependencies, and how it should be executed within a Docker container.
Include all the necessary setup steps, such as installing Python, setting up the virtual environment, and copying your app's code into the container.
Configure the container to run the Streamlit app with the appropriate command (streamlit run followed by your app script).

Docker Compose (Optional):

If your app requires additional services like databases, you can provide a docker-compose.yml file that defines the entire development environment, including the app container and any linked services.

Docker Registry:

Host the Docker image on a Docker registry (e.g., Docker Hub, GitHub Container Registry, or a private registry). This allows users to easily pull the image.

Documentation:

In your app's documentation, include clear instructions on how to use Docker to run the app locally.
Provide examples of Docker commands for pulling and running the image.

Alternative Packaging Formats:

Besides Docker, consider providing alternative packaging formats like:

Virtual Machine (VM) images (e.g., VirtualBox, VMware).
Package managers for different platforms (e.g., Homebrew for macOS, APT for Debian-based Linux).
Standalone executables (e.g., PyInstaller, cx_Freeze) for platforms where Docker isn't ideal.

Automated Builds:

Set up automated Docker image builds on platforms like Docker Hub or GitHub Actions. This ensures that the Docker image is continuously updated when your code changes.

Versioning:

Clearly indicate the version of your Docker image to allow users to choose a specific version or the latest one.

Security Considerations:

Ensure that your Docker image is built with security best practices in mind. Keep the base image updated and minimize the attack surface by removing unnecessary components.

Testing:

Test your Dockerized app on different platforms to ensure compatibility and document any platform-specific considerations.

Community Support:

Maintain a forum or channel where users can discuss issues and share their experiences with running your app using Docker or other packaging formats.

Feedback Mechanism:

Encourage users to provide feedback on the packaging formats. Their input can help you improve the user experience.

By offering Docker and other packaging formats, you give users flexibility in how they set up and run your Streamlit app locally, catering to a wide range of development environments and preferences.


Preserve existing output directory on failure

If a generated output directory already exists, we don't delete it on project generation failure.
Supersedes #684.
Fixes #629.

👀 @rsyring @ionelmc @eliasdorneles @sodre

Codecov Report

Merging #964 into master will not change coverage.
The diff coverage is 100%.

@@          Coverage Diff          @@
##           master   #964   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files          17     17
  Lines         685    688    +3
=====================================
+ Hits          685    688    +3

Impacted Files
Coverage Δ

cookiecutter/generate.py
100% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

I would love to see this get merged!  To this day, when iterating on cookie cutters for some types of projects, I have to separate the cookie cutter output from my actual git repo and rsync the changes over so the entire project, including .git, doesn't get clobbered.
I appreciate the effort here @michaeljoseph and apologize for not finishing what I started.  Getting into the tests ended up being too high a bar for the time I had.

@hackebrot THANK YOU!


Compiling Error

Describe your problem here.
Im trying to compile psych's engine source code, but when i do lime test windows, it comes up with an error.
Error: Could not find include file "C:/HaxeToolkit/haxe/lib/hxCodec/2,6,1/vlc/lib/LibVLCBuild.xml"
Can anyone help me fix this?
Are you modding a build from source or with Lua?
Source
What is your build target?
Windows x64
Did you edit anything in this build? If so, mention or summarize your changes.
No response

haxelib remove hxCodec
haxelib install hxCodec 2.5.1

when i do this i just get the errors:
source/PlayState.hx:74: characters 8-28 : Type not found : hxcodec.VideoHandler
source/PlayState.hx:1519: characters 13-25 : Type not found : VideoHandler
i already have hxCodex 2.5.1 installed


base image: remove g++ and build tools

g++ and any build tools requirements should be removed from the base image.
Installing that will result in 213 MB of packages (build-essential and so on) making the final image size more or less 500MB:
apt-get output:
After this operation, 213 MB of additional disk space will be used.
why not using a compiled version of tsuru-circus ? base image is Ubuntu Quantal so it should be possible to precompile packages

agree with it. in fact, more than half of tsuru images do not need g++ and build tools.

As we don't have circus anymore, this is now done.


Support RequireJS

#32
@sprilukin would you mind giving this branch a try? I applied your patch and tests pass locally. I want to be sure this actually works for you before I merge it to master and release.

see this: #57
it works perfectly with tests and amd.


Palladium Fantasy 1E

Changes / Comments
Added the radius property to the spells roll template.
Added radius inputs on several magic related repeating sections.
Altered the input background color so that autocalc fields would be visibly darker than normal input fields.
Aligned some headers on magic related tabs.
Updated the images of different tabs, including primary preview image.
Updated sheet.json to reflect the name of the new preview image.
Made a mistake and uploaded most of the images to the main repository instead of the sheet folder, so you will see extra adds/removes of those files.
Roll20 Requests
Comments are very helpful for reviewing the code changes. Please answer the relevant questions below in your comment.

[ ] Does the pull request title have the sheet name(s)? Include each sheet name.
[ ] Is this a bug fix?
[ ] Does this add functional enhancements (new features or extending existing features) ?
[ ] Does this add or change functional aesthetics (such as layout or color scheme) ?
[ ] If changing or removing attributes, what steps have you taken, if any, to preserve player data ?
[ ] If this is a new sheet, did you follow Building Character Sheets standards ?

If you do not know English. Please leave a comment in your native language.

Character Sheet Info Roll20 Internal Use only.


💡Feature Idea - search options for samples/scenarios

💡 Idea
I was wondering would make sense to add some search functionality for the samples and scenarios view. I agree in scenarios currently we don't have much data but in samples it maybe makes more sense as now we need to search manually for the thing we are looking for and go between pages.
🎯 Aim
I would start with a simple input that would actually do filtering of data matching the title of the sample 🙂. What do you think?
📷 Mocked result
I created a very professional mockup how would I do it for now 🙂

hi @estruyf didn't get much of a response here 😅. Sorry if I am a bother 🙂. Do you think the idea is worth it and I could try to contribute?

Sure, @Adam-it, if you want to pick up this task, feel free to do so. It makes sense to have a filter/search option on the dashboards.

Sure, @Adam-it, if you want to pick up this task, feel free to do so. It makes sense to have a filter/search option on the dashboards.

Please assign me to this one 😉. I will try to find some time to work on it 👍

sorry @estruyf for the hold up 🙏 I had a lot of other OS work on my head and just could find time to finish this off 😉. Thanks for your patience 👍


Initial update of INSTALL.md instructions

The INSTALL.md file is already outdated (when we forked the repository).

This has been updated - teammates should be able to install it on their system


Remove isAjax

in favor of an automatic detection based on the X-Requested-With header.
Will open a discussion on the pac4j-dev mailing lists.

https://groups.google.com/forum/?fromgroups#!topic/pac4j-dev/SQ5kmgQlsfY

Good idea :+1:

Pull requests:
https://github.com/pac4j/pac4j/pull/249
https://github.com/pac4j/j2e-pac4j/pull/19
https://github.com/pac4j/j2e-pac4j-demo/pull/17
https://github.com/pac4j/play-pac4j/pull/75
https://github.com/pac4j/play-pac4j-java-demo/pull/20
https://github.com/pac4j/play-pac4j-scala-demo/pull/19


Split out human features

One option is to figure out how to handle the opencv package written by DrTrigon and make a pypi package out of it.
Another option would be to redo it using modern libraries (this is preferred).
Need to identify good libraries that do this.

Status?


how i can change to ijkplayer

162/5000
Hi. The video playback speed is low. You said that using the demo guide, ijkplayer is changed , but I do not find the demo. If you can explain it with a simple example.
Another issue is how to change the message when the video is not loading
Thank you for reply

see JZMediaIjkplayer in demo


make data file configurable

Reference: TensorFlow PR#13917, TensorFlow issue#13876.
@fchollet Please review the PR.

Hi @DjangoPeng,
Would it be better that we just pass the parameters to get_file, as get_file does not only download and extract data but also do validation on it?
Thanks and best regards.

I got your point. But I have no idea how to set the origin argument when using the local data files.

Thanks for the PR. Looking at it:

This keyword argument would be mismatched with the API of every other built-in dataset.
The use case is not clear; it seems this is for users who already have downloaded the dataset somewhere themselves. In that case, why would these users need the built-in Keras method to load/preprocess the data? All we do besides downloading/caching the data, is repeatedly calling load_batch, which you can use in your own code as a standalone method. So if you have already downloaded the data, you don't need to use cifar.load_data at all.

Overall: we won't merge it.

@fchollet  Agree with you. It seems like there is  already a  function when using local data files.

@fchollet For the reason that I make a propose for this is just a enhance for flexibility or maybe a lazy way to get cheap data by calling loda_data, like do not repeat the procedures(validation or download) that had already implemented in it.
In my opinion, this is not just for who had downloaded data alreay, but the workflow would be 'check if extracted file exist' -> 'if archived file exist' -> 'download it'. In this way, we won't care where the data come from.
But maybe for archive is the usual state of data, when we use it.
Anyway that is really a trivial issue. And for a new fresh like me, really learnt a lot when look into the source.
Thanks a lot for you time.
@DjangoPeng Thanks for you effort and time.


Revisit sort() usage

Node.js > 10 changed the sorting algorithm. This resulted in test failures which I have worked around by just using a different test file on Node.js > 10.
We should fix our sort usage to be consistent. The failing test is the packed one which hints that this code is probably wrong:
https://github.com/svg-sprite/svg-sprite/blob/70ae96e05eea9a7669cc357daec3ba9f2490268d/lib/svg-sprite/mode/css/packer.js#L29-L31
But the issue could be in another part of the codebase. I'm marking it as a bug because it hints that the problem is in our code.

Closing since we no longer support Node.js < 12


Smoother way of changing default login shell back to bash on uninstall

The current uninstall script attempts to chsh -s /bin/bash to change the default login shell for the user back to bash.  But chsh -s /bin/bash requires user login, and the script cannot deal with login failure or any disruption to the command.  The main change, in general terms, is to check the exit code of chsh -s /bin/bash and to prompt the user more appropriately in case of success or failure of the login.  A minor change is to remove the command source /etc/profile.  This is because, as explained here, according to the OS X bash man page /etc/profile is sourced first after bash is invoked as an interactive login shell (or a non-interactive login shell with the --login option).  So having done chsh -s /bin/bash the user would be expected to open either a new window from their terminal app or close and reopen their terminal app, which will start an interactive login bash shell that will source /etc/profile first.  Thus this is unnecessary in the uninstall script.
In the case of success chsh -s /bin/bash will reset the UserShell attribute of the user’s record in the OS X Directory Services database for their local domain node . back to /bin/bash, but this change is not immediately reflected in the working shell window (in which the uninstall script was executed).  So the change here specifically involves asking the user whether they would like to do this, and dealing with the two different possibilities.
These changes are self-explanatory, but could be improved even further - for example, an assumption is made that the user wants to default back to /bin/bash but perhaps they do not, or perhaps they do not care because they have specified a specific shell type and path in their terminal app, or they do not wish to default to bash but another one of the accepted shells in /etc/shells.  For the moment thought these changes should make the uninstallation process less painful and the script easier to maintain and debug.
Note: the default login shell for a local domain user, from the point of OS X, is determined not by environment variables like SHELL or the shell preferences in Terminal.app but the value of the UserShell attribute of the user's record in the OS X Directory Services database for the their local domain node ..  Moreover executing chsh -s <shell path> in the active shell window will in fact change this attribute directly but the change will not be visible immediately unless a new shell window is opened or the session restarted or with a command like exec su - $USER.

I don't know if the shell replacement code does quite what you want. It runs a bash shell, but there's still a parent zsh process running underneath it.
Take a look at how uninstall_oh_my_zsh() is implemented. It runs uninstall.sh in a new child sh process.
$ which uninstall_oh_my_zsh
uninstall_oh_my_zsh () {
	env ZSH=$ZSH /bin/sh $ZSH/tools/uninstall.sh
}

So when uninstall.sh does that exec, it replaces the child sh with a bash. But the parent zsh is still running.  I don't know if that behavior is less confusing than the old behavior.
For example, here's what I saw when testing this out on Fedora 21. (I tested this by doing a normal oh-my-zsh installation, and then moving ~/.oh-my-zsh away and cloning sr-murthy's repo to replace it.) Note that at the end, I'm back in an oh-my-zsh themed zsh process.
➜  ~  uninstall_oh_my_zsh
Removing ~/.oh-my-zsh
Looking for original zsh config...
Changing default login shell from zsh back to bash ... login required.
Changing shell for janke.
Password:
Shell changed.
Done.  All new shell windows will be bash!
Replace this zsh window with a bash window right now? (yes/no): yes
OK, please login again below ... if something goes wrong you can always close this window and start a new bash window.
 Because uninstall.sh was running in a subshell, it never would have had any visible effect in the first place.

See also #2626. Looks like there's an existing PR for saving the user's old default shell.

Thanks, you're right, I should have checked this.  I'll try and close this pull request.


Use a reasonable record version for close_notify sent before version negotiation

Problem:
If an application acting as a server calls s2n_shutdown before it receives a complete ClientHello handshake message from the client, s2n will send a close_notify alert record with record version 0x00, 0x00. Receivers are unlikely to handle to handle this record correctly and may mischaractize the reason for connection closure(Closure exception vs parsing exception).
Proposed Solution:
Pick a default record version for records sent before versions are negotiated. Since TLS 1.3 freezes record version to be 0x0303, I recommend using that.

one could argue that an application shouldn't call s2n_shutdown before version negotiation is complete, however the spec is not clear here

This is useful and helps reduce confusion for cases where the server needs to prematurely shut down the transport. thanks! Now clients should see this as an I/O or transport closure. Previously it looked like a protocol or implementation error due to "unknown protocol version" being spat out by TLS clients that didn't understand s2n server's close_notify.


Updating how we handle patient splits to use metadata/patient_splits.parquet

Note that, given our usage of shard files to make XGBoost iteration easier and faster, the right way to handle this is to re-shard the data for tasks and MEDS data on input into split-separated shards. This is annoying, but should be an easy transformation to perform in a separate step which will make all the subsequent changes much easier to work with.

IF re-sharding is necessary, this is likely easiest to handle as a stage in MEDS_transforms directly which we can run as a singleton here.

The re-sharding stage has been added in the current dev branch release candidate for MEDS-Transform; I will check on integrating it into this codebase's scripts and instructions now, then close this.

Documentation needs to be updated, but the re-sharding stage at least seems to progress fine and work with describe codes, so I am closing this.


scan for viruses pipeline fails on project created from docker container scan

There is a bug with the scan_for_viruses pipeline when run from a project created from a docker image. The error is happening here https://github.com/aboutcode-org/scancode.io/blob/main/scanpipe/pipes/clamav.py#L48 where this happens:
>>> Path(c.path).relative_to(project.codebase_path)
Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "/usr/local/lib/python3.12/pathlib.py", line 682, in relative_to
    raise ValueError(f"{str(self)!r} is not in the subpath of {str(other)!r}")
ValueError: 'asdf_qwe_2024_q3_0.tar-extract/1b9b7346fee7abbc7f5538eaa23548bd05a45abe8daf6794024be0c8ad7d60bb/bin' is not in the subpath of '/var/scancodeio/workspace/projects/qwe2024q30-docker-scan-sep-18-24-155631-bfe786cc/codebase'

The location of a codebase resource created from a docker scan does not have the codebase path prefix.

@JonoYang I have tried to work on it so could please test it out and suggest some improvements.Thank you


Add domain bridge library

This is an initial implementation that supports bridging arbitrary topics across ROS 2 domains.
The generic publisher and generic subscription are directly copied from rosbag2, but I'd like to switch to a common implementation once it is ready (see https://github.com/ros2/rclcpp/pull/1452).
I've also included a README with aspirational usage and a design doc.
This PR does not include some core features that I'd like to add in follow-up PRs:

Correctly mapping QoS settings across the bridge
YAML configuration

cc @mallanmba

I want to write some unit tests for this, but I'll add them in a separate PR for easier review.

@ivanpauno I think I've addressed all your comments. Please take another look :bow:
@mjeronimo It would be great if you could take a look over the design document before I continue as well :slightly_smiling_face:

@ivanpauno @mjeronimo Thanks for the reviews :bow:
I think I've address most comments. I've got a local list of follow-ups that I'll chip away at based on feedback so far. I'm going to merge this, but I'm happy to address any more comments in follow-up PRs.


Failed to execute 'define'

Not sure why - but I see this in the logs
2024-06-17 13:38:25.252 ERROR (MainThread) [frontend.js.latest.202406101] Uncaught error from Firefox 127.0 on Mac OS 10.15
Error: Failed to execute 'define' on 'CustomElementRegistry': the name "button-card-action-handler" has already been used with this registry
3900/</window.CustomElementRegistry.prototype.define (src/scoped-custom-element-registry.js:44:14)
/hacsfiles/button-card/button-card.js:1:24357
2024-06-17 13:38:25.254 ERROR (MainThread) [frontend.js.latest.202406101] Uncaught error from Firefox 127.0 on Mac OS 10.15
Error: Failed to execute 'define' on 'CustomElementRegistry': the name "silent-bus" has already been used with this registry
3900/</window.CustomElementRegistry.prototype.define (src/scoped-custom-element-registry.js:44:14)
/hacsfiles/silent-bus/silent-bus.js:262:356

Still same problem after update to version 1.17
Cache on mobile app was cleaned.
Message from system log:
Uncaught error from Chrome WebView 126.0.6478.134 on Android 14 Error: Failed to execute 'define' on 'CustomElementRegistry': the name "silent-bus" has already been used with this registry window.CustomElementRegistry.define (src/scoped-custom-element-registry.js:44:14) /hacsfiles/silent-bus/silent-bus.js:241:356

גם לי לא עובד . גם אחרי העדכון .

Issue solved, upgrade

Please reopen - this still persists with the latest version

@silentbil - please reopen.
NotSupportedError: Failed to execute 'define' on 'CustomElementRegistry': the name "button-card-action-handler" has already been used with this registry
/hacsfiles/button-card/button-card.js:1:24357


Github thinks pacpy is a Jupyter notebook repo

I don't think it is a problem (unless you would like to be counted as python repository by tools like depsy) but since the addition of example notebook github claims pacpy to be 96.9% Jupyter notebook repository.

Shrug.


Landing page- sections(footer and half the landing page)

Footer section and 2 more sections above it.

desktop view completed

desktop and mobile view completed.


Learning step

Hi
As you say, after collecting all the training data, I should train the vision part weights (VAE-GAN) first.
And then, copy the pre-trained model to another folder, and train the rest control part (LSTM).
What I want to ask is that: In the second step, should I fine-tune the pre-trained vae-gan when learning the LSTM? Or should I fix the VAE-GAN weights and just learn the LSTM?
Thanks

No, what the vision part (Chainer code) gives you is the features extracted from the encoder regularized using LSTM controller. So, the second phase of training only trains the LSTM network on the extracted features.

Thank you so miuch


Add contribution: Bouncing DVD Logo in 3D

https://editor.p5js.org/brunoruchiga/full/bmAOI_p9F

Nice ❤
Thank you for this contribution!


Added mermaid functionality and TFT bridge diagram in mermaid

As discussed in this issue, we propose to add the mermaid diagrams functionality for the TF Manual Mdbook.
As an example of mermaid diagram, the first mdbook mermaid diagram to be updated in the tf manual can be found in the ThreeFold Token, Bridge section.
@xmonader
Can you check if everything is OK on your end?
Thanks!

@hossnys
Hi Samir!
For this PR, we would need to install the mermaid preprocessor on the web server. Could you do this?
I will set the PR as a draft until we have the preprocessor installed.
If you can do it, please let me know once this is done.
Thanks.

@xmonader
Hi thabet.
So I set this PR as a draft, until the mermaid preprocessor is installed on the web server.
The issue for this is here.
Where I tagged @hossnys  Samir.
Thanks.


"non-declaration statement outside function body" while running go get or go run on ANY package

What version of Go are you using (go version)?

$ go version go1.15.6 windows/amd64

Does this issue reproduce with the latest release?
I will try updating but I don't want to mess with my environment if someone knows how this issue can be identified, because it worked until it didn't.
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
set GO111MODULE=
set GOARCH=amd64
set GOBIN=
set GOCACHE=C:\Users\alice\AppData\Local\go-build
set GOENV=C:\Users\alice\AppData\Roaming\go\env
set GOEXE=.exe
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOINSECURE=
set GOMODCACHE=C:\Users\alice\go\pkg\mod
set GONOPROXY=
set GONOSUMDB=
set GOOS=windows
set GOPATH=C:\Users\alice\go
set GOPRIVATE=
set GOPROXY=https://proxy.golang.org,direct
set GOROOT=c:\go
set GOSUMDB=sum.golang.org
set GOTMPDIR=
set GOTOOLDIR=c:\go\pkg\tool\windows_amd64
set GCCGO=gccgo
set AR=ar
set CC=gcc
set CXX=g++
set CGO_ENABLED=1
set GOMOD=
set CGO_CFLAGS=-g -O2
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-g -O2
set CGO_FFLAGS=-g -O2
set CGO_LDFLAGS=-g -O2
set PKG_CONFIG=pkg-config
set GOGCCFLAGS=-m64 -mthreads -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=C:\Users\alice\AppData\Local\Temp\go-build682913518=/tmp/go-build -gno-record-gcc-switches

What did you do?
Well i first noticed it while trying to run an application locally. I tediously looked over my source to see if there was any sort of syntax error, but there wasnt. I later reverted my code to a known working branch and it continued to happen. Then I ran the following commands, and the same issue appeared...

go get -u golang.org/x/lint/golint
go get -u honnef.co/go/tools/cmd/staticcheck
go get -u github.com/kisielk/errcheck

What did you expect to see?
it get these packages successfully.
What did you see instead?

go: found golang.org/x/lint/golint in golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5
go: golang.org/x/tools upgrade => v0.1.0
# runtime
c:\go\src\runtime\panic.go:1189:1: syntax error: non-declaration statement outside function body
go: downloading honnef.co/go/tools v0.1.1
go: found honnef.co/go/tools/cmd/staticcheck in honnef.co/go/tools v0.1.1
go: honnef.co/go/tools upgrade => v0.1.1
go: golang.org/x/tools upgrade => v0.1.0
go: golang.org/x/xerrors upgrade => v0.0.0-20200804184101-5ec99f83aff1
go: golang.org/x/mod upgrade => v0.4.1
go: golang.org/x/sys upgrade => v0.0.0-20210124154548-22da62e12c0c
go: downloading golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c
go: downloading golang.org/x/mod v0.4.1
# runtime
c:\go\src\runtime\panic.go:1189:1: syntax error: non-declaration statement outside function body
go: github.com/kisielk/errcheck upgrade => v1.5.0
go: downloading github.com/kisielk/errcheck v1.5.0
go: golang.org/x/tools upgrade => v0.1.0
go: golang.org/x/sys upgrade => v0.0.0-20210124154548-22da62e12c0c
go: golang.org/x/xerrors upgrade => v0.0.0-20200804184101-5ec99f83aff1
go: golang.org/x/mod upgrade => v0.4.1
# runtime
c:\go\src\runtime\panic.go:1189:1: syntax error: non-declaration statement outside function body

For testing purposes, I tried running the hello world example on the go docs.
https://golang.org/doc/tutorial/getting-started
I followed the instructions...
mkdir hello
cd hello
code hello.go

and pasted this in
package main

import "fmt"

func main() {
    fmt.Println("Hello, World!")
}

then ran
go run hello.go

and the output was
go run .
# runtime
c:\go\src\runtime\panic.go:1189:1: syntax error: non-declaration statement outside function body

I imagine there are other go commands that would cause the same output to appear.
I've packaged my C:\go and C:\users\alice\go folders into two zip files for debugging convenience.
I will nuke them locally and just reinstall, but what a strange bug, if anyone's interested in debugging it, go for it.
C:\go
C:\users\alice\go
p.s. if my userprofile go folder could contain any sensitive information, please let me know. I did remove any NDA-related executables in %userprofile%\go\bin. I ran some file searches through VSCode to look for any sensitive package names or anything like that, and didn't find anything.

This class of bug occurs if one copy of Go is unpacked on top of another. I’d go ahead and delete your go install and start afresh.

This class of bug occurs if one copy of Go is unpacked on top of another. I’d go ahead and delete your go install and start afresh.

It worked after installing the latest update.
I find that interesting given i had used it earlier today and it worked fine, and I didn't install go since then.... How could go unpack ontop of another? Could the VSCode extension maybe have have done that?

It worked after installing the latest update.
I find that interesting given i had used it earlier today and it worked fine, and I didn't install go since then.... How could go unpack ontop of another? Could the VSCode extension maybe have have done that?


Install npm from repo.

Always install npm and nodejs-dev.
This fixes an issue wherein npm was not being installed on ubuntu16.04.

I think the issue is that NPM has split their Debian repositories into two: 7.x and 6.x. A workaround that wouldn't require this patch would be to add the following to a role or environment file:
"nodejs": {
  "repo": "https://deb.nodesource.com/node_6.x",
  "key": "https://deb.nodesource.com/gpgkey/nodesource.gpg.key",
  "keyserver": ""
}

That being said, this is still a bug of sorts in this cookbook as the default install leaves you with a very, very old version of Node as the install candidate.
This update left me with this:
root@cc82e62bbddc:/# apt-cache policy nodejs
nodejs:
  Installed: 4.2.6~dfsg-1ubuntu4.1
  Candidate: 6.9.2-1nodesource1~xenial1
  Version table:
     6.9.2-1nodesource1~xenial1 500
        500 https://deb.nodesource.com/node_6.x xenial/main amd64 Packages
 *** 4.2.6~dfsg-1ubuntu4.1 500
        500 http://archive.ubuntu.com/ubuntu xenial-updates/universe amd64 Packages
        100 /var/lib/dpkg/status
     4.2.6~dfsg-1ubuntu4 500
        500 http://archive.ubuntu.com/ubuntu xenial/universe amd64 Packages

Additionally, the recipe for installing the packages doesn't force a version number in the package resource. This means that if you bump ['nodejs']['version'] it will take no action on subsequent chef runs as well.

https://github.com/redguide/nodejs/pull/164 solves this by upgrading to the 6.x repo. That version ships with npm on Ubuntu 16.04


Reboot action currently only works in push mode

The UI should not offer an execution mode for the reboot action, since it only support push mode.

Related issue https://github.com/nuvla/nuvla/issues/52


vim.cmd in Neovim is vim.command in Vim

Description
Loading the colorscheme in Vim (after addressing #107) results in the error "attempt to call a nil value (field 'cmd')" from precompiled Lua file.  Status of known Lua incompatibilities in Neovim are being tracked at neovim/neovim#12537, in case it helps.  I don't know whether changing the vim table would have undesirable side effects, but it's possible that a well-placed
if vim.fn.has("nvim") == 0 then
  vim.cmd = vim.command
end

could be a quick fix; otherwise a separate
function vimcmd(cmd)
  if vim.fn.has("nvim") == 0 then
    vim.command(cmd)
  else
    vim.cmd(cmd)
  end
end

could be used.
Behavior
Expected behavior
Beautiful colors, of course.
Configuration
None/default.
Reproduce

vim
:colo nightfox

Thanks for catching this. I dont use vim and had a hard time finding out how to get it built with lua. Finally found a way to add it to my nix flake. Should make it easier for me to check if changes break vim.


Add check_resource_semantics! lifecycle method to provider

Added a lifecycle method to check if the resource makes sense for the provider. That way, we can fail before loading it. Will add specs if we want to solve the problem this way :)
Fixed #3075 as an example
cc @jaymzh @chef/client-core

Yeah I guess we need to do this.  This should ideally go into the resource, but with the compile/converge mode split and with the possibility of resources being passed lazy {} we can't really do this until provider/converge time.
Yet more ammunition that compile/converge mode needs to go away and Resources and Providers need to be fused together.  We're starting to lazy up parameter validation and the Resource can't even do its job properly...
:+1: modulo a detour into (getoffmylawn)

:+1: Merge it

:+1: thanks for cleaning this task up.


Should use SceneManager

Assets/FullInspector2/Modules/SerializerMigrationUtility/Editor/fiSerializerMigrationUtilityEditorWindow.cs(236,43): warning CS0618: UnityEditor.EditorApplication.OpenScene(string)' is obsolete: Use EditorSceneManager.OpenScene'
Assets/FullInspector2/Modules/SerializerMigrationUtility/Editor/fiSerializerMigrationUtilityEditorWindow.cs(240,43): warning CS0618: UnityEditor.EditorApplication.currentScene' is obsolete: Use EditorSceneManager to see which scenes are currently loaded'

Thanks, this has been fixed in the latest master. You can download a new version of FI at http://jacobdufault.github.io/fullinspector/access/.


less warnings with specific imports / bumped versions (lens,errors)

I'm not sure if I got the version bumps right, but according to (http://stackoverflow.com/questions/2823522/hackage-package-dependencies-and-future-proof-libraries) the scheme "< A.(B+1)" should be ok?!
Also, I really would love to have the added imports of the update-branch, which I refined, i.e.:
import           Control.Monad.IO.Class (liftIO)
import           Control.Monad (liftM)
import           Control.Lens.Operators ((^#))
to be meged with master, so that they can be picked up for hackage. (The problem with the missing imports was bugging already, I think, in ghc 7.8.x).

I will look into it later today or tomorrow. As I am not using mysql or mariadb anymore (lucky me), I am not really supporting it as I should. If you feel qualified and are willing to take over maintainership, tell me. the state of this library is poor and it needs significant work. At least the enhancements from snaplet-postgresql-simple should be ported so transactions work again.

No, I'm afraid I'm not qualified enough for this kind of "significant work" you describe, at least at the moment.


can not create Label for sized axes

The mwe is:
function pl1()
    fig = Figure()
    ax = Axis(fig[1, 1], width = 600, height = 600)
    Label(fig[0, 1], "TEXT HERE")
    save("test.png", fig)
end

pl1()

where the Label construction will result in an error:
ERROR: LoadError: BoundsError: attempt to access 2-element Vector{Float32} at index [0]

But the unsized version works fine:
function pl2()
    fig = Figure()
    ax = Axis(fig[1, 1])
    Label(fig[0, :], "TEXT HERE")
    save("test.png", fig)
end

pl2()

Am I missing something here? Or is this simply a bug?

Looks on the surface to be a GridLayoutBase bug introduced in the offset refactor.

Fixed by https://github.com/jkrumbiegel/GridLayoutBase.jl/pull/36


[Bug] Scripts of linkis-cli without execute permission

Newly installed linkis, no execute permission

linkis-cli should grant +x permissions,
There are settings permissions in src/main/assembly/assembly.xml, but it doesn't seem to work
    <fileSet>
      <directory>
        bin/
      </directory>
      <outputDirectory>bin</outputDirectory>
      <includes>
        <include>**/*</include>
      </includes>
      <fileMode>0755</fileMode>
      <lineEnding>unix</lineEnding>
    </fileSet>

@legendtkl  Help follow up on this issue

HI, @jinquanzhuang , is the distribution package built in your os ?
What's the OS platform? Windows or Linux ?


Use Nim's allocator

Seems doable, create a naylib.h file that includes nimbase.h and has the function definitions of allocShared/deallocShared. then define RLALLOC/RLDEALLOC and include raylib.h. Make the nim raylib module use that as a .header.

Doable but a bad idea, considering how picky nims allocator is.


route-list example: add interface name

Before
default via <IP_ADDRESS>
<IP_ADDRESS>/24  proto Kernel  scope Link  src <IP_ADDRESS>

After
default via <IP_ADDRESS> dev wlp3s0
<IP_ADDRESS>/24 dev wlp3s0 proto Kernel scope Link src <IP_ADDRESS>

ip route for reference
default via <IP_ADDRESS> dev wlp3s0 proto dhcp metric 600
<IP_ADDRESS>/24 dev wlp3s0 proto kernel scope link src <IP_ADDRESS> metric 600

@jbaublitz Did you find a better way to get interface name?

Hi @MaxVerevkin, I'm so sorry for the delay. I've been away from this project for a while working on the v0.6.0 release. Please see #157 for the solution purely using netlink.


Support for DNS resolution in windows VM.

Should be fixed by: https://github.com/rancher/vm/pull/75

Assign to @sangeethah for verify.

Tested with latest images - rancher/vm-ubuntu:14.04 and yasker/testimage:latest.
VM gets ip address successfully and DNS resolution works expected.


search: Add title to the search bar when in "sender:" narrow.

Zulip's "all messages sent by X" views are useful but they can be
really confusing for someone who doesn't realize or has forgotten
they're in that view.
Adding a proper title in the search bar that indicate this state
of their view will be helpful.
For example, when we're in a view that shows all messages of
"Lakshay Mittal". The title will indicate,
"Messages sent by Lakshay Mittal"
Fixes: #18690.

Screenshots and screen captures:
For searching other's messages

For searching your messages

Self-review checklist

[x] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[ ] Explains differences from previous plans (e.g., issue description).
[x] Highlights technical choices and bugs encountered.
[ ] Calls out remaining decisions and concerns.
[x] Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[x] Each commit is a coherent idea.
[x] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[x] Visual appearance of the changes.
[x] Responsiveness and internationalization.
[ ] Strings and tooltips.
[ ] End-to-end functionality of buttons, interactions and flows.
[ ] Corner cases, error conditions, and easily imagined bugs.

Updating this PR according to what was discussed on CZO.

Let's add a special case to display this as "Messages sent by you" when looking at your own messages. Looks good to me in manual testing otherwise.

@alya I've addressed your feedback.

Thanks! Please post a screenshot demonstrating the changes.

@alya I've updated the screenshot in the PR description.

Thanks! @laurynmm could you please review this one?

@lakshaykananiya , it's been sometime since this PR has been updated, could you please confirm once, if you are still working on this or should I take over this, thanks :)

@palashb01 Be my guest.

Closing in favor of the active version https://github.com/zulip/zulip/pull/26483, thanks for working on this @lakshaykananiya!


Add usecase sample for ava

I've tested the code with ava and It worked well. I think, It would be helpful that add sample code for ava to readme.

Sounds good to me.
I've never used ava before so if you have time to open a pull request for this that would be awesome :+1:

@kevinsawicki I've updated please take a look

Fixed by #11

Thanks!


54 add group collection page, group single page

Overviews of implementation
Fix for

https://github.com/genesis-tech-tribe/nishiki-frontend/issues/54
https://github.com/genesis-tech-tribe/nishiki-frontend/issues/55

Future work

#69
#70
#71
#72
#73
#74
#76

Thank you for the implementation! Please take a look at the comments I left.
Additional suggestions:

[x]  Please replace Top-level

 tags in each functional componetn with <></>.

We may need to discuss how to categorize the features to organize the features/ directory.

Thank you for your review!! I fixed it.

Thank you for reviewing this long long PR.


[Feature] Allow users to create a query from an active datasource in the entity explorer

The user should be able to find and create a query for a datasource they've created.

Done


Add cloudformation output exports

This resolves #615
I've only added the VPC and export names for the existing ones so they can be referenced in other places. Let me know if this is okay or any changes.
To clarify the exact use-case; we would like to run 2 of these stacks with different sized instances but want to share a VPC and role created by one, with the other without having to create that role externally and pass it into both.

Seems legit! Thanks for your time and thought as always @jradtilbrook!

No worries! Thanks for accepting it


Update to Reduce magic in the interaction of EF Core and DI

See issue #4668. This is an update following a discussion yesterday that moves all configuration onto DbContextOptions and makes this the only object passed to the DbContext constructor. This allows the builder pattern that already exists for DbContextOptions to be used for external services and for setting the internal service provider. AddDbContext does this automatically for external services, but a DbContextOptions object can also be easily built and either configured in DI or passed directly to the context with new.
In addition, the UseMyProvider methods have been updated to use nested closure for provider-specific configuration. This makes for a very nice chaining story.
There is a new overload of AddDbContext that makes the application service provider available to teh configuration delegate. This is rarely needed, but one use is to set the application service provider to be used as the internal EF service provider if this is needed/desired.
Still to do:

Look at negative cases when services are not setup and create better exception messages.
Rename AddSqlServer, etc to AddEntityFrameworkSqlServer, etc.
Extract diagnostics as one of the external services on DbContextOptions.

Question: Do we still need the DbContextOptions/Builder that are generic on TContext? What are they used for?

:shipit: :tada:

Merged

Referencing #4784
This change has caused application service provider resolution to fail when adding plain DbContext (rather than subclassed one) because the default constructor is preferred. May be for DependencyInjection

@rowanmiller One could argue that this change should be emphasized on the https://github.com/aspnet/Announcements repo, as it breaks code when one resolves the db provider in AddDbContext<T>() like this:
services.AddDbContext<MyContext>(options =>
{
        options.UseSqlServer(connectionString);
});

As MyContext now requires a constructor similar to this one:
public MyContext(DbContextOptions options)
        : base(options)
{
}


fix parameter names in internal Ruby API

use filename instead of content where appropriate
replace tabs with spaces
drop unnecesary empty brackets for methods that take no parameters

This change should not impact any behavior. It's just a technical correction.

Thanks! :-)


Ability to calculate coverage over custom stats

Allows to use mystats as region name in coverage calculation

I renamed value to "my stats" cea0243

Released in 3.2


Fix bad kwarg to DMRG, actually use SVD

Maybe I should actually read the name of the kwarg...

Codecov Report

Merging #34 into master will increase coverage by 0.69%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master      #34      +/-   ##
==========================================
+ Coverage   80.84%   81.54%   +0.69%
==========================================
  Files          26       26
  Lines        2057     2059       +2
==========================================
+ Hits         1663     1679      +16
+ Misses        394      380      -14

Impacted Files
Coverage Δ

src/storage/dense.jl
96.05% <0%> (+0.05%)
:arrow_up:

src/decomp.jl
100% <0%> (+12.38%)
:arrow_up:

Continue to review full report at Codecov.

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