Install/Compilation error on Python 3.11.0b5

Bug Report
I got the following error when doing pip install memray and it tried to compile a wheel:
backtrace/install/include -I/home/anthonyshaw/.pyenv/versions/3.11-dev-debug/envs/picologging-311/include -I/home/anthonyshaw/.pyenv/versions/3.11-dev-debug/include/python3.11d -c src/memray/_memray/tracking_api.cpp -o build/temp.linux-x86_64-cpython-311-pydebug/src/memray/_memray/tracking_api.o -std=c++17 -Wall -flto -fvisibility=hidden
      src/memray/_memray/tracking_api.cpp: In member function ‘int memray::tracking_api::PythonStackTracker::pushPythonFrame(PyFrameObject*)’:
      src/memray/_memray/tracking_api.cpp:194:50: error: invalid use of incomplete type ‘PyFrameObject’ {aka ‘struct _frame’}
        194 |     const char* function = PyUnicode_AsUTF8(frame->f_code->co_name);
            |                                                  ^~
      In file included from /home/anthonyshaw/.pyenv/versions/3.11-dev-debug/include/python3.11d/Python.h:42,
                       from src/memray/_memray/tracking_api.cpp:9:
      /home/anthonyshaw/.pyenv/versions/3.11-dev-debug/include/python3.11d/pytypedefs.h:22:16: note: forward declaration of ‘PyFrameObject’ {aka ‘struct _frame’}
         22 | typedef struct _frame PyFrameObject;
            |                ^~~~~~
      src/memray/_memray/tracking_api.cpp:199:50: error: invalid use of incomplete type ‘PyFrameObject’ {aka ‘struct _frame’}
        199 |     const char* filename = PyUnicode_AsUTF8(frame->f_code->co_filename);
            |                                                  ^~
      In file included from /home/anthonyshaw/.pyenv/versions/3.11-dev-debug/include/python3.11d/Python.h:42,
                       from src/memray/_memray/tracking_api.cpp:9:
      /home/anthonyshaw/.pyenv/versions/3.11-dev-debug/include/python3.11d/pytypedefs.h:22:16: note: forward declaration of ‘PyFrameObject’ {aka ‘struct _frame’}
         22 | typedef struct _frame PyFrameObject;
            |                ^~~~~~
      error: command '/bin/gcc' failed with exit code 1
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for memray
Failed to build memray
ERROR: Could not build wheels for memray, which is required to install pyproject.toml-based projects

My Python version is 3.11.0b5
Looking at the error, it looks like memray is accessing PyFrameObject fields which have become opaque in 3.11, so the PyFrame_xxx API needs to be used instead.

Support for 3.11 has landed on main, but not yet made it into a version published to PyPI. Can you try cloning the repo and doing pip install . instead?

Alternatively, I believe pip install https://github.com/bloomberg/memray/archive/refs/heads/main.zip can be used to install the under-development version of memray as well.

Work a charm. thanks


Forgot to change the "AssemblyVersion"

No, it wasn't. Take another look at the PR

You haven't changed it in repo.json. So no update is displayed in the game


Does volantmq support scalable distribution

Thanks for this great project, I want to know does volantmq support scalable distribution?

Do you mean shared queues from MQTT 5.0 or cluster of VolantMQ instances?

cluster of VolantMQ instances

Sorry for late response.
Unfortunately it's not supported (as well as shared queues) as clustering is quite time consuming task and I'm fully loaded these days.

@troian would implementing such a feature be a welcome contribution from other users of your software?

@samba more than welcome!

Any progress for this? @troian


Framebuffer Unclear

I know it's possible to increase the brightness of pixels but how can you change the color, I see it's possible in logger.rs but way to hard to understand. Does anyone know how to use the framebuffer?

With VGA text mode, the VGA bios is responsible for turning the color codes into full rgb colors. It seems to be possible to reconfigure this pallette using a specific port write: https://forum.osdev.org/viewtopic.php?f=1&t=23753

idk if you understand but i'm talking about the uefi framebuffer in boot_info.rs not vga text mode

I see. In that case I think changing the following two lines would be enough: https://github.com/rust-osdev/bootloader/blob/bc6c1bd62de697dc090ff8e7131cc36b91a531f4/src/binary/logger.rs#L130-L131
In the first case the array values are the red, green amd blue amount padded with a 0. In the second case it is first blue, then green, then red.

how could i create a pixel though? that's more of what i'm asking about

The code I referenced is what determines the color. The pixel is written at https://github.com/rust-osdev/bootloader/blob/bc6c1bd62de697dc090ff8e7131cc36b91a531f4/src/binary/logger.rs#L136-L137
The code is a bit harder to read due to the fact that bytes_per_pixel may differ depending on the exact format the pixel data is in (rgb,bgr,greyscale), but it basically writes the pixel data to the right offset in the framebuffer slice.

so how could i adapt that code to buffer_mut() in boot_info.rs

I think that somebody needs to create a dedicated guide about
explaining this and how it works. Yeah, the OSDev folks have an
article about it, but I don't think another would hurt, particularly
related to this particular bootloader. It seems like I'm not the only
one tripping up on this issue.
On 7/30/21, Exeon @.***> wrote:

so how could i adapt that code to buffer_mut() in boot_info.rs
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rust-osdev/bootloader/issues/187#issuecomment-890014199

--
Signed,
Ethin D. Probst

I found out how you can get it to work. I think I'll document it somewhere

@actuallyexeon  did you manage to write up that document?

@actuallyexeon  did you manage to write up that document?

What do you mean by that?

Ah I was referring to

I think I'll document that somewhere

Did you end up documenting it

Ah I was referring to

I think I'll document that somewhere

Did you end up documenting it

No, but there is a piece of code by @anellie here that you can look at for reference https://github.com/anellie/yacuri/blob/main/kernel/src/graphics/mod.rs and you can also look at this https://github.com/cherrydevs/cherrykernel/blob/master/src/video/mod.rs that I made a while back using anellies code

Thanks :partying_face:

I tried to change the pixel colour via changing:
PixelFormat::BGR => [intensity / 2, intensity, intensity, 0]
But I see the colour that I put but no letters only a big line.
How I can fix it?


changed the UI

change UI
Title : changed UI
Issue No. : #73
Close #73
Screnshots

Additional context(if any)
Are you contributing under any Open-source programme?
APERTRE24

Yup @YooAshu just solve the merge conflicts!
Others well and good!

@YooAshu check these things and also check the dark mode button. It's not working. If you can fix those I will give this issue Hard level!

yeah i can do that


DF Module Buttons: Collapsing sidebar and restoring it causes buttons to move delayed

Collapse the sidebar and then restore it. Button stay where they are for about 6-7 seconds before they finally animate back into place.

I'm not sure why but this issue has somehow resolved itself.


Best practices roadmap

Currently the best practices guide has a lot of good information in it, but the organization is very simple. Some pages are pretty long and I predict the BPG will eventually grow longer as time goes on.
So I think there might eventually be a need for a roadmap to help people figure out which best practices are a higher priority than others and which should be taken care of first. I know that for some of these it doesn't matter which order they are done, but at the same time, some best practices tips are for clusters that have been around for a while and some are for designing a new one, so that could be reflected in the organization.
I'm picturing an outline format that organizes the best practices into a rough, semi-chronological flow. This is the basic idea for organizing the best practices:
I. Advice for designing and setting up clusters

Set up Rancher architecture
Set up clusters while following practices that support scaling and reliability
Set up containers
Set up separate environments for production and testing/staging

II. Advice for maintaining and upgrading clusters

Enable logging, monitoring, alerts
Follow best practices for testing
Harden your clusters and follow best practices for Kubernetes security and network security
Do's and don'ts for upgrades and rollbacks

Closing this issue because the best practices guide was already revised


Fix for socket info storage

This is a small fix I would like to propose into this fine library. What happened to me while debugging the IPv6 execution path on Windows (Visual Studio 2019) was, using getsockname on a structure not big enough returned an error aused by insufficient memory to store the returned data. Turns out only sockaddr_storage is guaranteed to be large enough to hold the data either for IPv4 or IPv6 sockets. Tried to keep changes to minimum.

I fixed the commit up, hope you like it!

Thank you for the contribution!


Epic: Scoping client calls in KCP

These are the places where client calls need to be modified to accept scoped contexts. For further changes which need to be done in each of these locations, refer: https://github.com/kcp-dev/kcp/pull/1376
======================== DONE - v0.8 =========================================

[x] cluster-controller - https://github.com/kcp-dev/kcp/tree/main/cmd/cluster-controller
[x] Ingress-controller - cmd/ingress-controller - https://github.com/kcp-dev/kcp/pull/1817
[x] Kcp-front-proxy - https://github.com/kcp-dev/kcp/tree/main/cmd/kcp-front-proxy - https://github.com/kcp-dev/kcp/pull/1819
[x] pkg/reconciler

[x] Apis

[x] Apibinding - https://github.com/kcp-dev/kcp/tree/main/pkg/reconciler/apis/apibinding (https://github.com/kcp-dev/kcp/pull/1569)
[x] Api_binding_deletion - pkg/reconciler/apis/apibindingdeletion - (https://github.com/kcp-dev/kcp/pull/1569)
[x] Apiexport - https://github.com/kcp-dev/kcp/tree/main/pkg/reconciler/apis/apiexport
[x] apiresource - https://github.com/kcp-dev/kcp/tree/main/pkg/reconciler/apis/apibinding - https://github.com/kcp-dev/kcp/pull/1558

[x] Scheduling - https://github.com/kcp-dev/kcp/tree/main/pkg/reconciler/scheduling -  https://github.com/kcp-dev/kcp/pull/1578
[x] Tenancy - https://github.com/kcp-dev/kcp/tree/main/pkg/reconciler/scheduling -  https://github.com/kcp-dev/kcp/pull/1578
[x] workload - https://github.com/kcp-dev/kcp/tree/main/pkg/reconciler/scheduling - https://github.com/kcp-dev/kcp/pull/1578

[x] pkg/server - https://github.com/kcp-dev/kcp/pull/1504

[x] workspaceController
[x] workspaceShardController
[x] workspaceTypeController
[x] organizationController
[x] teamController
[x] universalController

[x] tests/e2e

[x] Apibinding - https://github.com/kcp-dev/kcp/pull/1648
[x] Authorizer - https://github.com/kcp-dev/kcp/pull/1648
[x] Conformance - https://github.com/kcp-dev/kcp/pull/1667
[x] Fixtures - https://github.com/kcp-dev/kcp/pull/1732
[x] Framework - https://github.com/kcp-dev/kcp/pull/1709
[x] Reconciler - https://github.com/kcp-dev/kcp/pull/1677
[x] Syncer - https://github.com/kcp-dev/kcp/pull/1678
[x] Virtual - https://github.com/kcp-dev/kcp/pull/1707
[x] Watchcache - https://github.com/kcp-dev/kcp/pull/1707
[x] workspacetype - https://github.com/kcp-dev/kcp/pull/1678

========================================TODO =========================================

[ ] Front-proxy - https://github.com/kcp-dev/kcp/tree/main/cmd/sharded-test-server - https://github.com/kcp-dev/kcp/pull/1826
[ ] Test-server - cmd/test-server/kcp - https://github.com/kcp-dev/kcp/pull/1826
[ ] Virtual-workspaces - cmd/virtual-workspaces - https://github.com/kcp-dev/kcp/pull/1826
[ ] pkg/admission

[ ] Apibinding
[ ] pkg/admission/clusterworkspacetypeexists

[ ] pkg/authorization - https://github.com/kcp-dev/kcp/tree/main/pkg/admission/apibinding
[ ] pkg/crdpuller - https://github.com/kcp-dev/kcp/tree/main/pkg/admission/apibinding
[ ] pkg/localenvoy/controller/ingress - https://github.com/kcp-dev/kcp/tree/main/pkg/admission/apibinding
[ ] pkg/metadata/dynamic - https://github.com/kcp-dev/kcp/tree/main/pkg/metadata
[ ]  pkg/virtual

[x] apiexport
[x] framework
[x] Initializingworkspaces
[ ] Syncer
[ ] workspaces

0.8 check in here.  Are all remaining items expected to land?  If not can we put a milestone breakdown the description?  Thanks!

one more quick question, is this part of https://github.com/kcp-dev/kcp/issues/981?

one more quick question, is this part of https://github.com/kcp-dev/kcp/issues/981?
yes

@varshaprasad96 what's your thought?

It maybe a bit difficult, but I'll make sure that at least the PRs are up for all.

@varshaprasad96 no problem.  I think the description of the epic will be clear enough since this is the first pass.  My request to you is once you think you've finished what you can you make it obvious what was delivered in 0.8 so when we're looking at 0.9 release notes it's obvious.
Just something simple like ====== above delivered in 0.8, below in 0.9 ======= or similar.  I updated https://github.com/kcp-dev/kcp/issues/981 to reflect that it will continue in 0.9.
Thanks for all your work on this AND for breaking it into smaller PRs.  It looks like a beast to review if it was all in one.

@pweil- modified the description to reflect what has already been done. Based on the discussion with @stevekuznetsov, it was decided to put a hard stop on this particular epic by end of v0.8. Refactoring code right now is not effective as we can't replace the code-generator right away which is indirectly allowing PRs with older format to merge. It will be more efficient to remove the lister/informer generator dependency first, and then scope all the remaining clients at once disallowing the older formats.

Brainstorming doc: https://docs.google.com/document/d/12RtZL9rnEYGYUjhkZbxc_qbXSuUFULuRXArpJvoqOo4/edit#heading=h.uts53tyl4jgs
See also: https://github.com/kcp-dev/apimachinery/pull/53

This is now going to be tracked as parts of https://github.com/orgs/kcp-dev/projects/6/views/1?layout=board


Docs gaps and common pitfalls

@nhunzaker and I were talking earlier about common problems (maybe we need a common gotchas/mistakes/whatever section) and about internal documentation.
If anyone has any common problems, gaps in documentation, or hidden documentation that we aren't exposing at a top level (ie. the site, the top level README) then comment here.
Doc Gaps and Errors in Site:

[ ]  addEffect() code sample is wrong
[ ] The difference between patch and reset is not clear. Need an example input/output for those to illustrate the difference.

Common Pitfalls (need a section for these):

[ ] Create a "Common Pitfalls/FAQ" section in the docs (where?)
[ ] People forget to close out actions
[ ] People don't register actions correctly (typos)
[ ] People don't register action handlers correctly (typos)

https://github.com/vigetlabs/microcosm/blob/master/docs/api/microcosm.md#addeffectconfig-options has a code example that is adding a domain.

The difference between patch and reset is not clear to me. Is it possible to show an example input/output for those to illustrate the difference?

We just hit another one. withSend wraps components, which can be confusing when using Enzyme's shallow rendering.


updated visual-studio-code (1.0.0,fa6d0f03813dfb9df4589c30121e9fcffa8a8ec8)

Changes to a cask
Editing an existing cask

[x] Commit message includes cask’s name (and new version, if applicable).
[x] brew cask audit --download {{cask_file}} is error-free.
[x] brew cask style --fix {{cask_file}} left no offenses.

Merged as 31ee614803d90b8596442369ab61088e58c08724.


missing Residuals_circle.m file

CC @nkong 🙂

Thank you for the bug report. Unfortunately I no longer have access to MATLAB so I have not tested this code.


Updated validations.py python script

Updated validations.py python script.
Fixed the behavior of validate_user function in validations.py
Fixes #<issue_number_goes_here>

It's a good idea to open an issue first for discussion.

[x] Tests pass
[ ] Appropriate changes to README are included in PR

Added user's first name as letter

google#1


can't connent gdrive

https://github.com/gdrive-org/gdrive/issues/506#issuecomment-567253689
hope this helps :)

move to RClone project, GDrive Crossed the Jordan, it's dead 💀
https://rclone.org/

@all
Try to use my script to build gdrive with your own Google credential: https://github.com/mbrother2/backuptogoogle
Or work with rclone: https://github.com/mbrother2/butdr

No need to compile from source, just create service account in google console and use --service-account option


Interface Builder integration

Take advantage of the new Interface Builder integration in Xcode 6.

Is this referring to IB Designables?
If so, it is currently not possible to add inspectable properties to UIViewControllers or UIStoryboardSegues - only Views.


update zendesk fork of eslintrb

:v:
/cc @zendesk/vegemite
Description
updates the upstream eslint version to v2.6.0
Risks

[low] linter may start failing app uploads with validation errors

:+1:

:+1:


Access UObject Thumbnail Without Loading It (FAssetData?)

Heya, i noticed there is a dedicated thumbnail API and that's fantastic, but both the examples and the docs don't mention whether or not it's possible to access an Asset Thumbnail simply by using the FAssetData, so that it isn't required to load the object.
This comes in very handy when you want to load tons of assets in a thumbnail viewer but you can't load all of them in RAM!
(In fact, if i try to run the example thumbnail viewer from the Editor, it crashes)
How would i accomplish this, is it possible?
Since the thumbnails are cached and the Editor displays them without loading any object, i guess it is, but how would i do it?

It looks like FAssetThumbnail is able to get the gfx from the FAssetData to draw it on a slate widget. I need to spot its code to check if it is truly able to do it without loading the UObject

Okay, so even though i don't know anything about C++ or how the Engine works (i barely know what an asset registry is), i did some digging around because i don't like standing here doing nothing while someone else has to do all the work, so let's see if what i found can be of some help, sorry if it isn't but at least i tried xD
Looking at the AssetThumbnail.cpp (where it seems the FAssetThumbnail is defined), there are 2 interesting functions:

The one mentioned in the docs, MakeThumbnailWidget, which given a FAssetThumbnailConfig (to specify the size of the widget) returns a widget ready to be rendered in the SlateUI through the FAssetThumbnailPool it looks like?
This widget could be used right away to render into the UI (can this be used in game? because that's where i need to render the thumbnails) or you could extract the texture out of it, using maybe some of the code used in the example thumbnail viewer.
Of course i don't know anything about how textures are rendering or how the slate ui works, so i just threw this your way because if it is possible to extract or use the result as is you most likely know how to do it.
There is an interesting function which is not mentioned in the docs, which i found by digging in the Source: FAssetThumbnail::GetViewportRenderTargetTexture()
Of course i'm not exactly sure about what it does, but it looks like it can either:
A) Access the FAssetThumbnailPool used by the SlateUI to extract a Texture out of it (it returns a Texture, which is why it looks useful), which could be very useful when combined with the option above, the MakeThumbnailWidget, in case this is the fastest way to get something usable out of the Widget.
B) Or it can access the FAssetData's thumbnail as a Texture right away, which would indeed be exactly what we are looking for.

Here is the snippet of code i'm talking about, found in Source/Editor/UnrealEd/Private/AssetThumbnail.cpp:
FSlateShaderResource* FAssetThumbnail::GetViewportRenderTargetTexture() const
{
	FSlateTexture2DRHIRef* Texture = NULL;
	if ( ThumbnailPool.IsValid() )
	{
		Texture = ThumbnailPool.Pin()->AccessTexture( AssetData, Width, Height );
	}
	if( !Texture || !Texture->IsValid() )
	{
		return NULL;
	}

	return Texture;
}

That said, i also stumbled on something that might be the easiest solution: looks like in the Source there are some ThumbnailTools, which, looking at the thumbnail api here, were already used in the exposed python api.
Here are some interesting functions (in particular, the topmost one looks very interesting and might well be the function we are looking for, because it returns a FObjectThumbnail by simply giving the FullName):
/** Searches for an object's thumbnail in memory and returns it if found */
	UNREALED_API const FObjectThumbnail* FindCachedThumbnail( const FString& InFullName );

	/** Loads thumbnails from the specified package file name */
	UNREALED_API bool LoadThumbnailsFromPackage( const FString& InPackageFileName, const TSet<FName>& InObjectFullNames, FThumbnailMap& InOutThumbnails );

	/** Loads thumbnails from a package unless they're already cached in that package's thumbnail map */
	UNREALED_API bool ConditionallyLoadThumbnailsFromPackage( const FString& InPackageFileName, const TSet< FName >& InObjectFullNames, FThumbnailMap& InOutThumbnails );

These are all the observations i could make on what i found.
Obviously, being limited to observation since i have no knowledge about this stuff, this is unfortunately the extent to which i was able to push them.
Nevertheless, i hope i could be of some help in lessening your workload and making it easier to implement this feature!

Well, thank you a lot, you did 3/4 of the job :) I think i should be able to come up with a solution in the next few days

Hi, added an api for FAssetData based on your infos (thanks again):
import unreal_engine as ue
from unreal_engine import FARFilter

_filter = FARFilter()
_filter.class_names = ['StaticMesh']

# when passing True to the second argument of get_assets_by_filter(), you will get FAssetData instead of UObject
for asset_data in ue.get_assets_by_filter(_filter, True):
    has_custom_thumbnail = asset_data.has_custom_thumbnail()
    has_cached_thumbnail = asset_data.has_cached_thumbnail()
    try:
        thumbnail = asset_data.get_thumbnail()
    except:
        thumbnail = None
    ue.log('Asset: {0} Loaded: {1} CustomThumbnail: {2} CachedThumbnail: {3} Thumbnail: {4}'.format(asset_data.object_path, asset_data.is_asset_loaded(), has_custom_thumbnail, has_cached_thumbnail, thumbnail))

Awesome, and no problem!
If i may suggest, exposing a get_full_name() for FAssetData could be very handy, because the example thumbnail viewer, for instance, requires it.
Of course it's easy to set up a "%s %s" % (fassetdata.asset_class, fassetdata.object_path) to get the full name, but since we are working with python the lazy get_full_name() could be handy xD
It looks like it would be as simple as *self->asset_data.GetFullName(), so that might be something interesting to add to the ue_PyFAssetData_getseters[].
Just throwing this suggestion your way since it's very fast to implement and should make things "more pythonic" xD
Also, by the way, did you successfully access the thumbnail maps in your tests, when running the method to check if it has a cached thumbnail?
Because this is wierd, one would think that the thumbnail maps become available after the package is loaded since loading them every time from a Upackage is expensive.
But, most importantly, how can i pass an array as a single argument when calling a blueprint function/event?
I know how to call a blueprint function, but i don't know whether or not python lists are automagically converted to arrays.
If not, how can i make an array to pass as an argument to a blueprint function/event?
Looks like it's possible to create a struct (importing TerrificStruct?), but if i pass a python list of struct objects as arguments to an event, will it work?

Yes, it looks like putting the thumbnail in the cache must be manually done. I will probably add another function for doing it. Lists are automatically converted to UE arrays, and yes, once you import a struct you can instantiate it as a python class (just remember they are passed by value that is a bit counter-intuitive in python)

Oh, yeah adding that function should be fairly straightforward since it's just a matter of caching the thumbnail obtained with fassetdata.get_thumbnail().
Which means that all you have to do is call this:
/**
	 * Caches a thumbnail into a package's thumbnail map.
	 *
	 * @param	ObjectFullName	the full name for the object to associate with the thumbnail
	 * @param	Thumbnail		the thumbnail to cache; specify NULL to remove the current cached thumbnail
	 * @param	DestPackage		the package that will hold the cached thumbnail
	 *
	 * @return	pointer to the thumbnail data that was cached into the package
	 */
	UNREALED_API FObjectThumbnail* CacheThumbnail( const FString& ObjectFullName, FObjectThumbnail* Thumbnail, UPackage* DestPackage );

However, i think this one should do the job right away, the only caveat being that it has to re render the obj thumbnail and then it caches it:
/** Generates a thumbnail for the specified object and caches it. Used to generate the thumbnail that gets saved in a package. */
	UNREALED_API FObjectThumbnail* GenerateThumbnailForObjectToSaveToDisk( UObject* InObject );

Everything worked perfectly with the array and the struct thing, now only one thing left.
How do i handle Textures?
In particular, i saw in the docs somewhere that the transient textures cannot be returned because they are not recognized by ue, and in fact it crashes when attempting to do so.
The methods i found by looking in the pyue source and api seem to be pretty much two:

create a texture with .create_texture() (not even sure i can do this while in game since there is the # WITH Editor or something, which i guess means it works only in editor?)
save the transient texture with save_package()

But they would both mean i have to save a temp texture somewhere, use it and then delete it.
I guess there should be a better approach i'm not aware of, so that i can create a texture2d, pass it to a blueprint function in a struct and then use it without having to save it temporarily to the disk?
The thumbnail viewer example works great when not in game, but in game it doesn't work.
Isn't there any similar approach to pass a Texture2D in a struct to a blueprint function without having to save it?

hi.
were u able to do it ?
i have done almost everything as you suggested. but i am stuck in the middle. i wss not able to geab the correct image data.


Plugins.

This PR adds a very large feature - procedural macros to develop plugins for Rhai.
Plugins make it much easier to develop an API for use with Rhai scripting.
Thanks to the great work of @jhwgh1968   this feature now lands.
Everyone is encouraged to try out the plugins system.

The plugins link in the readme is broken:
https://schungx.github.io/rhai/plugins/index.html

Yes, good catch.  It is in https://schungx.github.io/rhai/dev/plugins/index.html right now.


Vim & Netrw for large files & dirs

Is your feature request about something that is currently impossible or hard to do? Please describe the problem.
I've come across two use cases where I'd love to be able to use Vim (where would one not want to use Vim ?! <3) but couldn't:

for browsing large files (think: plain text webscraping dumps of 10s or 100s of Gb);
for exploring/browsing similarly large directories (a folder with one file per, say, wikipedia article, hundreds of thousands/millions of entries).

(I'm obviously hacking things using Unix utils (zcat and head and ripgrep and sed etc.) when I want to handle these large things, and yes I can split big folders into subfolders.)
Describe the solution you'd like
Vim capabilities to use it like a sliding window (not loading the whole file, but still be able to have search capabilities for instance, so Vim would search the file in the background, jump and load only a bit of it), and same for netrw.
Describe alternatives you've considered
For now just Unix utils.
I had a nice question about doing batch editing for datasets, as :g/ and :s/ (or :sort) are so gorgeous to use, which goes into a similar direction, namely Vim textual powers for big data.
Additional context
A little meme in honour of Vim.

I don't see where netrw enters into this; it sounds like a request for a new vim feature. As such, it doesn't belong on the vim issues list which is for bugs and fixes; the vimdev email list is intended for such things. Although not what you asked for, you may find http://www.drchip.org/astronaut/vim/index.html#LARGEFILE helpful for handling large files.
I'm closing this "issue".

@cecamp thanks a lot for the link! Just  to clarify, when opening this issue I chose the option, and I quote "Feature request: Suggest an enhancement for Vim", as the enhancement tag suggests, and as I've seen it practiced on many repos. But I'll look for that vimdev email list next time.


cluster-installer - machine delete should wait for finalizers to finish before returning success

When a machine CRD is marked for deletion, finalizers should delete node vm. Cluster installer should wait for finalizers to finish deleting vm whenever delete machine code path is triggered.

Code ref https://github.com/kubernetes/kube-deploy/blob/master/cluster-api/deploy/deploy_helper.go#L192

This issue was moved to kubernetes-sigs/cluster-api#12


My nobbies button on the navbar

Clicking the nav bar myhobbies button would take user to saved hobbies page, giving them no option to open the videos> I suggest that its best to display it only on the page where the videos are appended.
I have hidden its display on the landing page, however you can still see it faintly if the page is refreshed.
Ideally would like it removed from navbar and added as a button near the startover button beneath the videos.

Are we able to append it only on the video page? that way the user will have at least one 'saved hobby', I think it works well in the top right as this is where an 'account' section would usually live on a webpage

I think this issue is now resolved as Chrisma got the videos to load on the my hobbies page too.


[redesign] initial Table component

Why
Refs https://linear.app/expo/issue/ENG-1705
How
This PR add the initial Table component and related ones like Row and Cell.
The code or structure of those component might change, I also had to add overwrites for the current global table styles, which could be removed when global table CSS will be adapted to the new design (which is used for pure Markdown pages).
Test Plan
Test table has been added to test-design page.

Hope I did not go too far with files granulation and TextAlign isn't an over-complication, but I'm fine with changing it or even reverting the whole commit 😄


V3 Set a Campaign Template's Schedule always returns 404

The V3 Set a Campaign Template's Schedule always returns 404. When I call the Beta API with the same input, it works fine.
V3

Beta

Wrong place to report


[PF2e] strange behaviour for text spanning multiple lines

When a text spans multiple lines without linebreak codemirror does strange stuff.
The cursor gets to big (spanning all the lines affected), selecting feels like it can#t decide what exactly it wants to select, ...
Search for difference PF2e (items) and other editors, try to solve it.

Only for items.

Happened due to PF2e setting display: block for all item sheet spans.
Now setting display: inline for spans inside EasyMDE container


Cab exception check

This check looks for wrong usage of cab exceptions. It has a bool parameter btc-use-of-cab-exception.CABExceptionAsPointer to define wanted convention.

Please ignore! Wrong repo!

Ignored :)


Properties of IUserInfo object change after FirebaseUser.UnlinkAsync

Unity editor version: 2018.3.14f1
Firebase Unity SDK version: 6.1.1
Firebase plugins in use (Auth, Database, etc.): Analytics, Auth, Crashlytics, Messaging, RemoteConfigs
Additional SDKs you are using (Facebook, AdMob, etc.): FacebookSDK, GoogleMobileAds, GooglePlayGames
Platform you are using the Unity editor on (Mac, Windows, or Linux): Windows 10 Home
Platform you are targeting (iOS, Android, and/or desktop): iOS and Android
Issue:
Fields of an IUserInfo object acquired by accessing FirebaseUser.ProviderData changes after unlinking the provider.
Steps to reproduce the problem:

Signin to a firebase account which has a Play Games account linked.
Acquire IUserInfo object of the PlayGames account from FirebaseUser using FirebaseUser.ProviderData.
Store "ProviderId" and "UserId" properties of IUserInfo object for later comparison.
Unlink PlayGames account from FirebaseUser by calling FirebaseUser.UnlinkAsync instance method.
Observe "ProviderId" and "UserId" fields of previously acquired IUserInfo object.

Expected result:
"ProviderId" and "UserId" fields at the step 5 should be the same as previously stored values in step 3.
Observed result:
"ProviderId" becomes "firebase" and "UserId" becomes the id of the firebase account that we called UnlinkAsync method on.

Hi essoperagma,
This is a known issue that we don't have a solution for yet. It's related to issue #378. Once you unlink an IUserInfo the object is invalid and can change out from under you. We have this on our todo list, but I don't have a timeline right now for when the fix will go out.


Investigate implementation of RTN14b

Related details:

https://github.com/ably/docs/issues/429
https://docs.ably.io/client-lib-development-guide/features/#RTN14b
https://github.com/ably/ably-ios/pull/714#discussion_r193027652

Fixed by #791


preamble lines that prefix every new log file

At program startup, I record the version info of the program to my log. It would be nice to declare these log lines as a part of a preamble that every new log file starts with. That way the critical version of code and the command-line and config arguments are preserved, even if it is a month later and the original log has long ago been rotated away.

I forked and added the preamble described, as well as gzip and a separate rotation dir.


why "onclick" can't work

the html will  render become

here?
<button>button</button>

it can only render static content?

Please prefer to post self-contained reproductions that can be directly executed or easily copied into a file that itself can be executed. Pictures of code snippets from your editor don't tick either of these boxes.

it can only render static content?

This is correct and in line with tooling from other libraries like React and Vue. It does not try to render function values, as those cannot be represented in the HTML DOM in general, and even if we were to try to make exceptions, one of the risks is errors due to closure variables (including the view's vnode parameter - it's very often that you want to do vnode.attrs in an event handler) not existing in scope and such.

Oh, I see
Thanks reply~ (ˊωˋ*)


Let (output capture) also capture bytes

The bytes are split by newline (like the from-lines builtin). The ordering with the channel outputs are not guaranteed (yet).

Fixed by 0efb651e2547fe719bd5763ff70d6e3bcceb525c.


Simplify internal API

As mentioned by @SeanFarrow on Twitter:

I wonder whether we have missed a trick with the pwned password validator client, we currently return a boolean and the number of instances the password was pwned, should we not just return the number of instances and 0 if the password was not found?

It's an internal API, so doesn't really matter, but I agree!

This looks good, however I wonder whether int is large enough, should we use either ULong- (we know the value is positive) or something larger?

Int is large enough currently by a factor of 100, but it's a fair point, so just using a long might be the easiest? I'm not personally a fan of using unsigned vals generally, though prob would be fine here as we're doing any arithmetic with it.

Exactly, we know the number is going to be positive, so unsigned makes sense—I don’t like them either btw, but why use a long when we can get more precision using ulong, then we’re future proof!
I’ll let you update and merge.
From: Andrew Lock<EMAIL_ADDRESS>Sent: 16 September 2018 10:16
To: andrewlock/PwnedPasswords<EMAIL_ADDRESS>Cc: Sean Farrow<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [andrewlock/PwnedPasswords] Simplify internal API (#7)
Int is large enough currently by a factor of 100, but it's a fair point, so just using a long might be the easiest? I'm not personally a fan of using unsigned vals generally, though prob would be fine here as we're doing any arithmetic with it.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/andrewlock/PwnedPasswords/pull/7#issuecomment-421729548, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ABY1fp6TODw13jMb5SRXFrJ-KDBj-4jtks5ubhbGgaJpZM4WqgJX.

Haha, I'm actually suggesting we stick with long!  I don't think ulong is worth it for the extra precision - long gives every person on the planet a billion pwned passwords - we don't need to make that 2 billion 😉

Ok, I forget what the total number currently in the system is, but that should suffice!
From: Andrew Lock<EMAIL_ADDRESS>Sent: 16 September 2018 14:33
To: andrewlock/PwnedPasswords<EMAIL_ADDRESS>Cc: Sean Farrow<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [andrewlock/PwnedPasswords] Simplify internal API (#7)
Haha, I'm actually suggesting we stick with long! I don't think ulong is worth it for the extra precision - long gives every person on the planet a billion pwned passwords - we don't need to make that 2 billion 😉
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/andrewlock/PwnedPasswords/pull/7#issuecomment-421766154, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ABY1fmBb5mYloJB57FP_9IajiPzjrm7eks5ublMSgaJpZM4WqgJX.


New link to DFabric from FreshRSS?

Hello,
The DPlatform link from the FreshRSS readme https://github.com/FreshRSS/FreshRSS/pull/1159 is broken, so I am removing it. But you are welcome to send an update when transitioned to dppm.

https://github.com/DFabric/DPlatform-Shell/blob/master/apps/FreshRSS.sh

No problem @Alkarex . I will send a PR when DPPM will support FreshRSS.
The main blocking

@j8r What do you need to change manually in the configuration files? There is a CLI, which should be able to do that for you https://github.com/FreshRSS/FreshRSS/tree/dev/cli If any feature lacks, we can add it.

Didn't know this CLI.
For now on the dppm side, a pkg.yml describe a mapping, which is used to interact with the configuration file through an uniform API for all supported applications.
I think I will have no other choice for most PHP applications to end up creating a PHP subprocess each time I want to get/modify configurations. It would be a lot less efficient, but I see no other choice.
Thanks to point this out 😀


AGIC for Brownfield Deployments not Working

Describe the bug
Trying to use an existing AppGW with VMs as backend pool and HTTPS listeners for exposing AKS services on both HTTP and HTTPS does not work, no changes are applied to the AppGW. The documentation used for the configuration was followed from here:
https://github.com/Azure/application-gateway-kubernetes-ingress/blob/master/docs/setup/install-existing.md
From the Ingress Controller logs it appears we are running into a runtime error for invalid memory address or nil pointer deference. See logs below
To Reproduce
Follow the steps as indicated in this link:
https://github.com/Azure/application-gateway-kubernetes-ingress/blob/master/docs/setup/install-existing.md
Using AAD Pod Identity
Ingress Controller details

Output of kubectl describe pod <ingress controller> . The  pod name can be obtained by running helm list.

jorge@Azure:~/aks-agic$ kubectl describe pod good-zebu-ingress-azure-6d4df68c7d-6gvwk
Name:           good-zebu-ingress-azure-6d4df68c7d-6gvwk
Namespace:      default
Priority:       0
Node:           aks-nodepool1-12956168-vmss000001/<IP_ADDRESS>
Start Time:     Thu, 10 Oct 2019 02:52:19 +0000
Labels:         aadpodidbinding=good-zebu-ingress-azure
app=ingress-azure
pod-template-hash=6d4df68c7d
release=good-zebu
Annotations:
Status:         Running
IP:             <IP_ADDRESS>
IPs:
Controlled By:  ReplicaSet/good-zebu-ingress-azure-6d4df68c7d
Containers:
ingress-azure:
Container ID:   docker://339d8fc18f20f0f3b6d207a5c2a85dfcbb260836de06fc14a6646d54d04038e9
Image:          mcr.microsoft.com/azure-application-gateway/kubernetes-ingress:0.9.0
Image ID:       docker-pullable://mcr.microsoft.com/azure-application-gateway/kubernetes-ingress@sha256:ba9cb3968e02cbc61f313865c3bc7cbddf0d3e8a0e62bc1f502a67168e5e311c
Port:
Host Port:
State:          Waiting
Reason:       CrashLoopBackOff
Last State:     Terminated
Reason:       Error
Exit Code:    2
Started:      Thu, 10 Oct 2019 03:16:31 +0000
Finished:     Thu, 10 Oct 2019 03:16:31 +0000
Ready:          False
Restart Count:  8
Liveness:       http-get http://:8123/health/alive delay=15s timeout=1s period=20s #success=1 #failure=3
Readiness:      http-get http://:8123/health/ready delay=5s timeout=1s period=10s #success=1 #failure=3
Environment Variables from:
good-zebu-cm-ingress-azure  ConfigMap  Optional: false
Environment:
Mounts:
/var/run/secrets/kubernetes.io/serviceaccount from good-zebu-sa-ingress-azure-token-2cksl (ro)
Conditions:
Type              Status
Initialized       True
Ready             False
ContainersReady   False
PodScheduled      True
Volumes:
good-zebu-sa-ingress-azure-token-2cksl:
Type:        Secret (a volume populated by a Secret)
SecretName:  good-zebu-sa-ingress-azure-token-2cksl
Optional:    false
QoS Class:       BestEffort
Node-Selectors:
Tolerations:     node.kubernetes.io/not-ready:NoExecute for 300s
node.kubernetes.io/unreachable:NoExecute for 300s
Events:
Type     Reason     Age                   From                                        Message

Normal   Scheduled  24m                   default-scheduler                           Successfully assigned default/good-zebu-ingress-azure-6d4df68c7d-6gvwk to aks-nodepool1-12956168-vmss000001
Warning  Unhealthy  23m (x3 over 24m)     kubelet, aks-nodepool1-12956168-vmss000001  Liveness probe failed: Get http://<IP_ADDRESS>:8123/health/alive: dial tcp <IP_ADDRESS>:8123: connect: connection refused
Normal   Killing    23m                   kubelet, aks-nodepool1-12956168-vmss000001  Killing container with id docker://ingress-azure:Container failed liveness probe.. Container will be killed and recreated.
Warning  Unhealthy  23m (x7 over 24m)     kubelet, aks-nodepool1-12956168-vmss000001  Readiness probe failed: Get http://<IP_ADDRESS>:8123/health/ready: dial tcp <IP_ADDRESS>:8123: connect: connection refused
Normal   Created    11m (x3 over 24m)     kubelet, aks-nodepool1-12956168-vmss000001  Created container
Normal   Started    11m (x3 over 24m)     kubelet, aks-nodepool1-12956168-vmss000001  Started container
Normal   Pulled     10m (x4 over 24m)     kubelet, aks-nodepool1-12956168-vmss000001  Successfully pulled image "mcr.microsoft.com/azure-application-gateway/kubernetes-ingress:0.9.0"
Normal   Pulling    10m (x4 over 24m)     kubelet, aks-nodepool1-12956168-vmss000001  pulling image "mcr.microsoft.com/azure-application-gateway/kubernetes-ingress:0.9.0"
Warning  BackOff    4m27s (x36 over 11m)  kubelet, aks-nodepool1-12956168-vmss000001  Back-off restarting failed container

Output of `kubectl logs .
Any Azure support tickets associated with this issue.
jorge@Azure:~/aks-agic$ kubectl logs good-zebu-ingress-azure-6d4df68c7d-6gvwk
ERROR: logging before flag.Parse: I1010 03:16:31.316434       1 main.go:294] Using verbosity level 3 from environment variable APPGW_VERBOSITY_LEVEL
I1010 03:16:31.316517       1 main.go:192] Creating authorizer from Azure Managed Service Identity
I1010 03:16:31.573475       1 main.go:117] Ingress Controller will observe all namespaces.
I1010 03:16:31.638626       1 context.go:122] k8s context run started
I1010 03:16:31.638661       1 context.go:161] Waiting for initial cache sync
E1010 03:16:31.691215       1 secretstore.go:70] secret [default/ca-secret] is not type kubernetes.io/tls
I1010 03:16:31.738902       1 context.go:169] Initial cache sync done
I1010 03:16:31.738932       1 context.go:170] k8s context run finished
I1010 03:16:31.739052       1 worker.go:33] Worker started
I1010 03:16:31.739219       1 main.go:140] Starting Health Probe Server on :8123
I1010 03:16:31.842761       1 process.go:65] [brownfield] Prohibited targets: {"Hostname":"vm.jorge4cortes.com"}, {"Hostname":"web.jorgecortes.ga"}, {"Hostname":"web.jorgecortes.gq"}, {"Hostname":"web.jorgecortes.cf"}, {"Hostname":"web.jorgecortes.ml"}
I1010 03:16:31.843116       1 health_probes.go:67] [brownfield] Probes AGIC created: defaultprobe-Http, defaultprobe-Https, pb-default-frontend-80-guestbook
I1010 03:16:31.843141       1 health_probes.go:68] [brownfield] Existing Blacklisted Probes AGIC will retain: vmhttps
I1010 03:16:31.843146       1 health_probes.go:69] [brownfield] Existing Probes AGIC will remove:
I1010 03:16:31.843283       1 http_settings.go:68] [brownfield] HTTP Settings AGIC created: defaulthttpsetting, bp-default-frontend-80-80-guestbook
I1010 03:16:31.843301       1 http_settings.go:69] [brownfield] Existing Blacklisted HTTP Settings AGIC will retain: vmhttpsroot
I1010 03:16:31.843305       1 http_settings.go:70] [brownfield] Existing HTTP Settings AGIC will remove:
I1010 03:16:31.843411       1 pools.go:67] [brownfield] Pools AGIC created: defaultaddresspool, pool-default-frontend-80-bp-80
I1010 03:16:31.843428       1 pools.go:68] [brownfield] Existing Blacklisted Pools AGIC will retain: VMBE
I1010 03:16:31.843432       1 pools.go:69] [brownfield] Existing Pools AGIC will remove: n/a
I1010 03:16:31.843587       1 listeners.go:82] [brownfield] Listeners AGIC created: fl-demo.jorge4cortes.com-80
I1010 03:16:31.843606       1 listeners.go:83] [brownfield] Existing Blacklisted Listeners AGIC will retain: cflistener, galistener, gqlistener, mllistener, CF-listener
I1010 03:16:31.843611       1 listeners.go:84] [brownfield] Existing Listeners AGIC will remove: n/a
I1010 03:16:31.843720       1 redirects.go:52] [brownfield] Redirects AGIC created: n/a
I1010 03:16:31.843736       1 redirects.go:53] [brownfield] Existing Blacklisted Redirects AGIC will retain: n/a
I1010 03:16:31.843740       1 redirects.go:54] [brownfield] Existing Redirects AGIC will remove: n/a
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x11f386d]

goroutine 147 [running]:
github.com/Azure/application-gateway-kubernetes-ingress/pkg/appgw.(*appGwConfigBuilder).groupListenersByListenerIdentifier(0xc00002ac60, 0xc00002a7e0, 0xc0007deb48)
/home/vsts/work/1/s/gopath/src/github.com/Azure/application-gateway-kubernetes-ingress/pkg/appgw/frontend_listeners.go:183 +0x32d
github.com/Azure/application-gateway-kubernetes-ingress/pkg/appgw.(*appGwConfigBuilder).getRules(0xc00002ac60, 0xc00002a7e0, 0x0, 0x0, 0xc0007a8b40, 0x6, 0x8, 0x22ccc70)
/home/vsts/work/1/s/gopath/src/github.com/Azure/application-gateway-kubernetes-ingress/pkg/appgw/requestroutingrules.go:67 +0x6c
github.com/Azure/application-gateway-kubernetes-ingress/pkg/appgw.(*appGwConfigBuilder).RequestRoutingRules(0xc00002ac60, 0xc00002a7e0, 0x0, 0x0)
/home/vsts/work/1/s/gopath/src/github.com/Azure/application-gateway-kubernetes-ingress/pkg/appgw/requestroutingrules.go:24 +0x8a
github.com/Azure/application-gateway-kubernetes-ingress/pkg/appgw.(*appGwConfigBuilder).Build(0xc00002ac60, 0xc00002a7e0, 0x0, 0x0, 0x24)
/home/vsts/work/1/s/gopath/src/github.com/Azure/application-gateway-kubernetes-ingress/pkg/appgw/configbuilder.go:99 +0x111
github.com/Azure/application-gateway-kubernetes-ingress/pkg/controller.AppGwIngressController.Process(0x16f5ac0, 0xc000267e70, 0x16f7240, 0xc0002a04e0, 0x0, 0x0, 0xdf8475800, 0xd18c2e2800, 0x3, 0x6fc23ac00, ...)
/home/vsts/work/1/s/gopath/src/github.com/Azure/application-gateway-kubernetes-ingress/pkg/controller/process.go:115 +0xd44
github.com/Azure/application-gateway-kubernetes-ingress/pkg/worker.(*Worker).Run(0xc000447b80, 0xc0000b8240, 0xc000090180)
/home/vsts/work/1/s/gopath/src/github.com/Azure/application-gateway-kubernetes-ingress/pkg/worker/worker.go:48 +0x2b7
created by github.com/Azure/application-gateway-kubernetes-ingress/pkg/controller.(*AppGwIngressController).Start
/home/vsts/work/1/s/gopath/src/github.com/Azure/application-gateway-kubernetes-ingress/pkg/controller/controller.go:65 +0x1bb

I updated the image for the deployment created by the helm chart to 0.10.0-rc1 as suggested, the update was successful and the pod starts properly, however as soon as I deploy the ingress resource I am seeing the same error again. Cluster is running v1.13.10
jorge@Azure:~/aks-agic$ kubectl describe pod good-zebu-ingress-azure-66d8d7549c-4xglg
Name:           good-zebu-ingress-azure-66d8d7549c-4xglg
Namespace:      default
Priority:       0
Node:           aks-nodepool1-12956168-vmss000000/<IP_ADDRESS>
Start Time:     Fri, 11 Oct 2019 15:44:41 +0000
Labels:         aadpodidbinding=good-zebu-ingress-azure
app=ingress-azure
pod-template-hash=66d8d7549c
release=good-zebu
Annotations:
Status:         Running
IP:             <IP_ADDRESS>
IPs:
Controlled By:  ReplicaSet/good-zebu-ingress-azure-66d8d7549c
Containers:
ingress-azure:
Container ID:   docker://146144be7b07e3c70bde26a8ebfd632b5d6be4a78f8bd57317267a2cfe318bf8
Image:          mcr.microsoft.com/azure-application-gateway/kubernetes-ingress:0.10.0-rc1
Image ID:       docker-pullable://mcr.microsoft.com/azure-application-gateway/kubernetes-ingress@sha256:874db4938c332920deea399a85d33bade264df240022123fc061b8f483e8c491
Port:
Host Port:
State:          Running
Started:      Fri, 11 Oct 2019 15:44:57 +0000
Ready:          True
Restart Count:  0
Liveness:       http-get http://:8123/health/alive delay=15s timeout=1s period=20s #success=1 #failure=3
Readiness:      http-get http://:8123/health/ready delay=5s timeout=1s period=10s #success=1 #failure=3
Environment Variables from:
good-zebu-cm-ingress-azure  ConfigMap  Optional: false
Environment:
Mounts:
/var/run/secrets/kubernetes.io/serviceaccount from good-zebu-sa-ingress-azure-token-2cksl (ro)
Conditions:
Type              Status
Initialized       True
Ready             True
ContainersReady   True
PodScheduled      True
Volumes:
good-zebu-sa-ingress-azure-token-2cksl:
Type:        Secret (a volume populated by a Secret)
SecretName:  good-zebu-sa-ingress-azure-token-2cksl
Optional:    false
QoS Class:       BestEffort
Node-Selectors:
Tolerations:     node.kubernetes.io/not-ready:NoExecute for 300s
node.kubernetes.io/unreachable:NoExecute for 300s
Events:
Type    Reason     Age   From                                        Message

Normal  Scheduled  62s   default-scheduler                           Successfully assigned default/good-zebu-ingress-azure-66d8d7549c-4xglg to aks-nodepool1-12956168-vmss000000
Normal  Pulling    61s   kubelet, aks-nodepool1-12956168-vmss000000  pulling image "mcr.microsoft.com/azure-application-gateway/kubernetes-ingress:0.10.0-rc1"
Normal  Pulled     54s   kubelet, aks-nodepool1-12956168-vmss000000  Successfully pulled image "mcr.microsoft.com/azure-application-gateway/kubernetes-ingress:0.10.0-rc1"
Normal  Created    46s   kubelet, aks-nodepool1-12956168-vmss000000  Created container
Normal  Started    46s   kubelet, aks-nodepool1-12956168-vmss000000  Started container
jorge@Azure:~/aks-agic$ kubectl create -f https-ingress.yaml
ingress.extensions/guestbook created
jorge@Azure:~/aks-agic$ kubectl get pods
NAME                                       READY   STATUS    RESTARTS   AGE
frontend-74b4665db5-57bt5                  1/1     Running   0          37h
frontend-74b4665db5-c76mz                  1/1     Running   0          37h
frontend-74b4665db5-ftxrx                  1/1     Running   0          37h
good-zebu-ingress-azure-66d8d7549c-4xglg   0/1     Error     1          86s
mic-7dd7c656cb-gnvqs                       1/1     Running   0          37h
mic-7dd7c656cb-jx2vk                       1/1     Running   0          37h
nmi-fh74s                                  1/1     Running   0          37h
nmi-zjnkk                                  1/1     Running   0          37h
redis-master-6fbbc44567-stjmm              1/1     Running   0          37h
redis-slave-74ccb764fc-ngf4f               1/1     Running   0          37h
redis-slave-74ccb764fc-p7fvj               1/1     Running   0          37h
jorge@Azure:~/aks-agic$ kubectl logs good-zebu-ingress-azure-66d8d7549c-4xglg
ERROR: logging before flag.Parse: I1011 15:46:05.373107       1 main.go:256] Using verbosity level 3 from environment variable APPGW_VERBOSITY_LEVEL
E1011 15:46:05.375167       1 context.go:178] Error fetching AGIC Pod (This may happen if AGIC is running in a test environment), error occurred resource name may not be empty
I1011 15:46:05.375280       1 main.go:94] Unable to load Azure Context file:
I1011 15:46:05.375345       1 environment.go:137] KUBERNETES_WATCHNAMESPACE is not set. Watching all available namespaces.
I1011 15:46:05.375367       1 main.go:113] App Gateway Details: Subscription: 75149352-2e54-4cad-ae5f-93718720f2e4, Resource Group: globant-rg, Name: sharedgw
I1011 15:46:05.375504       1 auth.go:90] Creating authorizer from Azure Managed Service Identity
I1011 15:46:05.897218       1 main.go:143] Ingress Controller will observe all namespaces.
I1011 15:46:05.993360       1 context.go:122] k8s context run started
I1011 15:46:05.993403       1 context.go:161] Waiting for initial cache sync
E1011 15:46:06.065358       1 secretstore.go:70] secret [default/ca-secret] is not type kubernetes.io/tls
I1011 15:46:06.094413       1 context.go:169] Initial cache sync done
I1011 15:46:06.094539       1 context.go:170] k8s context run finished
I1011 15:46:06.094707       1 httpserver.go:57] Starting API Server on :8123
I1011 15:46:06.094711       1 worker.go:33] Worker started
I1011 15:46:06.390260       1 process.go:61] [brownfield] Prohibited targets: {"Hostname":"vm.jorge4cortes.com"}, {"Hostname":"web.jorgecortes.ga"}, {"Hostname":"web.jorgecortes.gq"}, {"Hostname":"web.jorgecortes.cf"}, {"Hostname":"web.jorgecortes.ml"}
I1011 15:46:06.390687       1 health_probes.go:67] [brownfield] Probes AGIC created: pb-default-frontend-80-guestbook, defaultprobe-Http, defaultprobe-Https
I1011 15:46:06.390699       1 health_probes.go:68] [brownfield] Existing Blacklisted Probes AGIC will retain: vmhttps
I1011 15:46:06.390704       1 health_probes.go:69] [brownfield] Existing Probes AGIC will remove:
I1011 15:46:06.390872       1 http_settings.go:68] [brownfield] HTTP Settings AGIC created: defaulthttpsetting, bp-default-frontend-80-80-guestbook
I1011 15:46:06.390883       1 http_settings.go:69] [brownfield] Existing Blacklisted HTTP Settings AGIC will retain: vmhttpsroot
I1011 15:46:06.390893       1 http_settings.go:70] [brownfield] Existing HTTP Settings AGIC will remove:
I1011 15:46:06.391045       1 pools.go:67] [brownfield] Pools AGIC created: defaultaddresspool, pool-default-frontend-80-bp-80
I1011 15:46:06.391053       1 pools.go:68] [brownfield] Existing Blacklisted Pools AGIC will retain: VMBE
I1011 15:46:06.391058       1 pools.go:69] [brownfield] Existing Pools AGIC will remove: n/a
I1011 15:46:06.391199       1 listeners.go:82] [brownfield] Listeners AGIC created: fl-demo.jorge4cortes.com-80
I1011 15:46:06.391210       1 listeners.go:83] [brownfield] Existing Blacklisted Listeners AGIC will retain: cflistener, galistener, gqlistener, mllistener, CF-listener
I1011 15:46:06.391220       1 listeners.go:84] [brownfield] Existing Listeners AGIC will remove: n/a
I1011 15:46:06.391327       1 redirects.go:52] [brownfield] Redirects AGIC created: n/a
I1011 15:46:06.391333       1 redirects.go:53] [brownfield] Existing Blacklisted Redirects AGIC will retain: n/a
I1011 15:46:06.391337       1 redirects.go:54] [brownfield] Existing Redirects AGIC will remove: n/a
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x1249e7d]
goroutine 136 [running]:
github.com/Azure/application-gateway-kubernetes-ingress/pkg/appgw.(*appGwConfigBuilder).groupListenersByListenerIdentifier(0xc0008ab9e0, 0xc000103b80, 0xc000670f40)
/home/vsts/work/1/s/gopath/src/github.com/Azure/application-gateway-kubernetes-ingress/pkg/appgw/frontend_listeners.go:183 +0x32d
github.com/Azure/application-gateway-kubernetes-ingress/pkg/appgw.(*appGwConfigBuilder).getRules(0xc0008ab9e0, 0xc000103b80, 0x0, 0x0, 0xc0001e6dc0, 0x6, 0x8, 0x2453ef8)
/home/vsts/work/1/s/gopath/src/github.com/Azure/application-gateway-kubernetes-ingress/pkg/appgw/requestroutingrules.go:67 +0x6c
github.com/Azure/application-gateway-kubernetes-ingress/pkg/appgw.(*appGwConfigBuilder).RequestRoutingRules(0xc0008ab9e0, 0xc000103b80, 0x0, 0x0)
/home/vsts/work/1/s/gopath/src/github.com/Azure/application-gateway-kubernetes-ingress/pkg/appgw/requestroutingrules.go:24 +0x8a
github.com/Azure/application-gateway-kubernetes-ingress/pkg/appgw.(*appGwConfigBuilder).Build(0xc0008ab9e0, 0xc000103b80, 0x0, 0x0, 0x0)
/home/vsts/work/1/s/gopath/src/github.com/Azure/application-gateway-kubernetes-ingress/pkg/appgw/configbuilder.go:99 +0x384
github.com/Azure/application-gateway-kubernetes-ingress/pkg/controller.AppGwIngressController.Process(0x1809140, 0xc000206dc0, 0xc000042056, 0x24, 0xc000044015, 0xa, 0xc00004408b, 0x8, 0xc0002af110, 0xc0003331f0, ...)
/home/vsts/work/1/s/gopath/src/github.com/Azure/application-gateway-kubernetes-ingress/pkg/controller/process.go:111 +0xc58
github.com/Azure/application-gateway-kubernetes-ingress/pkg/worker.(*Worker).Run(0xc0005bd790, 0xc00033f6e0, 0xc000090f00)
/home/vsts/work/1/s/gopath/src/github.com/Azure/application-gateway-kubernetes-ingress/pkg/worker/worker.go:48 +0x2b7
created by github.com/Azure/application-gateway-kubernetes-ingress/pkg/controller.(*AppGwIngressController).Start
/home/vsts/work/1/s/gopath/src/github.com/Azure/application-gateway-kubernetes-ingress/pkg/controller/controller.go:74 +0x1d2
jorge@Azure:~/aks-agic$
This is the YAML for the ingress resource I am creating.
jorge@Azure:~/aks-agic$ cat https-ingress.yaml
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: guestbook
annotations:
kubernetes.io/ingress.class: azure/application-gateway
spec:
tls:
- hosts:
- demo.jorge4cortes.com
secretName: ca-secret
rules:

host: demo.jorge4cortes.com
http:
paths:

backend:
serviceName: frontend
servicePort: 80
jorge@Azure:~/aks-agic$

This is partially fixed by https://github.com/Azure/application-gateway-kubernetes-ingress/pull/611

Hi @jocortems
Version 0.10.0-rc4 is out and in our Helm repo. This includes a fix for the nil pointer exception that you discovered - THANK you so much for helping troubleshoot and fix that!!
Here are the upgrade instructions: https://github.com/Azure/application-gateway-kubernetes-ingress/blob/e28a1388ddc0cc0fa8efbedc595ae43ac7c91be2/docs/how-tos/helm-upgrade.md#upgrade
Keep us posted on how well 0.10.0-rc4 works with your setup!
I'll keep the issue open until you give us feedback on whether 0.10.0-rc4 addressed all issues you discovered!

We attempted the brownfield deployment today aswell - Version 0.10.0-rc4 and are having the same issue.
panic: runtime error: invalid memory address or nil pointer dereference

@kylegalea would you be so kind to post here a sanitized version of your AzureIngressProhibitedTarget and your Ingress resources / YAML?

Hi @draychev I am testing with Version 0.10.0-rc4, I am hitting an invalid memory address or nil pointer dereference. However, this is different from the last time, in the previous version I would encounter this error only after deploying the ingress resource, with this version I am encountering this problem right off the bat after deploying the helm chart, don't even have a chance to deploy the Ingress resource:
jorge@Azure:~$ helm list
NAME            REVISION        UPDATED                         STATUS          CHART                           APP VERSION     NAMESPACE
funky-marmot    1               Fri Oct 25 17:37:31 2019        DEPLOYED        ingress-azure-0.10.0-rc4        0.10.0-rc4      default
jorge@Azure:~$ kubectl get ingress
No resources found in default namespace.
jorge@Azure:~$
jorge@Azure:~$ kubectl logs funky-marmot-ingress-azure-6897dddbdc-2lgwd
ERROR: logging before flag.Parse: I1025 19:08:16.547591       1 main.go:286] Using verbosity level 3 from environment variable APPGW_VERBOSITY_LEVEL
I1025 19:08:16.595405       1 main.go:126] App Gateway Details: Subscription: 75149352-2e54-4cad-ae5f-93718720f2e4, Resource Group: kubetraining, Name: AKSVMAPPGW
I1025 19:08:16.595439       1 auth.go:90] Creating authorizer from Azure Managed Service Identity
I1025 19:08:16.798200       1 main.go:175] Ingress Controller will observe the following namespaces:default
I1025 19:08:16.826936       1 context.go:125] k8s context run started
I1025 19:08:16.827004       1 context.go:164] Waiting for initial cache sync
I1025 19:08:16.927232       1 context.go:172] Initial cache sync done
I1025 19:08:16.927258       1 context.go:173] k8s context run finished
I1025 19:08:16.927435       1 worker.go:33] Worker started
I1025 19:08:16.927527       1 httpserver.go:57] Starting API Server on :8123
I1025 19:08:17.059169       1 mutate_app_gateway.go:72] [brownfield] Prohibited targets: {"Path":"/*"}
I1025 19:08:17.059258       1 health_probes.go:67] [brownfield] Probes AGIC created: defaultprobe-Http, defaultprobe-Https
I1025 19:08:17.059269       1 health_probes.go:68] [brownfield] Existing Blacklisted Probes AGIC will retain: defaultprobe-Http
I1025 19:08:17.059273       1 health_probes.go:69] [brownfield] Existing Probes AGIC will remove:
I1025 19:08:17.059295       1 http_settings.go:68] [brownfield] HTTP Settings AGIC created: defaulthttpsetting
I1025 19:08:17.059300       1 http_settings.go:69] [brownfield] Existing Blacklisted HTTP Settings AGIC will retain: defaulthttpsetting
I1025 19:08:17.059304       1 http_settings.go:70] [brownfield] Existing HTTP Settings AGIC will remove: bp-default-frontend-80-80-frontend-ingress
I1025 19:08:17.059324       1 pools.go:67] [brownfield] Pools AGIC created: defaultaddresspool
I1025 19:08:17.059329       1 pools.go:68] [brownfield] Existing Blacklisted Pools AGIC will retain: autoscale-vmss
I1025 19:08:17.059333       1 pools.go:69] [brownfield] Existing Pools AGIC will remove: n/a
I1025 19:08:17.059400       1 listeners.go:82] [brownfield] Listeners AGIC created: fl-80
I1025 19:08:17.059407       1 listeners.go:83] [brownfield] Existing Blacklisted Listeners AGIC will retain: web-jorgecortes-gq
I1025 19:08:17.059411       1 listeners.go:84] [brownfield] Existing Listeners AGIC will remove: n/a
I1025 19:08:17.059443       1 ports.go:74] [brownfield] Ports AGIC created: fp-80
I1025 19:08:17.059448       1 ports.go:75] [brownfield] Existing Blacklisted Ports AGIC will retain: port_80
I1025 19:08:17.059452       1 ports.go:76] [brownfield] Existing Ports AGIC will remove: fp-443
I1025 19:08:17.059468       1 redirects.go:52] [brownfield] Redirects AGIC created: n/a
I1025 19:08:17.059472       1 redirects.go:53] [brownfield] Existing Blacklisted Redirects AGIC will retain: n/a
I1025 19:08:17.059476       1 redirects.go:54] [brownfield] Existing Redirects AGIC will remove: n/a
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x12bfe7d]
goroutine 128 [running]:
github.com/Azure/application-gateway-kubernetes-ingress/pkg/appgw.(*appGwConfigBuilder).groupListenersByListenerIdentifier(0xc000886c60, 0xc000373380, 0xc0005751f8)
/home/vsts/work/1/s/gopath/src/github.com/Azure/application-gateway-kubernetes-ingress/pkg/appgw/frontend_listeners.go:190 +0x32d
github.com/Azure/application-gateway-kubernetes-ingress/pkg/appgw.(*appGwConfigBuilder).getRules(0xc000886c60, 0xc000373380, 0x0, 0x0, 0xc0003f9e00, 0x2, 0x2, 0x24b4f38)
/home/vsts/work/1/s/gopath/src/github.com/Azure/application-gateway-kubernetes-ingress/pkg/appgw/requestroutingrules.go:67 +0x6c
github.com/Azure/application-gateway-kubernetes-ingress/pkg/appgw.(*appGwConfigBuilder).RequestRoutingRules(0xc000886c60, 0xc000373380, 0x0, 0x0)
/home/vsts/work/1/s/gopath/src/github.com/Azure/application-gateway-kubernetes-ingress/pkg/appgw/requestroutingrules.go:24 +0x8a
github.com/Azure/application-gateway-kubernetes-ingress/pkg/appgw.(*appGwConfigBuilder).Build(0xc000886c60, 0xc000373380, 0x0, 0x0, 0x15)
/home/vsts/work/1/s/gopath/src/github.com/Azure/application-gateway-kubernetes-ingress/pkg/appgw/configbuilder.go:108 +0x384
github.com/Azure/application-gateway-kubernetes-ingress/pkg/controller.AppGwIngressController.MutateAppGateway(0x184a800, 0xc0001c0000, 0xc000042096, 0x24, 0xc000046015, 0xc, 0xc00004402b, 0xa, 0xc0004be660, 0xc00034ac00, ...)
/home/vsts/work/1/s/gopath/src/github.com/Azure/application-gateway-kubernetes-ingress/pkg/controller/mutate_app_gateway.go:125 +0xa2b
github.com/Azure/application-gateway-kubernetes-ingress/pkg/worker.(*Worker).Run(0xc000551340, 0xc000356720, 0xc000360660)
/home/vsts/work/1/s/gopath/src/github.com/Azure/application-gateway-kubernetes-ingress/pkg/worker/worker.go:52 +0x34e
created by github.com/Azure/application-gateway-kubernetes-ingress/pkg/controller.(*AppGwIngressController).Start
/home/vsts/work/1/s/gopath/src/github.com/Azure/application-gateway-kubernetes-ingress/pkg/controller/controller.go:72 +0x1b5

@kylegalea @jocortems  we have a fix for the root cause of this https://github.com/Azure/application-gateway-kubernetes-ingress/pull/630
As soon as we are confident in the fix (when it is fully tested), it will be merged and I will let you know of a the new release of AGIC so you can upgrade - early next week!
Thanks for helping us troubleshoot this.

@kylegalea @jocortems  We just published a new release - https://github.com/Azure/application-gateway-kubernetes-ingress/releases/tag/0.10.0-rc5 which addresses the issue you ran into.
Would you be so kind to helm repo update and upgrade to 0.10.0-rc5 ?
Detailed instructions on how to upgrade are here

@draychev Mi preliminary tests show this new release appears to be working fine with version 1.14.7; however, when deploying the helm chart for a cluster running preview 1.15.3 the controller pod keeps crashing and from the logs is stuck in the following error messages. Note this is before even deploying the ingress resource:
jorge@Azure:~/aks-agic$ kubectl logs bold-turkey-ingress-azure-75f4ffb9d8-f8r5w
ERROR: logging before flag.Parse: I1029 23:56:37.245504       1 main.go:286] Using verbosity level 3 from environment variable APPGW_VERBOSITY_LEVEL
I1029 23:56:37.280464       1 environment.go:163] KUBERNETES_WATCHNAMESPACE is not set. Watching all available namespaces.
I1029 23:56:37.280481       1 main.go:126] App Gateway Details: Subscription: 75149352-2e54-4cad-ae5f-93718720f2e4, Resource Group: kubetraining, Name: AKSVMAPPGW
I1029 23:56:37.280494       1 auth.go:90] Creating authorizer from Azure Managed Service Identity
jorge@Azure:~/aks-agic$ kubectl get pods
NAME                                         READY   STATUS    RESTARTS   AGE
bold-turkey-ingress-azure-75f4ffb9d8-f8r5w   0/1     Running   3          3m11s
frontend-678d98b8f7-6sdmb                    1/1     Running   0          4d3h

I think this might be an issue with AAD Pod Identity. Let me follow through.

Works when I switch from AAD to SP ,I am using ingress-azure-1.0.0

@jocortems  i seem to get the same issues. it seems the helm template is missing role bindings for the ServiceAccount to actually access anything within k8s?
Should it work? without role bindings?

For those trying to make it work:
I setup a complete poewrshell script for all the steps of the brownfield installation with AA Pod identity.
i havent tested if all my powershell syntax works but might be usefull for you to trace your steps:
https://gist.github.com/joelharkes/e63482541abc5c3a396c5434549b8a58


Add RNNT model to Shark Tank

Please add RNNT (speech recognition) to the Shark Tank: https://github.com/mlcommons/inference/tree/master/speech_recognition/rnnt

I'll work on this.


proposal: x/website: have endpoint to query for the latest bugfix version

Background
https://github.com/golang/go/issues/34864 covers documenting the endpoint better. Right now, it's documented at https://godoc.org/golang.org/x/website/internal/dl. Listing the versions is very useful, so that endpoint is great.
However, there is one common operation that's not covered by the endpoint: showing the latest Go patch release for a major version like 1.12 or 1.13. This is useful to quickly download and install such a latest version, or to use it for a line like docker run golang:$(<query> 1.13.x) ..., and so on.
CI systems like Travis or GitHub Actions allow you to specify 1.13.x as a Go version in their configs. Internally, they query /dl?mode=json, and figure out what the latest version is. That's fine, because that software is pretty complex anyway, so a bit of JSON parsing is not terrible.
However, this gets harder when one is writing shell script one-liners, or portable scripts in general. There's just no way to do it in POSIX Shell or even Bash, let alone shells for other systems.
/VERSION?m=text almost satisfies this purpose, but it only shows the latest single release (not 1.12.x, 1.11.x, etc), and it sometimes lags behind even days after a newer release has gone out.
Proposed solution
Given that /VERSION is a static file and not an endpoint, I'm going to suggest that we extend the existing /dl endpoint instead. But this choice can be changed.
We don't want the result to be JSON, for the reasons laid out before. So the first step is adding ?mode=text alongside ?mode=json. Similar to /VERSION?m=text, it simply prints one version name per line, and nothing else. This is already useful by itself; one could figure out the absolute latest version via curl .../dl?mode=text | sed 1q, for example.
To support querying for the latest bugfix version for a particular "major" release like 1.12, we'd add another parameter latest: /dl?mode=text&latest=1.12.x. Given a string ${version}.x, it returns the latest bugfix release for that version. The version must be in the format ${number}.{number}, and the suffix .x must be present, to avoid ambiguity with 1.12 (actually 1.12.0).
Queries like /dl?mode=json&latest=1.12.x should also work, doing what you'd imagine. Instead of returning one line with just the version name, you'd get a JSON element with the structured data for the release in question.
/cc @dmitshur @myitcv @andybons

Thanks for filing this.

/VERSION?m=text almost satisfies this purpose, but it only shows the latest single release (not 1.12.x, 1.11.x, etc), and it sometimes lags behind even days after a newer release has gone out.

I agree the /VERSION endpoint is not a great long term solution. It can reliably answer the question of "what VERSION file does the golang.org website serve", but that cannot be reliably correlated with what versions of Go are released or tagged.
Since you haven't discussed it explicitly in the original issue, I'll copy what I wrote in https://github.com/golang/go/issues/36886#issuecomment-580342272:

If you're looking for more up-to-date Go release information, I suggest using either the https://golang.org/dl/?mode=json endpoint, which is updated as soon as release downloads are available, or the maintner API (see usage example here), which is updated as soon as releases are cut (the tag is published).

I want to ask what you think about relying on the maintner API for this? Its ListGoReleases endpoint seems to return exactly the information you're looking for. The questions are:

whether making an unauthenticated gRPC call is considered "convenient" enough for the needs you stated in the original issue
whether the expectation of stability of the API based on the domain name is good enough (the golang.org vs maintner.golang.org domains may be interpreted differently)
whether including a new minor release as soon as it is tagged is what you're looking for, or whether you want to know about it only when that minor release is completed (i.e., release artifacts such as downloads are published)

It's still an option to expose the same information from the golang.org/dl?mode=json API, which this issue is about investigating, but I wanted to ask a few of those questions first.

whether making an unauthenticated gRPC call is considered "convenient" enough

I want to make use of this in scripts, so it should be plan HTTP+plaintext, just like the existing endpoint with mode=text. So a gRPC client won't do, I'm afraid.

whether the expectation of stability of the API based on the domain name is good enough

I'd prefer this to live under golang.org, simply because that's also where one downloads the releases from. It's also a bit more convenient (i.e. shorter) to use. Not a big problem, but if what we want is to consolidate all of this into the maintainer API, we should just deprecate the existing /dl REST endpoint.
Note that, as said before, the replacement needs to support REST and plaintext endpoints too, otherwise we'd be losing valuable features.

whether including a new minor release as soon as it is tagged is what you're looking for

I imagine a large amount of the use cases (including mine) involve using the release, i.e. downloading it. So yeah, the feature should show the latest fully released version.

I haven't gotten much feedback, so I'm turning this into a proposal in hopes that it goes through the formal process soon. I did write the original issue almost like a small proposal, anyway.

It's worth noting that https://golang.org/dl/?mode=json has the information.

This also requires a developer to change their CI scripts for upgrading the latest Go release.

I guess the question is: do you want your CI system to break automatically the moment we release a new version of Go (if the CI system is fetching "latest"), or do you want to control when the update happens? In general we've encouraged the latter and discouraged references like "latest".
Given that "latest" is possible already with the JSON (and shell scripts can use jq), and that maybe "latest" shouldn't be made trivial to discourage these kinds of blind updates, maybe things are just right as is.
(We also can't easily change dl.google.com, which is about far more than just Go, although we could change things on golang.org that redirect.)

Thanks for your reply. Since your reply was written for the duplicate issue, I think some points need clarifying.

In general we've encouraged the latter and discouraged references like "latest".

In general, I agree. But note that I propose allowing to query the latest 1.13.x too, which is something that lots of CI systems support as well. This is a very useful feature for open source projects, since one wants to support a set of major Go versions. Testing against the oldest 1.13.0 might work, but that's not realistic in terms of what people are actually running, and might be buggy. Having to update to the latest bugfix version manually is a lot of unnecessary churn - having to update the version manually every few weeks, instead of every six months.

Given that "latest" is possible already with the JSON (and shell scripts can use jq)

I disagree - see my reasoning in the original proposal.

@mvdan, the original comment above says:

However, this gets harder when one is writing shell script one-liners, or portable scripts in general. There's just no way to do it in POSIX Shell or even Bash, let alone shells for other systems.

But this is not true. Bash and other systems can use jq, or people can use a simple Go program invoked from the shell, maybe even with go run. (Bash doesn't do HTTP requests internally yet does it? I believe this discussion assumes invoking other tools like curl already.)
You said in the comment at the top that CI systems are fine as is, since they can run basic computation even more easily than shell scripts can.
Even after rereading your original comment atop this issue, I'm not sure I understand what the argument is for making resolving 1.13.x easier for bash.

@mvdan, am I misunderstanding something in my previous comment? This seems headed for likely decline but I want to give you a chance to reply to make sure I'm not missing something.

Bash and other systems can use jq

It's true that the original example requires some tool to download a file via HTTP (like curl), though that's generally possible to do out of the box on most machines or docker images. Comparatively, jq is pretty niche and rarely installed by default.

or people can use a simple Go program invoked from the shell, maybe even with go run.

I should have clarified that this is generally for CI environments that don't have a Go version installed.

You said in the comment at the top that CI systems are fine as is, since they can run basic computation even more easily than shell scripts can.

Yes and no. Some CI systems like GitHub Actions and Travis wrote their own code to figure out what the latest version for Go 1.14.x is. I can use that, yes, but then I don't have that feature if I use some other CI system, or if I run my own CI. I could write this software myself, depending on jq, python, Go, or some other tool that can process json, but it feels like I shouldn't need to reinvent the wheel here :)

I'm not sure I understand what the argument is for making resolving 1.13.x easier for bash.

That's what I tried to answer in https://github.com/golang/go/issues/36898#issuecomment-617284988. A short version of that is - people find it useful for testing on CI.
Here's a perhaps simpler counter-proposal. Only add a ?mode=text, which was the first half of my proposal here. The equivalent of the current:
$ curl -s 'https://golang.org/dl/?mode=json&include=all' | jq -r '.[].version'
go1.14.2
go1.13.10
go1.14.1
go1.14
go1.13.9
go1.13.8
[...]

That way, in mostly-portable shell, one can get the latest 1.14.x by simply doing a sed '/go1\.14\./q'. And we don't explicitly support syntax like 1.14.x, nor do we encourage it.

I should have clarified that this is generally for CI environments that don't have a Go version installed.

I think this is a good goal. I filed issue #38773 related to this. Perhaps it will be easier to evaluate any proposed changes to the https://golang.org/dl/?mode=json API by looking at CI environments where it's currently difficult to use.

First, we really need to document the current mode=json endpoint.
Second, that seems like enough for this hypothetical CI system that has curl but not jq.
It's easy enough to pull out what you want:
$ curl 'https://golang.org/dl/?mode=json' | grep '"version"' | sed 1q | awk '{print $2}' | tr -d ',"'
go1.14.2
$

Plenty of other ways too (can do the whole thing with sed or perl too, assuming the CI has at least one of those).
#34864 is the issue for documenting mode=json better.
Based on the discussion above, this issue (a latest-version endpoint or a text mode) sounds like a likely decline.

No change in consensus, so declined.

Precise data in one call
https://github.com/features/integrations

thanks. have a nice day. keep up the great work. 👏
ret394


Failure to finish install: Library not loaded: /opt/homebrew/opt/openldap/lib/libldap-2.5.0.dylib

Describe the bug
I have been following the steps of the following link to install Apache/PHP and the PHP 7.3 and 7.4 installs fail.
https://getgrav.org/blog/macos-monterey-apache-multiple-php-versions
At the end of the install I get this error:
dyld[58462]: Library not loaded: /opt/homebrew/opt/openldap/lib/libldap-2.5.0.dylib
Referenced from<EMAIL_ADDRESS>Reason: tried: '/opt/homebrew/opt/openldap/lib/libldap-2.5.0.dylib' (no such file), '/usr/local/lib/libldap-2.5.0.dylib' (no such file), '/usr/lib/libldap-2.5.0.dylib' (no such file), '/opt/homebrew/Cellar/openldap/2.6.0/lib/libldap-2.5.0.dylib' (no such file), '/usr/local/lib/libldap-2.5.0.dylib' (no such file), '/usr/lib/libldap-2.5.0.dylib' (no such file)
Warning: The post-install step did not complete successfully
You can try again using:
brew postinstall<EMAIL_ADDRESS>Trying postinstall also fails in the same way (libldap - no such file).
PHP versions
Attempted to install 7.4 and 7.3 and both failed with the same libldap failure.
To Reproduce
brew tap shivammathur/php
brew install<EMAIL_ADDRESS>brew unlink php && brew link --overwrite --force<EMAIL_ADDRESS>Expected behavior
I expected to be able to link the 7.4 version, but it cannot be linked and gives this error:
username ~ % brew unlink php && brew link --overwrite --force<EMAIL_ADDRESS>Error: No such keg: /opt/homebrew/Cellar/php
Screenshots/Logs

Additional context
MacBook Pro 14.2" M1 Pro
macOS Monterey 12.0.1
Latest Xcode was installed today (from scratch, not an upgrade)
Installed command line utilities today as mentioned in the guide (linked above)
Homebrew 3.3.5
Homebrew/homebrew-core (git revision e2eb0fb823f; last commit 2021-11-24)
Homebrew/homebrew-cask (git revision e42a605cc0; last commit 2021-11-25)
I performed this same process on a different system (same specs), except that in that case Xcode was already installed, so was updated to latest instead of a clean install. That system didn't have a problem. So, I've been through the steps above without a problem, but on my own personal system it is failing.
Are you willing to submit a PR?
No.

@dspaude
Openldap has been updated to 2.6.0 and all the PHP versions have been re-built.
Run brew update and then reinstall.
For example for PHP 7.4
brew update
brew reinstall<EMAIL_ADDRESS>brew link --force --overwrite<EMAIL_ADDRESS>

Excellent! Thank you so much!


IE11 throws with "Object doesn't support this action"

In Internet Explorer 11, the polyfill throws with Object doesn't support this action when executing the following line:
new URLSearchParams("q=URLUtils.searchParams&topic=api");
According to MDN, the call is fine.
I've provided more info in the following issue as I've first suspected Axios:
https://github.com/axios/axios/issues/2045
I've updated from<EMAIL_ADDRESS>which was working and stumbled over this bug.

live test page here https://ungap.github.io/url-search-params/test/

@WebReflection
Maybe I was not explicit enough. The module fails when using it in webpack, I guess that the file used by webpack is not the one you are using in your test. I've created a repo for you to check it:
url-search-params-test
As you can see in IE11, there is no alert and an error is thrown. The only thing I'm doing is:
window.URLSearchParams = require('@ungap/url-search-params');

the CJS file is exactly the same https://github.com/ungap/url-search-params/blob/master/package.json#L10
try requiring it from webpack via require('@ungap/url-search-params/cjs') and see if that works

@WebReflection
Yes, when unsing @ungap/url-search-params/cjs' it works! Maybe it's a good idea to change the package.json to make it more webpack friendly:
According to webpack documentation, the default package.json fields that are checked are ['browser', 'module', 'main']. So you can add the browser field with the value cjs/index.js.
Would you accept a PR for this?

Maybe it's a good idea to change the package.json to make it more webpack friendly

the package json specifies exactly which file CJS bundler should use, through the main field.
The fact Webpack does whatever it likes, it's not a personal concern of mine.
Also, IIRC, rollup got this right since day zero.

According to webpack documentation, the default package.json fields that are checked are ['browser', 'module', 'main']

browser as CJS makes no sense, since no browser ships with CJS. This is an old Webpack gotcha I wish by 2019 they got rid of, but I guess it's their legacy, hopefully fixed as soon as NodeJS modules ship stable, instead of behind a flag.
TL;DR you should file yet another bug in Webpack about this, they should invert the order of their search 'cause main is the CJS standard, everything else is foot-gun prone.

P.S. I've updated the readme https://github.com/ungap/url-search-params#-webpack-users
I also didn't explicitly answer to your question:

Would you accept a PR for this?

No, 'cause this is a Webpack issue 👋

Thanks for editing the readme, that will certainly save some time for anyone who's stumbling over this issue.
P.S.: A personal side note for you:
To me, your answers felt rather aggressive by the tone they are using. I can understand that you might be frustrated or at least annoyed by this topic, but I tried to be as constructive as possible. I can only do so much, check the closed tickets for clues and try to give (hopefully) constructive feedback. I wasn't aware of any debate going on about package.json fields or module types, so please take into consideration that I'm just trying to solve a problem here, ideally for more people than just me. We're both just humans talking about a bunch of lines of text after all, so there's really no reason to be dismissive towards anyone.

To me, your answers felt rather aggressive by the tone they are using

apologies for letting you feel this way, the true story is that I'm tired of non standard choices made by popular projects, so that you got the same answer I'd be giving to any webpack contributor.
It wasn't too sensible though, so sorry again for that.

please take into consideration that I'm just trying to solve a problem here

You are right, I should put more empathy in my quick replies (I'm full time employee, and everything in GitHub is actually (kinda) a side project ... I have dozens of those, actively maintained).
On the other hand, the problem you are trying to solve is from somewhere else, and this is the pattern I keep seeing, but I should probably write a blog post about it.
Every other day, somebody files an issue in one of my project, because their more hyped libraries/helpers/frameworks have issues, but I get the blame.
When I read things like:

According to webpack documentation, the default package.json fields that are checked are ['browser', 'module', 'main']

all I understand is: and why on Earth you believe that is how things should be?
I have contributed to ECMAScript standards, followed the NodeJS modules history (very closely), and yet I have to explain that whatever webpack is doing with the package.json fields is wrong ... now, put this into some perspective:

@ungap/url-search-params has 80+ stars
webpack has 48K+ stars

Basically I have 600% of chances people will bother my libraries for something webpack did wrong, accordingly to standards (in this case the NodeJS CommonJS standard).
Imagine every single time I have people believing the problem is in my projects how I feel ... and yet, I still apology because common developers wouldn't know this, wouldn't bother to think about standards, and I'm somehow one of the few caring about how things should be done, accordingly to standards.
So once again, my apologies, and please don't take this personally, but I'm tired of how Open Source is working these days.
It used to be a cool place to learn, today is a place biased out of popularity, instead of common sense.

Thanks for your openness! I can really understand your frustration about it, especially because of libraries creating new realities out of sheer popularity. I wouldn't have ever proposed changing your package.json file if I had known the background of this ;)
Maybe it's a bit silly to give an ECMA contributor such an advice, but one of the few things that help changing realities is educating people. So it's certainly the right call to enclose a note in the readme and I think it's also a good idea to address your concerns in a blog post, so that more developers become aware of the issue.
Anyways, keep up the good work and don't let frustration eat you up, it's not worth it 👍

Oh! This is why my axios post requests were failing in IE11 😮 I though the problem was coming from axios. I'm glad I found this thread!

@mornir you should also read answers, as there is no IE11 error with this library, as you can test already live: https://ungap.github.io/url-search-params/test/

@WebReflection This views on standards are ridiculous. I just needed something to make it work. This just doesn't work with webpack even if i import from cjs path.
Just delete your library if you hate open-source so much. I would have written myself rather than wasting my time with some broken third party.

@atilkan thanks for your super constructive feedback, the Open Source community definitively needs more people like you. I have already reported your kind comment, and I'll wait a reply before blocking you from my repositories, so you'll have all the freedom to rewrite all the polyfills by your own, as I am sure you'll do a better job than anyone else.
Best Regards.

P.S.

This just doesn't work with webpack even if i import from cjs path.


ci(release): fix github token variable name

Try to address authentication issue with @semantic-release/github by using the GH_TOKEN
environment variable name instead of GITHUB_TOKEN

:tada: This PR is included in version 1.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


airtable can not interpret Collections.OrderedDict

If you obtain a record with say attachments which are returned in an ordered dictionary, you have to convert them into a dictionary for them to be updated via at.update() for example. Why not just put the objects in a dictionary in the first place so they are update compatible? When you query airtable for records, there is no ordering mechanism and records are jumbled anyway so I'm not sure for the need of Collections.OrderedDict. It basically just means you have to do some preprocessing as found here to convert the nested ordered dict to a normal dict. Thanks!

I second this. It's a hassle to deal with OrderedDicts.

How about to offer config option to use dictionaries only?
It it really pain to convert nested OrderedDicts.

How about to offer config option to use dictionaries only?
It it really pain to convert nested OrderedDicts.

Aha, that option is there. :-)
Init it like this:
airtable.Airtable(
    environ.get("AIRTABLE_BASE"),
    environ.get("AIRTABLE_API_KEY"),
    dict_class=dict
  )

Aha, that option is there. :-)
Init it like this:
airtable.Airtable(
    environ.get("AIRTABLE_BASE"),
    environ.get("AIRTABLE_API_KEY"),
    dict_class=dict
  )


Updated WK Kanji

Why?
Updated WK data for writing sheets.
What Changed?
Fixed mismatching levels and kanji. Sorry for the double PR.

@cognitive-collapse Thank you very much for the PR!
Can you please fix the file endings? It seems the new line at the end is missing for every file.


Downgrade php redis extension to 3.1.6 to fix backwards incompatibility

Version 4 changed the function api and broke some wrappers (perhaps those wrappers were too tightly coupled as well)

I only know of Snc\RedisBundle atm tho few people are running docker-compose build --pull on their machines (also why it was only found out 10 days after).
The extension maintainers haven't also made it easy to find what the backwards-incompatibilities are.

I'd suggest we consider some limited version bumping in the future to wipe BC workarounds occasionaly


Improve GitHub actions

We need separate actions for building and testing.
We need a pre-commit hook for Prettier.

Fixed in https://github.com/Othent/KMS-server-new/pull/22.


Fix 'Redundant blank line at the start of a code block should be deleted.' issue in objectform.cpp

CodeFactor found an issue: Redundant blank line at the start of a code block should be deleted.
It's currently on:
objectform.cpp:713

https://github.com/Paracetamol56/Observeur2/pull/9


Upgrade to plugin-plugin 8.0.0

Coverage remained the same at 95.89% when pulling cf516b3a72a51306772a5eac0448907377437df1 on upgrade-plugin-plugin into e195fcf141f7a97ff0b5c5481155f9a30831c7cd on master.


fix: Allow non-string literals

Literals are now sorted by:

numbers last, ascending
anything else by their stringified value using localeCompare

Without this change typescript-to-proptypes#inject crashes.

Thank you


No support for standard, or user defined Spectral Sample data.

Bitfrost references sRGB and other standard color spaces, but computes color gamuts using its own interpretation of CIE 2006 color matching experimental results.
It ought to ship with standard color spectral samples like CIE 1931 and CIE 2006, and also allow users to supply their own.

Newest commit ships with:

CIE 1931 2° Δλ = 5nm
CIE 1931 2° Judd 1951  Δλ = 10nm
CIE 1931 2° Judd 1951 and Vos 1978  Δλ = 5nm
CIE 2006 2° Δλ = 1nm
CIE 2006 2° Δλ = 5nm
CIE 2006 2° Δλ = 5nm hybridized with the extrema of CIE 2006 2° Δλ = 1nm

Also now supports user defined CMF/Spectral Sample functions through an abstract value in the WorkingSpace trait.


code-gen: improved tail loop and edge tile of swizzled A

[x] Removed FreeSize0 and BoundSize predicates
[x] Improved tail-loop perf
[x] Minor bugs fixed: kernels with STA_DTVA0 or STB_DTVB0 should be rejected.
[x] Spotted existing failure with DTV kernels: "DTVA + TT + Tail" and "DTVB + NN + Tail"
[x] Updated pytest

=========================== 1 passed, 4 warnings in 260.42s (0:04:20) ===========================
py310: exit 0 (260.65 seconds)
py310: OK (417.47=setup[14.29]+cmd[1.43,141.10,260.65] seconds)
congratulations :) (417.52 seconds)

CI Passed, the failure node is on gfx90a with a docker error, not test error. merging.


[Umbrella] Add HTTP transport mode support to KYUUBI

1. Describe the feature
Access KYUUBI HTTP calls.
2. Motivation
if we can support submitting queries via HTTP mode,  this will enable us to use this via HAPROXY/NGINX reverse proxys.
We can use Jupyter Notebooks and backend servers to query spark sql as a service.
3. Tasks

[ ] #1761
[ ] Implement a httpserver by jetty

https://github.com/apache/incubator-kyuubi/issues/32 this already talks about HTTP frontend. Closing this.

that ticket is not exactly the same，you can work on this if you are interested

I am interested @yaooqinn , can you point me to the codebase documentation ?

docs/ ？

@RamakrishnaChilaka This mode is just like Hive Thrift Server HttpMode?  The protocol for client interaction with Kyubi is still Thrift, and the communication protocol is HTTP.

Yes @iodone .

@yaooqinn, could you please assign this ticket to me?


Merge prTesting_201906121031 branch to master branch

Docs Build status updates of commit 6e19c32:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details
Dependent Files

split/updateTestCon.md
:white_check_mark:Succeeded

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


Timing Diagram- Decrease height and Increase height buttons are not working

Is there an existing issue for this?

[X] I have searched the existing issues

Describe the bug
The Decrease height and Increase height buttons are not working in Timing Diagram Panel.
Steps To Reproduce

Go to the Timing Diagram panel
Expand it
Click on the Decrease and Increase height buttons.

Expected Behavior

The Increase height button should increase the height of the panel.
The Decrease height button should decrease the height of the panel.

Just like, the Increase size and Decrease size button works.
Screenshots

Device Information [optional]
- OS: Windows 10
- Browser: Chrome

Additional context
No response
Are you working on this issue?
No

I think I can help you in this

@vedant-jain03 pls. assign this issue to me. I have gone through the code where bug is raised. And also working on an approach to remove the bug.

please assign this to me

@Prerna-0202 Thanks for Assigning me . As I am new to open-source can you help me where is the code?

@SahityaGupta25 app/views/simulator/edit.html.erb

@SahityaGupta25 and if you are looking for the Timing Diagram, you can go to the simulator and expand the Timing Diagram inside the canvas

@niladrix719 Thanks a lot buddy........

Hey any update over my pull request??


BUG: Delete non-virtual function in DisplacementFieldTransform

Delete non-virtual DisplacementFieldTransform::SetDisplacementField(nullptr_t) signature to address #3388.
Valid:
displacementFieldTrasnform->SetDisplacementField(static_cast<DisplacementFieldType *>(nullptr))

Invalid:
displacementFieldTransform->SetDisplacementField(nullptr);

results in the compiler error

error C2280: 'void itk::DisplacementFieldTransform<TParametersValueType,2>::SetDisplacementField(std::nullptr_t)': attempting to reference a deleted function

PR Checklist

[x] No API changes were made (or the changes have been approved)
[x] No major design changes were made (or the changes have been approved)

Refer to the ITK Software Guide for
further development details if necessary.

Building now... Rogue22 is slow tho...

There are other virtual methods that are deleted; should we be doing something with them as well?  FWIW, they are all destructors:
https://github.com/InsightSoftwareConsortium/ITK/blob/dfa33a74c6fce77cc75e1c37235fbee84b2ba103/Modules/IO/ImageBase/include/itkConvertPixelBuffer.h#L60
https://github.com/InsightSoftwareConsortium/ITK/blob/dfa33a74c6fce77cc75e1c37235fbee84b2ba103/Modules/IO/MeshBase/include/itkConvertArrayPixelBuffer.h#L45
https://github.com/InsightSoftwareConsortium/ITK/blob/dfa33a74c6fce77cc75e1c37235fbee84b2ba103/Modules/IO/MeshBase/include/itkConvertVariableLengthVectorPixelBuffer.h#L45
https://github.com/InsightSoftwareConsortium/ITK/blob/dfa33a74c6fce77cc75e1c37235fbee84b2ba103/Modules/Numerics/Statistics/include/itkKdTree.h#L131

There are other virtual methods that are deleted; should we be doing something with them as well?

@Leengit maybe in a separate PR, as these, for some reason, are not raising compiler errors ?