Simplify expectation taking code

The code that gets the expected values of distributions in the solver can be simplified by making generic methods on the distribution classes.
https://github.com/econ-ark/HARK/blob/master/HARK/ConsumptionSaving/ConsAggShockModel.py#L633-L667

duplicate #621

Mathematica syntax is:
Expectation[f[x],x [Distributed] LogNormal[mu,sigma]]

This code is calculating the expectation of:

a mathematical function: ... ?
over the Income distribution.... IncomeDstn

Try to mirror the Sympy syntax:

https://gist.github.com/mnwhite/a77387cf2633f0a2404342d39fdb5284

I'm going to take a stab at this tonight or tomorrow morning.  It's easier
than I thought.
On Thu, Jun 18, 2020 at 1:06 PM Sebastian Benthall<EMAIL_ADDRESS>wrote:

https://gist.github.com/mnwhite/a77387cf2633f0a2404342d39fdb5284
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/econ-ark/HARK/issues/625#issuecomment-646179629, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ADKRAFPCBZHMOC5NUIQLNQDRXJCPZANCNFSM4MJX676A
.

By "this" you mean working out sympy syntax for some expression(s) in your gist code?

I'm making a non-sympy expectations function.  Here's the docstring, which won't format correctly here:
`
def calcExpectation(func,values,dstn):
'''
Calculate the expectation of a stochastic function at an array of values.
Parameters
----------
func : function
    The function to be evaluated, which can take M+N identically shaped arrays
    as arguments and returns 1 array as an output (of the same shape).  The
    first M arguments are non-stochastic, representing the inputs passed in
    the argument values.  The latter N arguments are stochastic, where N is
    the dimensionality of dstn.
values : np.array or [np.array]
    One or more arrays of input values for func, representing the non-stochastic
    arguments.  If the array(s) are 1D, they are interpreted as grids over
    each of the M non-stochastic arguments of the function; the expectation
    will be evaluated at the tensor product set, so the output will have shape
    (values[0].size,values[1].size,...,values[M].size).  Otherwise, the arrays
    in values must all have the same shape, and the expectation is computed
    at f(values[0],values[1],...,values[M],*dstn).
dstn : DiscreteDistribution
    The distribution over which the function is to be evaluated.  It should
    have dimension N, representing the last N arguments of func.

Returns
-------
f_exp : np.array
    The expectation of the function at the queried values.
'''
pass

`

See the calcExpectations branch for a completely untested draft of the
function.  It's what I was able to write in an hour before needing to jump
on baby duty.  Will test it on nonsense functions to make sure it works,
then will pastebin an edited version of the ToddlerCSmodel.py thingy where
it's implemented.
On Thu, Jun 18, 2020 at 5:07 PM Christopher Llorracc Carroll <
<EMAIL_ADDRESS>wrote:

By "this" you mean working out sympy syntax for some expression(s) in your
gist code?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/econ-ark/HARK/issues/625#issuecomment-646306078, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ADKRAFOT4HIAKIWXAEMER3LRXJ6ZHANCNFSM4MJX676A
.

Right on. I'll be glad to review this PR when it's ready.
In my view, it makes sense to make the problem easier by breaking it down.
Refactoring the solution code into methods/functions/objections that create an abstraction layer of mathematical operations over the lower level implementation (which for now will be matrix manipulations but later may be symbolic) is very difficult for me because I don't have the math in my head. It makes tons of sense for @mnwhite to do that, if he has time.
Massaging these functions into a smooth, Mathematica/Sympy inspired syntax is much easier (for me) once that first step is completed.
My only quibble with what Matt's proposed is a style issue that it pervasive across the whole library and perhaps can't be helped. But I should bring it up nonetheless. According to PEP 8, the recommendation is:

Class names should normally use the CapWords convention.
Function names should be lowercase, with words separated by underscores as necessary to improve readability. Variable names follow the same convention as function names. So lower_case_with_underscores

mixedCase is allowed for "backwards compatibility", which was a nice allowance given the variety of styles used in Python. But PEP 8 was published in 2001. So it's a little silly for a project launched almost 15 years later to be using the deprecated convention.
I realize that this is a sticky problem but I'd volunteer to do the mass conversion before the 1.0 release.

The capitalization style is intentional; to my recollection, Nate Palmer
told us this was the standard for functions when we began the project.  The
lack of underscores in variable names has a different origin.
On Fri, Jun 19, 2020 at 10:00 AM Sebastian Benthall <
<EMAIL_ADDRESS>wrote:

Right on. I'll be glad to review this PR when it's ready.
In my view, it makes sense to make the problem easier by breaking it down.
Refactoring the solution code into methods/functions/objections that
create an abstraction layer of mathematical operations over the lower level
implementation (which for now will be matrix manipulations but later may be
symbolic) is very difficult for me because I don't have the math in my
head. It makes tons of sense for @mnwhite https://github.com/mnwhite to
do that, if he has time.
Massaging these functions into a smooth, Mathematica/Sympy inspired syntax
is much easier (for me) once that first step is completed.
My only quibble with what Matt's proposed is a style issue that it
pervasive across the whole library and perhaps can't be helped. But I
should bring it up nonetheless. According to PEP 8
https://www.python.org/dev/peps/pep-0008/, the recommendation is:

Class names should normally use the CapWords convention.
Function names should be lowercase, with words separated by
underscores as necessary to improve readability. Variable names follow the
same convention as function names. So lower_case_with_underscores

mixedCase is allowed for "backwards compatibility", which was a nice
allowance given the variety of styles used in Python. But PEP 8 was
published in 2001. So it's a little silly for a project launched almost 15
years later to be using the deprecated convention.
I realize that this is a sticky problem but I'd volunteer to do the mass
conversion before the 1.0 release.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/econ-ark/HARK/issues/625#issuecomment-646652529, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ADKRAFK22MJDWI2XHNAQIL3RXNVQFANCNFSM4MJX676A
.

@llorracc today in the meeting has pointed out that it would be nice if the object representing a random variable (for example, the distribution objects) were used both in simulation (when sampling) and in solution (by taking expectations).

#720 #884 now merged; expectation taking code is in.
Next step on this is refactoring to use calcExpectations in the solution code throughout the library

I think the current implementation of calcExpectation is quite complicated and can be further simplified using this method that comes with numpy
https://numpy.org/doc/stable/reference/generated/numpy.apply_along_axis.html

One aspect of the calcExpectation method is the broadcasting of the function over some values that are not part of the probability distribution.
This introduces a lot of complexity as the current method is trying to cover a couple different kinds of broadcasting without relying on the underlying numpy machinery.
One small issue resulting from this is that the documentation is ambiguous as to whether the 'default' value of these values is an empty list or None.
https://github.com/econ-ark/HARK/blob/master/HARK/distribution.py#L1020-L1032
Correspondingly, I've found a small inconvenience coming from whether the output of calcExpectation is an numpy array or a scalar value under conditions where there are no reported values.
Consider:
dd_0_1_20 = distribution.Normal().approx(20)
ce1 = distribution.calcExpectation(dd_0_1_20)

In this code ce1 is a numpy array containing one element, which is very close to zero. However, under these conditions, we might expect the output to be a scalar. Note that the output of numpy.dot is a scalar if both inputs are 1-D arrays.
https://numpy.org/doc/stable/reference/generated/numpy.dot.html
I think it will save the user a lot of headache if we think through how to implement distributions and expectation taking in terms of numpy array broadcasting.

The current calcExpectation code handles the case where non-stochastic values are handed in as a set of 1D arrays that are to be interpreted as grids over multiple dimensions. The code intends to handle this by first creating a completed M-dimensional grid which is the tensor product over each dimensional array.
The condition for using this tensor-product mechanism, as opposed to the alternative simpler case where the function simply broadcasts over the values array, is unclear. I don't think the current code/documentation successfully distinguished between
these two cases, as in principle one could broadcast over several 1D arrays.
https://github.com/econ-ark/HARK/blob/master/HARK/distribution.py#L1047-L1048
Instead of combining these two complex operations into a single function, it would be better to break them down into simpler steps.
Creating the tensor product of several grids can be its own function and live elsewhere. That way the expectation-taking code can be focused on doing one thing well.
I'll make this change in a PR.

I'm not sure, but I believe that the intention of the grid 'tensor product' work can be done with this built-in numpy function for the Kronecker product:
https://numpy.org/doc/stable/reference/generated/numpy.kron.html#numpy.kron
Or possibly it can be done using this numpy.tensordot function
https://numpy.org/doc/stable/reference/generated/numpy.tensordot.html?highlight=tensor product
Because this is a very simple operation, and one that could easily be done prior to the input to calcExpectation, I won't try to preserve the code for the tensor product case in the next PR. Likely the current way this is being done, with np.tile, is inefficient and it is certainly less clear what is going on to the reader.
As calcExpectation has not yet been worked into the code base at large, this reduction in the method's functionality will have no effect on downstream use. In the upcoming, PR, I'll focus on trimming the functionality down and providing thorough tests.

Ok, I've tested it and numpy.apply_along_axis automatically broadcasts over additional values args if they are arrays.
https://numpy.org/doc/stable/reference/generated/numpy.apply_along_axis.html#numpy.apply_along_axis
That makes the implementation of calcExpecation very easy.
In general, HARK should be refactored to use the core libraries effectively as much as possible.

It's actually quite wonderful. args can be  a mix of constants and same-sized arrays and it will act very reasonably.

@sbenthall had mentioned he'd be keen to hear feedback on the new calcExpectation from other users.
I have been incorporating it into my new portfolio model today. It works great: intuitive to use, surprisingly faster, and makes for clearer code, pushing HARK towards explicit definitions of transition equations.

@sbenthall had mentioned he'd be keen to hear feedback on the new calcExpectation from other users.
I have been incorporating it into my new portfolio model today. It works great: intuitive to use, surprisingly faster, and makes for clearer code, pushing HARK towards explicit definitions of transition equations.

oh fantastic. thanks!

oh fantastic. thanks!

Maybe the right numpy tool for making the grids over several scalar function inputs is np.meshgrid
https://numpy.org/doc/stable/reference/generated/numpy.meshgrid.html

Maybe the right numpy tool for making the grids over several scalar function inputs is np.meshgrid
https://numpy.org/doc/stable/reference/generated/numpy.meshgrid.html

I've always thought that's it. Not sure what it would be needed for in the current implementation given that the multivariate distribution already has that grid for shocks.
Maybe it could be used for args, so that they aren't required to be of the same shape and one can just pass the 1-d grids instead of n-d meshes. But this depends on whether you want the user or the function to take care of args. It's not obvious what the best practice would be there, since sometimes the meshes are useful beyond taking expectations for, e.g., evaluating value functions and so the user might have them laying around already.

I've always thought that's it. Not sure what it would be needed for in the current implementation given that the multivariate distribution already has that grid for shocks.
Maybe it could be used for args, so that they aren't required to be of the same shape and one can just pass the 1-d grids instead of n-d meshes. But this depends on whether you want the user or the function to take care of args. It's not obvious what the best practice would be there, since sometimes the meshes are useful beyond taking expectations for, e.g., evaluating value functions and so the user might have them laying around already.

Still, I believe there are various places in HARK where multiple lines of np.tile(...) could be replaced with single lines of np.meshgrid.

Still, I believe there are various places in HARK where multiple lines of np.tile(...) could be replaced with single lines of np.meshgrid.

There should be a separate issue for this.
On Wed, Jan 27, 2021, 11:48 AM Mateo Velásquez-Giraldo <
<EMAIL_ADDRESS>wrote:

Still, I believe there are various places in HARK where multiple lines of
np.tile(...) could be replaced with single lines of np.meshgrid.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/econ-ark/HARK/issues/625#issuecomment-768418303, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAQZEEUSNHEFLEBW64SBXLS4A7U3ANCNFSM4MJX676A
.

There should be a separate issue for this.
On Wed, Jan 27, 2021, 11:48 AM Mateo Velásquez-Giraldo <
<EMAIL_ADDRESS>wrote:

Still, I believe there are various places in HARK where multiple lines of
np.tile(...) could be replaced with single lines of np.meshgrid.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/econ-ark/HARK/issues/625#issuecomment-768418303, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAQZEEUSNHEFLEBW64SBXLS4A7U3ANCNFSM4MJX676A
.

Closing this issue. The new calcExpectations function is used in several places in the library. There are further code simplifications along these lines to be made; see #934 for the np.meshgrid issue.

Closing this issue. The new calcExpectations function is used in several places in the library. There are further code simplifications along these lines to be made; see #934 for the np.meshgrid issue.


Check path existance before calling fileSystem.listStatus

@ibuenros can you review this? This is the fix for failing build on hudson. Hadoop2 freaks out if you call liststatus on a path that does not exist.

LGTM


UI freeze on Linux/vulkan replay

Description
Capturing and replaying a relatively simple workload freezes the UI and makes it unusable.
Steps to reproduce

download and unpack wgpu-trace.zip
download and unpack wgpu.zip
cd wgpu/player
cargo build --features renderdoc - this may take a bit of time, requires Cargo + Rust. The artifact we are interested in is ../target/debug/play, and that's what we'll be running from renderdoc, passing the wgpu-trace path as a parameter.
launch the app from Renderdoc using the following settings:

You'd need to change the paths to wgpu and wgpu-trace. It will finish quickly and produce a capture automatically.
Navigating to the draw call (EID 43, for example, and then to EID 9) would show the progress bar at the bottom, which never stops and freezes the UI:

The application stops responding and can only be killed after that.
Environment

RenderDoc version: 1.10
Operating System: Solus linux
Graphics API: Vulkan

Can you share the capture itself that hangs? I can more easily look into that since it means I won't have to figure out how to set up cargo + rust. If not that's fine it might just be a little longer before I can repro this.

Here we go: renderdoc-bug-capture.zip

This seems like it may be the same as #1863 . I can replay the capture fine with latest mesa on my hardware, but looking at it I can see that your application still maps memory behind GPU render targets and there was a bug that meant renderdoc was still replaying mapped memory updates into that.
Please try again with that commit, if it still doesn't work let me know and I can investigate again. If it does still happen I'd particularly be interested to know if it still happens on your nvidia card, or on intel if you don't map memory with render targets bound.

I confirm your fix works. Thanks for the quick turnaround (and unblocking me)! 🥇


Proposal: Expose OpenAPI / Swagger specification

Hi, I really love this project! One feature I am missing is an exposed OpenAPI / Swagger specification file. In this proposal I will address the benefits that an implementation would bring.
Before I start:
I know that this issue was posted before (#209, #414. #799), but I've not seen those issues to really state what the benefits to the users would be (IMO there are a lot more benefits than just the documentation and client generation).
Benefits of exposing an OpenAPI / Swagger specification
OpenAPI specifications are modeled around the Database model, and thus they are type-aware. Through various generators (like https://github.com/OpenAPITools/openapi-generator), the user can generate a client library for the most common programming languages from an OpenAPI specification file. This generated library would take into account, what type the data has. The IDE would then also display the model of the data in the autocomplete.
Assumed this is the model in the database:
Database
└── Collections
    ├── Users
    ├── Books
    │   ├── id: number
    │   ├── author: string
    │   └── price: number
    └── Movies
        ├── id: number
        ├── studio: string
        └── price: number

This is how calls to data could look like, in a go client example:
(using an autogenerated API from an OpenAPI spec I wrote)
book, _, err := api.BooksApi.BooksCreate(context.Background()).BooksRequest(swagger.BooksRequest{
		Id: swagger.PtrInt32(1337),
		Author:  swagger.PtrString("SomeAuthor"),
		Price: swagger.PtrInt32(10_00),
}).Execute()

bookCount, _ , _ := api.BooksApi.BooksCount(context.Background()).Execute()

/// ...

Use case
The use case of this would primarily be when users don't have a pocketbase SDK for their current project language (Java / Kotlin for native Android development, Objective-C / Swift for native iOS development, Go client, etc...). But it can also be used if the database model is huge, and the developers want to have a model-aware autocomplete.
Another use case would be, that the OpenAPI spec can be imported in tools like Postman, to test and experiment with the API. It is also possible, and a common scenario, to create API tests in Postman, Hoppscotch (etc.) and use them for unit tests in production / enterprise grade applications.
// EDIT (to put my comment into the proposal):
Another thing that I just noticed is that frontend devs would not need an admin account to see the database model when a spec file is exposed. In many cases, this could be an important point for bigger teams.
Final statement
I think adding an autogenerated OpenAPI specification endpoint would just bring advantages to the users. It does not have to be used, but the possibilities that OpenAPI brings are huge (CI integration, unit tests, reliability checks, postman integration, autocomplete in libraries, etc.)
I understand that the implementation would need some effort, but once it's done, I don't think it needs to be updated often.

Just something I found, but I never used it: https://github.com/swaggo/echo-swagger
This library claims to automatically generate a Swagger specification for the echo framework. Maybe this could help implementing this feature :)

i really like this idea 👍

especially the autocomplete feature would help our frontend devs

Another thing that I just noticed is that frontend devs would not need an admin account to see the database model when a spec file is exposed. In many cases, this could be an important point for bigger teams.

Personally I don't find the generated swagger client very useful, but since this seems to be a common request, I have added it to the roadmap, but for now it is placed after the planned migration improvements and filters enhancements (IN operator(s) and multi-rels match support).
My main concern is the maintenance cost that may come with this but maybe @MarvinJWendt is right and it will not be too hard to keep it up-to-date with future changes.

+1

+1

+1

I'm interested in this too! I'm trying to scaffold a pocketbase schema from one specified in OpenAPI / Swagger.
Until it or something adjacent is supported (like JSON Schema), my options are:

manually mirror the schema in admin UI – lots of time + clicking, error-prone
learn Go, study Pocketbase's source to manually work with SQLite – very time-consuming, brittle, API will likely change, such as reserved attributes on table fields
write a transformer that converts OpenAPI / Swagger to the experimental API within pb_migrations/ – time-consuming, brittle, API will likely change

@ganigeorgiev – in addition to client/server type safety, supporting OpenAPI would allow one to bootstrap their pocketbase DB schema rapidly. Please consider it!

+1 great project 🙏

I see that the in the Admin Dashboard, there is a button "API Preview" that has all the information that is required to create an OpenAPI file. Do you think it can be reused?

Ok I am trying to do an approach with Swagger 2.0, because there is a plugin for the primary used echo server. I'll let you know when I'll open a PR by referencing this issue.

@ganigeorgiev Any updates about this ?

Nothing has changed and for now this still remains a low priority.
You can check the current tasks priorities in https://github.com/orgs/pocketbase/projects/2/views/1.

CI integration is a huge Use Case for Medium Size companies & Enterprise grade applications

+1

This is actually pretty difficult to do because the fields for the API are designed within the UI and can be updated which makes static generation impossible.
It would require some sort of middleware that queries the current endpoints, entities and maps them to the openAPI spec.

This is actually pretty difficult to do because the fields for the API are designed within the UI and can be updated which makes static generation impossible. It would require some sort of middleware that queries the current endpoints, entities and maps them to the openAPI spec.

It could be statically generated, every time the fields are modified. Just like migrations are generated the same way (if enabled).

+1

Working on Fuego (a Go framework that generates OpenAPI spec from source code), I've gained a lot of experience in dynamic OpenAPI generation (at start time), it might be a solution.
I'll try to do what I can here in the next weeks :)
Thank you @ganigeorgiev for this software, it's wonderful!

@EwenQuim keep in mind that for now https://github.com/pocketbase/pocketbase/discussions/4355 remains with highest priority and even if someone opens a PR for this I make no promise that I'll have the time to review it and merge it (see also the Contributing note).
Also note that this particular feature doesn't necessary need to be part of the repo and can be implemented as separate server-side "plugin"/library similar to the ones in the plugins dir.


docs/add-installation-guide

closes #7858
Summary
Added the upgrading uv section in README.  Added the  uv self update method and the pip install --upgrade uv method.

I think this is too much content, the readme needs to stay small. I wonder if we can fit a succinct version in the section above?

Thanks for review, @zanieb,
I will do it.

Hey @zanieb,
I made the README more concise.

@zanieb ,
review?


Add benchmarking script to measure throughput in CI

Add benchmarking script to measure throughput in CI. This gives some interesting insights into differences between PHP versions / HHVM.
Also, this serves as the basis for future performance improvements.

Very much approve of this and is a good plan, going to implement the same in filesystem :+1: ! :shipit:

:+1:


Make RPLs functional

This PR addresses two problems:

LR isn't correctly restored in __rpl_start leading to an endless loop or crash
wutmalloc calls MEMGetSizeForMBlockExpHeap on pointers returned from MEMAllocFromDefaultHeap for realloc. But the underlying heap is not an ExpHeap anymore. Thus any realloc call causes havoc.

I reworked wutmalloc to not assume any underlying heap implementation and instead add a header to each allocation to store the required information about size and alignment.
I also opted to add a canary value in the allocation header that is checked on each free/realloc operation. On corruption it will OSFatal(). I do believe that it's better to have controlled crashing with a message than to silently ignore it and crash further down the line. Even in release builds.
With these changes RPLs are functional. At least during my testing I have never encountered any problems.
On a side note, it may be wise to rename wut_malloc to wut_rpl_malloc in order to make it more clear that it's only used for RPLs. RPXs seem to use a custom sbrk based heap. If maintainers agree with this I can do a follow-up PR.

Worth mentioning without thinking about any implications yet:
wutmalloc is currently used by plugins/module in Aroma as well

On a side note, it may be wise to rename wut_malloc to wut_rpl_malloc in order to make it more clear that it's only used for RPLs. RPXs seem to use a custom sbrk based heap. If maintainers agree with this I can do a follow-up PR.

wutmalloc can be used by RPXs by overriding __preinit_user and calling __init_wut_malloc. This will cause wut_malloc.o to be linked in.

Is there any way we can fast path wutmalloc when the default heap is not overridden by the application, and avoid the overhead in that case?

We could add a boolean parameter to __init_wut_malloc which restores the old behavior of assuming ExpHeap. But then you have two separate code paths in every function so this feels a bit shoehorned.
I think a better approach would be to keep the original wut_malloc as-is and introduce wut_rpl_malloc specifically for the purpose of RPLs where the underlying heap implementation isn't known.

Superseded by #388


Dispose of webgl contexts

Now properly disposes of the webgl context when running test.
Issues I found (and hopefully fixed) while doing this:

Calling dispose on oll/layerWebGLTile parses the style again when the source is set to null. Updating the style when no source is set should be unnecessary.

the helper in ol/renderer/webgl/TileLayer may be undefined and calling dispose then caused an error.

the tileTextureCache should be cleared every time the helper is destroyed as the textures hold a reference to the helper.
https://github.com/openlayers/openlayers/blob/5fec74c089834caf4b269587ab75041a987863c3/src/ol/renderer/webgl/Layer.js#L186-L192

Thanks, @MoonE


TinfourDemo finds no ground points even they are there

When I open las file with classified ground points with TinfourDemo, it outputs an error:
Error loading tile_-235000_-1227000.las Source Lidar file does not contain samples for GroundPoints

I see that the ground points are present with QGIS:

I'm going to take a look at this tomorrow.  Is there any chance you can post the LAS file for me to look at?  (The LAZ file from your previous issue was a big help).

Sample file (please ungzip it before opening ;-)) https://drive.google.com/file/d/14FhA1AZeL0cqFZLTzUaTVvV_2-IuB-/view?usp=sharing
Note that the license of the file (and other I provided in previous issue) is mentioned at https://www.geoportal.sk/files/zbgis/objednavky/podmienky-poskytovania-pouzivania-produktov-lls.pdf (Slovak language only)

Thanks for the sample data.  The problem with the point classification was due to the fact that your file was in LAS version 1.4 format and used record type 6, which Tinfour did not support.  When I wrote the original Tinfour LAS file reader classes, I was unable to find any sample files in version 1.4 format.  So I was unable to test it using version 1.4 files.
Anyway, I am grateful to you for finding this problem and posting your sample data.
I have more testing to do. When it is finished, I upload the new code.

Code is updated to handle LAS format version 1.4.  Thank you for finding this issue.  Please let me know if you encounter any additional problems.


Add GeocoderViewModel.keepExpanded

Add GeocoderViewModel.keepExpanded, which when set to true will always keep the GeoCoder in its expanded state. This is useful in situations when the Gecoder is being used without other buttons and you want it to be more obvious.
CC @hpinkos

Looks great @mramato, thanks!


Adding Dockerfile and docker-compose.test.yml for testing inside docker-cloud.

This PR introduces a Dockerfile as well as a docker-compose.test.yml file which could be continuously executed by dockercloud (where we also have the codebuddies docker image) each time changes are introduced to the code via PR or commits.

Hi @nalbina

What's the overall goal of adding Docker?
What are the benefits that this can include within the project?

@angelocordon,
as i explained in the slack to you, this can be used to run the tests automatically on every push and grant the ability to run integration tess with codebuddies if those are necessary in the future.


Color

Hi, I know I am very new to programming and this must sound like a relly easy question, but I don't understand how to change the color for Titles. If you could explain, that would be really nice. Thanks!

Predefined options come with the template:

green
red
indigo
orange
monochrome

All you need to do is to add the color in the document class declaration with one of the previous one given\documentclass[localFont,alternative,<color>]{yaac-another-awesome-cv}.
For example you could use \documentclass[localFont,alternative,monochrome]{yaac-another-awesome-cv} for the monochrome version.


[REST] /user/login

Returns a list of stories according to search query.
Required Request content

STRING query Search query

Optional Request content

INT page Page of the results default 1
INT size Size of the page, default 10

Expected Response content

SearchResponse

The current function returns the stories which contains the query as a tag.
We should implement semantic search.
#134 should be completed before this issue.


Upgrade tonic, prost, otel to latest

Upgrade Tonic, Prost, OTel deps

What was changed
Updated dependencies
tonic - 0.12.x
prost - 0.13.x
otel - 0.24.x
Why?
To upgrade to hyper 1.x ecosystem
Checklist

Closes #626

How was this tested:

cargo test
cargo integ-test

To avoid mixing changes (Rust 1.80 clippy throwing lints)
cargo clippy --all -- -D warnings -A clippy::clone-on-copy

Any docs updates needed?
NA

Thanks for this! Glad the stuff is finally updated enough that everything can use the newer versions.
Looks like there is a clippy lint that needs to be fixed, and the functionality of the connection override needs to be restored.

There are lot of clippy lints about clone-with-copy, should I fix this in this PR?

Thanks for this! Glad the stuff is finally updated enough that everything can use the newer versions.
Looks like there is a clippy lint that needs to be fixed, and the functionality of the connection override needs to be restored.

There are lot of clippy lints about clone-with-copy unrelated to these updates, should I fix this in this PR? I can put up another separate PR along with this.

At least this one looks related, looks like the timestamp type became copyable and hence is triggering this now. If there are also other, unrelated ones, fixing them in this PR is totally fine.

Thanks for this! Glad the stuff is finally updated enough that everything can use the newer versions.
Looks like there is a clippy lint that needs to be fixed, and the functionality of the connection override needs to be restored.

There are lot of clippy lints about clone-with-copy unrelated to these updates, should I fix this in this PR? I can put up another separate PR along with this.

At least this one looks related, looks like the timestamp type became copyable and hence is triggering this now. If there are also other, unrelated ones, fixing them in this PR is totally fine.

Done fixed


New features and translations

New features:

Support for anonymous LDAP binding
Support for gettext() translations in websutil.py and services.py
GWT: Display message when no solutions have been submitted (instead of displaying an empty table)

Language translations:

Proper gettext() translations for English and Romanian
French translations for GWT and gettext() strings (credit to Laurent Bindschaedler<EMAIL_ADDRESS>
NOTE: This is a first crack at using .po translation files, generated with xgettext. If anyone has more experience with this, please check the correctness of the approach.

Hello, this is a valuable contribution to us and I suggest you join ROSEdu Challenge and have a chance to win prizes.


Invalid abapdoc?

Hi,
When activating abapGit standalone, the editor gives the following warnings regarding the abapdoc,
ref https://help.sap.com/doc/abapdocu_752_index_htm/7.52/en-us/abendoccomment.htm
750 SP0022 and 750 SP0006
seems okay on 754 SP0002
https://help.sap.com/doc/abapdocu_754_index_htm/7.54/en-US/abennews-752-abap_doc.htm
guess there is a SAP note to downport the logic to 750 and 702?

Actions:

strip abapdoc comments in https://github.com/abapGit/aff_mirror, perhaps replace with a reference to this repository
consider if its worth changing https://github.com/SAP/abap-file-formats/blob/main/abaplint.jsonc#L13
@schneidermic0 to check for SAP notes

Maybe I can take oder the deletion of AbapDoc in the mirror repository. Some des magic should do it

Action 1 is implemented, see https://github.com/abapGit/aff_mirror/pull/53

@schneidermic0 to check for SAP Notes
I will check whether there is a SAP Note.


Added delete all context option on kubectx

I am not convinced others need this feature.
Why don’t you just do this: kubectx | xargs kubectx -d
Also please send proposals first before going the troubles of implementing it.

Apologies I'm not aware that I can do it that way.
Though my real reason on why I did added the feature was I want to delete all of my context except for one(minikube).
Sure, will send a proposal next time.

Yeah I think for that you'd do
kubectx | grep -v minikube | xargs kubectx -d

it would be good to use UNIX composability rather than implementing features.

Being said that I don't see the need of this for feature if you can do it that way then.


Expose es_key arg on recording interfaces where needed

Pretty simple changes - found these three BaseRecordingExtractorInterface subclasses where es_key is not exposed to users in the __init__ function and added them back in

@felixp8 Thanks, good catch. Can you add a CHANGELOG entry for this?


GUACAMOLE-980: used tomcat-jre8 Docker-Image seems to be deprecated

@mike-jumper @benrubson @necouchman - Reference to PR: https://github.com/apache/guacamole-client/pull/485


Events, commands, messages..

Examples in the readme focus on publishing events. This makes sense given the project name..
However, if I would be interested in queueing of commands (JustDo) inside of a component (for example; CancelOrder), is there a way to achieve this using JustSaying?
How does JustEat handle these scenarios? Or do they just publish a command, and don't care that it becomes an SNS topic and could be subscribed to by more than one component?

@JefClaes great question!
My understanding is that JustSaying was built primarily with pub/sub in mind, and we have an implementation of INamingStrategy in JustEat that gives us globally namespaced topics, and queues that include the component name. We do in places want and use commands, in that scenario we name the message type appropriately, so that it reads as an instruction, and ends in Command so that it's obvious, but you are right other components could subscribe to this. I found this post to be very useful regarding messaging semantics.
We also have the ability to publish straight to a queue, point-to-point, although I haven't come across where this has been used.
I have been giving this some thought over the last few weeks. Other similar libraries have a Publish method for events and a Send method for Commands. We could then on the consumer side both listen to events, and handle commands, in practice there is no difference it's all just sending messages and semantics.
However one of the bits I love most about this library is its simplicity, there is a trade off between simplicity and having a flexible api where you can make it do exactly what you need, or event a fuller api that lets you better express your intent and accounts for every possible scenario you might want to express (for example, see this post which is directed pretty much at this library)
That's my thoughts, I'd like to hear others and are people interested in adding more messaging semantics to this library?

Point-to-point subscription is the closest thing to what you're after that JustSaying offers.
In point-to-point subscription, your publisher directly drops the message in subscriber's queue.
CreateMeABus
.InRegion(...)
.WithSqsMessagePublisher(...)

Yeah, the SQS publish was explicitly written in order to use JustSaying as a command bus. There's a post about it here: https://tech.just-eat.com/2014/11/26/outsourcing-troublesome-tasks-to-an-ec2-worker 😉

Thanks for the quick reply everyone!
I had looked into the point-to-point subscription but couldn't get it to work at first. Anyways, a second try (knowing I was on the right track), it works as expected.
@slang25 I have experience with NServiceBus and its opinionated API, so I have also gotten used to the Send and Publish semantics as well.. TBH I've settled on making two instances of the bus (eventBus/commandBus) which carries enough semantic meaning for now.
Consider this issue closed :+1:


Add "alternative matches" item to normalization endpoint response

The normalization endpoint returns a single merged record, but it should also provide a list of merge IDs to other possible matches, if there are any. This would include any distinct merged groups that come up at the same MatchType level (should only apply to Label/TradeName, and to Alias).
We should also capture every time this happens in the logs under WARNING.
We also want to run a big analysis to get an idea of where/how often this could happen.

Should we also add this to the list of warnings for a given query?

Should we also add this to the list of warnings for a given query?


Integrate Mixpanel

Integrate mixpanel for this project
Create a wrapper function which will be called for any event tracking, so we're decoupling the logic of tracking event + sending the event to a service
The wrapper function should take event name and payload as arguments

Guidelines for analytics: https://github.com/Real-Dev-Squad/docs/blob/main/docs/analytics.md


Watermarks in Stream Processing Systems: Semantics and Comparative Analysis of Apache Flink and Google Cloud Dataflow / Tyler Akidau

URL:
https://vldb.org/pvldb/vol14/p3135-begoli.pdf
Review (1-2 sentences):
A new white paper from Tyler Akidau (author of the very cool book "Streaming Systems") where they compare watermarks in different aspects in d Google Cloud Dataflow and Apache Flink. Even if you don't work with I think this white paper deserves your time.
Watermarks represent the temporal completeness of an out-of-order data stream. Reasoning about the completeness of infinite streams is one of the most critical challenges faced by stream processing systems. It’s also one of the least understood and least adequately addressed compared to other approaches for dealing with the completeness of unbounded data streams.

Published in Digest #19.


Support build with dockerx in Makefile

What
This PR supports building multi architecture docker image.
Docker buildx command is experimenal. Your topolvm developers have a choice to whether merge or no.
For your information:

<EMAIL_ADDRESS>https://www.docker.com/blog/multi-arch-images/

How to build (for example)
Before this, docker experimental flag and target QEMU command (userland mode) are needed.
docker buildx create --name mybuilder
docker buildx use mybuilder
make image-multiarch

Image example: https://hub.docker.com/repository/docker/onokatio2/topolvm/tags
Status
Supported:

amd64
arm64
powerpc 64

No supported:

arm v7
386

(Because 32bit architectures are not supported in driver/node.go )
Depends
#215

Hi, @onokatio
We have no plan to test and support TopoLVM for arm64 or ppc64 environment. We will merge this PR if you can test and support those environments continuously.
Could you contribute to this project?

@llamerada-jp Sure.
Does your 'test' means run in kubernetes cluster?

@onokatio
We test topolvm for amd64 in e2e manner on github action continuously.
To support ARM or ppc, we want you to test topolvm in some environment (cloud, on-premise or etc) for all PRs.
Could you do that?
P.S. We can not support non-amd64 environment, we want you to tackle any issues related to ARM or PPC too.

@llamerada-jp
OK. I have arm64 kubernetes cluster so I can test about e2e on arm64. So if I want, it is able to test for All PRs which arm related and no related.
(But no ppc cluster, so I'll remove ppc support.)
For automated test, github actions can run with arm64 environment. But it uses github actions bucket (it is free up to 2000 minute / month).
May I enable arm64 test ? Or should I test in my local cluster?

Sorry I missed to say. In #217 , Also build mulch architecture images action was added to with no your confirm.
It takes long time to build. Is it OK ? or recommend to remove ?
(My apologize about another topic)

It is no problem to add build multi architecture build.
This is necessaly to support ARM or others.
(I found a possible typo mulch, do you mean multi?)

That's great that you can test the project in ARM!
I think automated test is better.
BTW, I don't know github supports ARM on their own infrastructure, they say we should use self-hosted runner.
https://github.blog/changelog/2019-12-03-github-actions-self-hosted-runners-on-arm-architectures/

@toshipp
Umm... I don't know that. So first I'll try QEMU userland emulation. How do you think? Can I or devs bring any actions server?

@onokatio
I agree that using qemu is a good first step.
I have not used a self-hosted runner, however, github recommends do not use it for a public repository.
https://docs.github.com/en/free-pro-team@latest/actions/hosting-your-own-runners/about-self-hosted-runners#self-hosted-runner-security-with-public-repositories
If you don't worry about that, we could add your resources.

@onokatio
I internally discuss adding a self-hosted runner with my colleague,
some potential security issues may exist.
To advance this PR, Could you run and check our e2e test with arm image in your environment manually?

In my opinion, the best way to support ARM64 build in CI seems to run self-hosted runner on
AWS Graviton just like Envoy does.
The problem here is who will pay the costs and how many TopLVM users want to use the ARM64 image.
I'd suggest leaving this open and waiting for more feedbacks.

I found that TravisCI provides ARM64 natively for open source projects.
https://docs.travis-ci.com/user/multi-cpu-architectures/

There is now the Docker's official GitHub Action to build and push a multi-platform image.
https://www.docker.com/blog/docker-v2-github-action-is-now-ga/

@toshipp @ymmt2005 Thanks your replies both. Sorry for my late responce.
So from now I'm going to do below:

Run e2e test manually in my environment.
Setup github action's multi stage function (https://github.com/topolvm/topolvm/pull/217#issuecomment-717577059)
Write test automated test code with 2.

Is this OK?

@onokatio
I would recommend using TravisCI as well as ymmt2005. It's good because when a PR is thrown to TopoLVM, we'll know instantly if PR works on ARM or not.
Could you tell me if there is anything that concerns you?

@onokatio
Sorry for the difference in what I said the other day.
Worried about using TravisCI by the following article.
https://xuwei-k.hatenablog.com/entry/2020/11/04/161400
I'm thinking about using Github Actions like below.
https://github.com/uraimo/run-on-arch-action

あなた達やコミュニティの人達で計画が決定すれば教えてください。
私はそれまでこのプルリクエストをオープンにしたままにします。
何か指示があれば私はそれを実装するので遠慮なく言ってください。

Let me know if you guys or people in the community decide on a plan.
I'll leave this pull request open until then.
If you have any instructions, please feel free to tell me as I will implement them.

We have no plan yet.
However, we found a pattern of errors that cannot be detected by user-mode emulation or dockerx, but may occur on the actual machine. Therefore, we need to find a way to test it either on the actual machine or in a full emulation environment.
see https://github.com/topolvm/topolvm/issues/232

https://circleci.com/blog/managing-ci-cd-pipelines-with-arm-compute-resource-classes/
CircleCI will provide ARM-based instance.


Label customization in Columns Settings and Filter menus

Feature request type
Enhance component
Component name
MudDataGrid
Is your feature request related to a problem?
When using the MudDataGrid component, some labels related to the menus are currently only available in English. I would like to present my users with labels in their language.

Further, the column selection dropdown in the filter menu uses the field name, not the field title, which can be confusing for users.

Describe the solution you'd like

I would like to be able to customize all text used for field labels, buttons, menu items, etc.
I would like the column selector dropdown in the filter menu to use the field titles, not the field names.

Have you seen this feature anywhere else?
No response
Describe alternatives you've considered
No response
Pull Request

[ ] I would like to do a Pull Request

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Resolved by #7024


Different version of React used with installed modules

We're using two different instances of React - one in the widget via idomClientReact.mountLayout and the other inside any user-installed modules (e.g. material-ui). This is the same issue we found in idom-dash: https://github.com/idom-team/idom-dash/issues/6

Closed by: https://github.com/idom-team/idom-jupyter/commit/4389d46f64270a5780c2c90bc852782e06caee26
Release containing this fix will happen soon.


Npm publish new version

Can you please publish a new NPM version for the below issue.
#101 #102 #107

ping @pleerock - he is very busy in TypeORM right now 😉

@pleerock please :)

@pleerock can you please publish a new version

Please publish a new version on npm, the IsOptional behaviour should be really updated :-)

I made a new publish, sorry for the delay.


Remove mute duration limits from automod v2

mute limits should be also removed from automod v2 to be in sync with current changes.

Keep min at 1

0 should be okay as discussed.


Move galaxy deps into the requirements file

Best practice to avoid deps mismatches, and where version and source can be specified easily.
https://docs.ansible.com/ansible/latest/galaxy/user_guide.html#install-multiple-collections-with-a-requirements-file

@jseguillon

community.crypto
community.kubernetes

Are they actually used? I don't any reference.

@jseguillon

community.crypto
community.kubernetes

Are they actually used? I don't any reference.

Hi Leo ! Thanks for the PR.
I'm getting into trouble for validating this change because I can't checkout your banch locally.
Attaching "strange" screenshot showing I can't access your fork

Hi Leo ! Thanks for the PR.
I'm getting into trouble for validating this change because I can't checkout your banch locally.
Attaching "strange" screenshot showing I can't access your fork

@jseguillon Indeed, I've deleted my repository. But you can always fetch a PR head by doing the following:
git fetch origin refs/pull/4/head:pr/4
git checkout pr/4

(where 4 is the PR number and pr/4 a local branch name of your choice)

@jseguillon Indeed, I've deleted my repository. But you can always fetch a PR head by doing the following:
git fetch origin refs/pull/4/head:pr/4
git checkout pr/4

(where 4 is the PR number and pr/4 a local branch name of your choice)

wow thanks for the hint ! exactly what I was looking for 👍

wow thanks for the hint ! exactly what I was looking for 👍


Post Effects on camera affects canvas resizing.

Having FXAA shader as post effect on Camera, screws up resizing of canvas, adding weird stretching and delay before resize applies. Try resizing window running the demo, or changing orientation on mobile.
Script causing issue: http://code.playcanvas.com/posteffects/posteffect_fxaa.js
Demo to replicate: http://playcanvas.com/max/post-effect-resize-issue/designer/bootstrap?e=d996a0e2-7fbf-11e4-9f8e-12313b0a5ec6
If you disable scripts on camera, or remove fxaa shader, issue vanishes.
Other shaders seems not suffering of such symptoms.

Fixed in https://github.com/playcanvas/engine/pull/807


PLStream Dictionary for Wowza Server

NSDictionary *streamJSON  =     @{@"id": @"live",
@"title": @"Sample",
@"hub": @"live",
@"publishKey": @"publish_key",
@"publishSecurity": @"dynamic", // or static
@"disabled": @(NO),
@"profiles": @[@"480p", @"720p"],    // or empty Array []
@"hosts": @{
@"publish": @{
@"rtmp": @"xx.xx.xx.xx:1935"
}
}
                                  };

Is it right configurations for Wowza server.
Thanks,
Chinna

@chinnasamymca did that work out for you ?

No, I have not tested. How about you ?
Sent from my iPhone

On 15-Nov-2015, at 3:30 AM, shubhank008<EMAIL_ADDRESS>wrote:
@chinnasamymca did that work out for you ?
—
Reply to this email directly or view it on GitHub.

streaming to pili server only.


Compilation fails on Alpine 3.9 with OpenSSL 1.1

  CC(target) out/Release/obj.target/grpc_core/third_party/grpc/src/src/core/lib/security/credentials/oauth2/oauth2_credentials.o
third_party/grpc/src/src/core/lib/security/credentials/jwt/jwt_verifier.c: In function 'pkey_from_jwk':
third_party/grpc/src/src/core/lib/security/credentials/jwt/jwt_verifier.c:498:10: error: dereferencing pointer to incomplete type 'RSA' {aka 'struct rsa_st'}
       rsa->n =
          ^~
make[1]: *** [third_party/grpc/grpc_core.target.mk:560: out/Release/obj.target/grpc_core/third_party/grpc/src/src/core/lib/security/credentials/jwt/jwt_verifier.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make: *** [Makefile:209: build_libraries] Error 2

Probably just need to update GRPC https://github.com/grpc/grpc/issues/10589

I tried to compile <IP_ADDRESS>, I get the following errors:
  AR(target) out/Release/obj.target/net/instaweb/libgraphs_js_opt.a
  AR(target) out/Release/obj.target/net/instaweb/libgraphs_js_dbg.a
third_party/serf/instaweb_ssl_buckets.c: At top level:
third_party/serf/instaweb_ssl_buckets.c:408:19: error: storage size of 'bio_bucket_method' isn't known
  408 | static BIO_METHOD bio_bucket_method = {
      |                   ^~~~~~~~~~~~~~~~~
third_party/serf/instaweb_ssl_buckets.c:423:19: error: storage size of 'bio_file_method' isn't known
  423 | static BIO_METHOD bio_file_method = {
      |                   ^~~~~~~~~~~~~~~
  AR(target) out/Release/obj.target/net/instaweb/libmessages_js_dbg.a
  AR(target) out/Release/obj.target/net/instaweb/libmessages_js_opt.a
make[1]: *** [third_party/serf/serf.target.mk:346: out/Release/obj.target/serf/third_party/serf/instaweb_ssl_buckets.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make: *** [Makefile:209: build_libraries] Error 2

looks like ssl issue as well

I was googling this issue and stumbled upon this discussion<EMAIL_ADDRESS>It seems the problem is that the latest serf release was in 2016 so it doesn't fully support openssl 1.1. A guy from apache recommends to use version 1.4, it says it quite stable


if then else expressions

Allows expressions of the form:
Boolean b = ...

Int memory = if b then "2GB" else "5GB"
String docker = if b then "ubuntu:latest" else "my:docker"

don't forget to update the spec

And the changelog :)
On Sun, Mar 26, 2017, 19:01 Jeff Gentry<EMAIL_ADDRESS>wrote:

don't forget to update the spec
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/broadinstitute/wdl/pull/100#issuecomment-289323742,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACSMSyCxFbHbETCnBSfWFj7Mgk2gmOiLks5rpu5egaJpZM4Mpnw4
.

@knoblett and @vdauwera there are updates to the Spec, looks good to me but it would be great to get your review too.

👍

👍


🚀 Feature: Factor in semantic PR titles

Bug Report Checklist

[X] I have tried restarting my IDE and the issue persists.
[X] I have pulled the latest main branch of the repository.
[X] I have searched for related issues and found none that matched my issue.

Overview
Right now, all contributions based on PRs are calculated through the issues linked to those PRs:
https://github.com/JoshuaKGoldberg/all-contributors-for-repository/blob/f72cb488dad0a7acbd8e2f1f409ef6153aeadfcd/README.md?plain=1#L56-L61
But there are likely events that can be gleaned from just the PR title! PRs that adhere to conventional commit title (e.g. docs: ...) should be factored in for the corresponding allcontributors types.
Let's have this package also check titles of merged PRs.
Additional Info
We already see that PRs are merged with a mergedPulls variable, and in fact assume the PR is always :code::
https://github.com/JoshuaKGoldberg/all-contributors-for-repository/blob/f72cb488dad0a7acbd8e2f1f409ef6153aeadfcd/src/collect/index.ts#L40-L41
So I suppose this PR is really about checking whether the PR involves a contribution type other than :code: instead.

Doing a bit of research - the Angular convention (used in my templates) has this list of types:

build: Changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm)
ci: Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs)
docs: Documentation only changes
feat: A new feature
fix: A bug fix
perf: A code change that improves performance
refactor: A code change that neither fixes a bug nor adds a feature
style: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)
test: Adding missing tests or correcting existing tests

https://www.conventionalcommits.org/en/v1.0.0/#summary -> https://github.com/angular/angular/blob/22b96b9/CONTRIBUTING.md#type


Duplicate versions in transitive dependencies

When adding google-cloud-datastore as a dependency, it drags in a lot of different versions of the same libraries.
Example:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>test</groupId>
    <artifactId>google-dependency-test</artifactId>
    <version>1.0-SNAPSHOT</version>

    <dependencies>
        <dependency>
            <groupId>com.google.cloud</groupId>
            <artifactId>google-cloud-datastore</artifactId>
            <version>1.20.0</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-enforcer-plugin</artifactId>
                <executions>
                    <execution>
                        <id>enforce</id>
                        <configuration>
                            <rules>
                                <dependencyConvergence/>
                            </rules>
                        </configuration>
                        <goals>
                            <goal>enforce</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>

When using maven-enforer-plugin, it will fail the build on duplicate versions and log which ones have duplicates.
Output from this is attached here: output.txt
Should this be fixed?

No, this is not something we can really fix, because it requires the Java open source entire world to have a consistent state. I recommend using <requireUpperBoundDeps/> instead, which will get you the same result but will only fail when maven is making the wrong choice.


Bridging header not working, I have to import it in every swift file

Hi, I'm new with swift.
I installed SVProgressHUD by cocoapods, with use_framework
This is my bridging header
#ifndef Header_h //bridge
#define Header_h
#import <Google/SignIn.h>
#import <SVProgressHUD/SVProgressHUD.h>
#import <SDWebImage/UIImageView+WebCache.h>
#endif /* Header_h */
This is my code in a viewController.swift file
        SVProgressHUD.show()
        UIImageView.init().sd_setImage(with: URL.init(string: "111"))
sadly it gave me unresolved identifier 'SVProgressHUD' error, while SDWebImage is working fine.
I could solve this by adding
import SVProgressHUD
in the beginning of my swift file, that means I'll have to import it over and over for every swift file. Also when i import this it is having a red strikethrough for SVProgressHUD.
Is anyone having the same problem?

The swift version is 3

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '9.0'
use_frameworks!
target 'SkillTagzApp' do
pod 'Alamofire', '~> 4.4'
pod 'MQTTClient'
pod 'SDWebImage', '~>3.8'
pod 'SVProgressHUD', :git => 'https://github.com/SVProgressHUD/SVProgressHUD.git'
pod 'GoogleMaps'
pod 'GooglePlaces'
pod 'GooglePlacePicker'
pod 'RSKImageCropper'
pod 'MJRefresh'
pod 'Google/SignIn'
pod 'FacebookCore'
pod 'FacebookLogin'
pod 'FacebookShare'
end
This is what I installed

I believe this is a normal occurrence. However, there is a way around it. Since SVProgressHUD lives in the view layer of your application you can create an extension for UIViewController in a separate swift file and import SVProgressHUD into that file. Then you can create a function for example: func showErrorWith(title: String) and have SVProgressHUD take that parameter from within that function's body. That way you can call those functions on any viewController, and not have to worry about importing SVProgressHUD into every UIViewController or subclass of UIViewController.


Add support for enterprise runners

readme currently says Enterprise level runners are not working yet as there's no API definition for those.
However, that is not true anymore. APIs are published and can be seen in https://docs.github.com/en/rest/reference/enterprise-admin#create-a-registration-token-for-an-enterprise for instance

I think the biggest issue with developing this is testing, if someone who has an enterprise account can offer their time and env to test I'm sure it could be done @mumoshu

@callum-tait-pbx I have environment which has GHE with these features. It seems that I need first start implementing stuff to google/go-github repo, its missing functions

https://github.com/google/go-github/pull/1789


docs: Fix link to the contributing guide document

CONTRIBUTING.md has a link to the contributing guide but it's wrong path.

[x] Docs
[ ] Tests

Thanks for opening this PR! 🙏
However, I'm going to close this as this is already fixed by #7191


feat(filter): Implement underfunded

GitHub Issue (if applicable): #2970
Adds underfunded keyword to category filter to easily search for underfunded goal categories.

might be a better idea to hide just the master categories that have all hidden subcategories versus hiding all master categories? personally, i'd rather have the master categories and have nothing under them versus not having them at all.
i think in general the filter feature could be improved, but that's out of scope of this.


Update -strict-concurrency help text

The value explicit for the -strict-concurrency compiler option was changed to minimal during the original addition of the option.

@swift-ci please smoke test

@ktoso @DougGregor Can we get this merged?

LGTM but let me double check that 🤔

@swift-ci please smoke test and merge


<EMAIL_ADDRESS>hash check failed

ERROR Hash check failed!
App:         extras/snappy-driver-installer-origin
URL:         https://www.glenn.delahoy.com/downloads/sdio/SDIO_<IP_ADDRESS>6.zip
First bytes: 50 4B 03 04 0A 00 00 00
Expected:    d7f79d5e91d5ecc9845aaf38fd72df520e956a718180cba9debdf3580897b7b9
Actual:      10b01a1aa0bc69b5a75c1def9cedaa9846a5fa421a160afac7ff95cd7a46c083

Fixed by #13770.


Present on related links gathered from reltable if they are bidirectional or not

Maybe some kind of tooltip like "Bidirectional link to: ..." if we have links from the source to the target but also from the target to the source

Or some kind of special icon or text like <-> presented next to the file name.


running with VoiceOver turned on: a black rectangle shows up

while testing #74320 (exploration build) on macOS:

enable VoiceOver
activate a text editor
press "arrow up" or "arrow down" key

Observe:
a black rectangle shows up at the top of the editor:

I've compared this behavior with Insiders and Stable, and the problem already exists there.

I think that is some VoiceOver feature. On my machine, I see the rectangle around the entire window:


Travis CI timeouts

Mocha has an inherent timeout of 2 seconds, I think we should bump this up since we're writing tests with network requests that cause lag.

Closing because it's already been completed.


Flaky test: RequestsCanBeAbortedMidRead

09:41:50   [xUnit.net 00:00:46.55]     RequestsCanBeAbortedMidRead(listenOptions: http://<IP_ADDRESS>:0) [FAIL]
09:41:50   Failed   RequestsCanBeAbortedMidRead(listenOptions: http://<IP_ADDRESS>:0)
09:41:50   Error Message:
09:41:50    System.TimeoutException : The operation at /_/test/shared/TaskTimeoutExtensions.cs:12 timed out after reaching the limit of 30000ms.
09:41:50   Stack Trace:
09:41:50      at Microsoft.AspNetCore.Testing.TaskExtensions.TimeoutAfter[T](Task`1 task, TimeSpan timeout, String filePath, Int32 lineNumber)
09:41:50      at Microsoft.AspNetCore.Server.Kestrel.FunctionalTests.RequestTests.RequestsCanBeAbortedMidRead(ListenOptions listenOptions) in /_/test/Kestrel.Transport.FunctionalTests/RequestTests.cs:line 661
09:41:50   --- End of stack trace from previous location where exception was thrown ---
09:41:50   Standard Output Messages:
09:41:50    | [0.000s] TestLifetime Information: Starting test RequestsCanBeAbortedMidRead-http://<IP_ADDRESS>:0 at 2018-09-06T16:41:19
09:41:50    | [0.001s] Microsoft.AspNetCore.Hosting.Internal.WebHost Debug: Hosting starting
09:41:50    | [0.003s] Microsoft.AspNetCore.Hosting.Internal.WebHost Debug: Hosting started
09:41:50    | [0.003s] Microsoft.AspNetCore.Hosting.Internal.WebHost Debug: Loaded hosting startup assembly Libuv.FunctionalTests, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=adb9793829ddae60
09:41:50    | [0.003s] Microsoft.AspNetCore.Server.Kestrel Debug: TestServer is listening on port 40666
09:41:50    | [0.003s] Microsoft.AspNetCore.Server.Kestrel Debug: Connection id "0HLGK2U58SPF9" started.
09:41:50    | [0.004s] Microsoft.AspNetCore.Hosting.Internal.WebHost Information: Request starting HTTP/1.1 POST http:///  5
09:41:50    | [0.005s] Microsoft.AspNetCore.Server.Kestrel Debug: Connection id "0HLGK2U58SPF9" completed keep alive response.
09:41:50    | [0.005s] Microsoft.AspNetCore.Hosting.Internal.WebHost Information: Request finished in 0.3423ms 200
09:41:50    | [0.005s] Microsoft.AspNetCore.Server.Kestrel Debug: Connection id "0HLGK2U58SPF9", Request id "0HLGK2U58SPF9:00000001": started reading request body.
09:41:50    | [0.005s] Microsoft.AspNetCore.Server.Kestrel Debug: Connection id "0HLGK2U58SPF9", Request id "0HLGK2U58SPF9:00000001": done reading request body.
09:41:50    | [0.005s] Microsoft.AspNetCore.Server.Kestrel Information: Connection id "0HLGK2U58SPF9", Request id "0HLGK2U58SPF9:00000001": the application completed without reading the entire request body.
09:41:50    | [0.051s] Microsoft.AspNetCore.Hosting.Internal.WebHost Information: Request starting HTTP/1.1 POST http:///  5
09:41:50    | [0.052s] Microsoft.AspNetCore.Server.Kestrel Debug: Connection id "0HLGK2U58SPF9", Request id "0HLGK2U58SPF9:00000002": started reading request body.
09:41:50    | [0.052s] Microsoft.AspNetCore.Server.Kestrel Information: Connection id "0HLGK2U58SPF9", Request id "0HLGK2U58SPF9:00000002": the application aborted the connection.
09:41:50    | [0.052s] Microsoft.AspNetCore.Server.Kestrel Debug: Connection id "0HLGK2U58SPF9" disconnecting.
09:41:50    | [0.052s] Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv Debug: Connection id "0HLGK2U58SPF9" sending FIN.
09:41:50    | [0.052s] Microsoft.AspNetCore.Server.Kestrel Debug: Connection id "0HLGK2U58SPF9", Request id "0HLGK2U58SPF9:00000002": done reading request body.
09:41:50    | [0.053s] Microsoft.AspNetCore.Server.Kestrel Error: Connection id "0HLGK2U58SPF9", Request id "0HLGK2U58SPF9:00000002": An unhandled exception was thrown by the application.
09:41:50    | System.Threading.Tasks.TaskCanceledException: The request was aborted ---> Microsoft.AspNetCore.Connections.ConnectionAbortedException: The connection was aborted by the application.
09:41:50    |    at System.IO.Pipelines.PipeCompletion.ThrowLatchedException()
09:41:50    |    at System.IO.Pipelines.Pipe.GetReadResult(ReadResult& result)
09:41:50    |    at System.IO.Pipelines.Pipe.GetReadAsyncResult()
09:41:50    |    at Microsoft.AspNetCore.Server.Kestrel.Core.Adapter.Internal.RawStream.ReadAsyncInternal(Memory`1 destination) in /_/src/Kestrel.Core/Adapter/Internal/RawStream.cs:line 145
09:41:50    |    at Microsoft.AspNetCore.Server.Kestrel.Core.Adapter.Internal.AdaptedPipeline.ReadInputAsync(Stream stream) in /_/src/Kestrel.Core/Adapter/Internal/AdaptedPipeline.cs:line 170
09:41:50    |    at System.IO.Pipelines.PipeCompletion.ThrowLatchedException()
09:41:50    |    at System.IO.Pipelines.Pipe.GetReadResult(ReadResult& result)
09:41:50    |    at System.IO.Pipelines.Pipe.GetReadAsyncResult()
09:41:50    |    at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.Http1MessageBody.PumpAsync() in /_/src/Kestrel.Core/Internal/Http/Http1MessageBody.cs:line 130
09:41:50    |    at System.IO.Pipelines.PipeCompletion.ThrowLatchedException()
09:41:50    |    at System.IO.Pipelines.Pipe.GetReadResult(ReadResult& result)
09:41:50    |    at System.IO.Pipelines.Pipe.GetReadAsyncResult()
09:41:50    |    at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.MessageBody.CopyToAsync(Stream destination, CancellationToken cancellationToken) in /_/src/Kestrel.Core/Internal/Http/MessageBody.cs:line 86
09:41:50    |    at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpRequestStream.CopyToAsyncInternal(Stream destination, CancellationToken cancellationToken) in /_/src/Kestrel.Core/Internal/Http/HttpRequestStream.cs:line 157
09:41:50    |    --- End of inner exception stack trace ---
09:41:50    |    at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpRequestStream.CopyToAsyncInternal(Stream destination, CancellationToken cancellationToken) in /_/src/Kestrel.Core/Internal/Http/HttpRequestStream.cs:line 161
09:41:50    |    at Microsoft.AspNetCore.Server.Kestrel.FunctionalTests.RequestTests.<>c__DisplayClass18_0.<<RequestsCanBeAbortedMidRead>b__2>d.MoveNext() in /_/test/Kestrel.Transport.FunctionalTests/RequestTests.cs:line 619
09:41:50    | --- End of stack trace from previous location where exception was thrown ---
09:41:50    |    at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.ProcessRequests[TContext](IHttpApplication`1 application) in /_/src/Kestrel.Core/Internal/Http/HttpProtocol.cs:line 542
09:41:50    | [0.055s] Microsoft.AspNetCore.Hosting.Internal.WebHost Information: Request finished in 3.7932ms 0
09:41:50    | [0.055s] Microsoft.AspNetCore.Server.Kestrel Debug: Connection id "0HLGK2U58SPF9" stopped.
09:41:50    | [0.059s] Microsoft.AspNetCore.Hosting.Internal.WebHost Debug: Hosting shutdown
09:41:50    | [30.060s] TestLifetime Information: Finished test RequestsCanBeAbortedMidRead-http://<IP_ADDRESS>:0 in 30.0590539s

This might be due to my changes to respect the cancellation token.
cc @halter73

Here's another trace from VSTS
 Failed   RequestsCanBeAbortedMidRead(listenOptions: http://<IP_ADDRESS>:0)
2018-09-06T18:54:15.6842196Z   Error Message:
2018-09-06T18:54:15.6844284Z    System.TimeoutException : The operation at /_/test/shared/TaskTimeoutExtensions.cs:12 timed out after reaching the limit of 30000ms.
2018-09-06T18:54:15.6859020Z   Stack Trace:
2018-09-06T18:54:15.6862195Z      at Microsoft.AspNetCore.Testing.TaskExtensions.TimeoutAfter[T](Task`1 task, TimeSpan timeout, String filePath, Int32 lineNumber)
2018-09-06T18:54:15.6862590Z      at Microsoft.AspNetCore.Server.Kestrel.FunctionalTests.RequestTests.RequestsCanBeAbortedMidRead(ListenOptions listenOptions) in /_/test/Kestrel.Transport.FunctionalTests/RequestTests.cs:line 661
2018-09-06T18:54:15.6865644Z   --- End of stack trace from previous location where exception was thrown ---
2018-09-06T18:54:15.6868004Z   Standard Output Messages:
2018-09-06T18:54:15.6871069Z    | [0.000s] TestLifetime Information: Starting test RequestsCanBeAbortedMidRead-http://<IP_ADDRESS>:0 at 2018-09-06T18:53:45
2018-09-06T18:54:15.6873431Z    | [0.004s] Microsoft.AspNetCore.Hosting.Internal.WebHost Debug: Hosting starting
2018-09-06T18:54:15.6876195Z    | [0.007s] Microsoft.AspNetCore.Hosting.Internal.WebHost Debug: Hosting started
2018-09-06T18:54:15.6878770Z    | [0.007s] Microsoft.AspNetCore.Hosting.Internal.WebHost Debug: Loaded hosting startup assembly Libuv.FunctionalTests, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=adb9793829ddae60
2018-09-06T18:54:15.6881592Z    | [0.007s] Microsoft.AspNetCore.Server.Kestrel Debug: TestServer is listening on port 3268
2018-09-06T18:54:15.6885674Z    | [0.008s] Microsoft.AspNetCore.Server.Kestrel Debug: Connection id "0HLGK581T2N09" started.
2018-09-06T18:54:15.6888070Z    | [0.009s] Microsoft.AspNetCore.Hosting.Internal.WebHost Information: Request starting HTTP/1.1 POST http:///  5
2018-09-06T18:54:15.6890465Z    | [0.030s] Microsoft.AspNetCore.Server.Kestrel Debug: Connection id "0HLGK581T2N09" completed keep alive response.
2018-09-06T18:54:15.6893240Z    | [0.030s] Microsoft.AspNetCore.Hosting.Internal.WebHost Information: Request finished in 21.5323ms 200
2018-09-06T18:54:15.6893578Z    | [0.030s] Microsoft.AspNetCore.Server.Kestrel Debug: Connection id "0HLGK581T2N09", Request id "0HLGK581T2N09:00000001": started reading request body.
2018-09-06T18:54:15.6897718Z    | [0.031s] Microsoft.AspNetCore.Server.Kestrel Debug: Connection id "0HLGK581T2N09", Request id "0HLGK581T2N09:00000001": done reading request body.
2018-09-06T18:54:15.6898142Z    | [0.032s] Microsoft.AspNetCore.Server.Kestrel Information: Connection id "0HLGK581T2N09", Request id "0HLGK581T2N09:00000001": the application completed without reading the entire request body.
2018-09-06T18:54:15.6898550Z    | [0.034s] Microsoft.AspNetCore.Hosting.Internal.WebHost Information: Request starting HTTP/1.1 POST http:///  5
2018-09-06T18:54:15.6902035Z    | [0.034s] Microsoft.AspNetCore.Server.Kestrel Debug: Connection id "0HLGK581T2N09", Request id "0HLGK581T2N09:00000002": started reading request body.
2018-09-06T18:54:15.6902422Z    | [0.035s] Microsoft.AspNetCore.Server.Kestrel Information: Connection id "0HLGK581T2N09", Request id "0HLGK581T2N09:00000002": the application aborted the connection.
2018-09-06T18:54:15.6902741Z    | [0.035s] Microsoft.AspNetCore.Server.Kestrel Debug: Connection id "0HLGK581T2N09" disconnecting.
2018-09-06T18:54:15.6903955Z    | [0.035s] Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv Debug: Connection id "0HLGK581T2N09" sending FIN.
2018-09-06T18:54:15.6904272Z    | [0.035s] Microsoft.AspNetCore.Hosting.Internal.WebHost Debug: Hosting shutdown
2018-09-06T18:54:15.6906485Z    | [0.035s] Microsoft.AspNetCore.Server.Kestrel Debug: Connection id "0HLGK581T2N09", Request id "0HLGK581T2N09:00000002": done reading request body.
2018-09-06T18:54:15.6906947Z    | [0.036s] Microsoft.AspNetCore.Server.Kestrel Error: Connection id "0HLGK581T2N09", Request id "0HLGK581T2N09:00000002": An unhandled exception was thrown by the application.
2018-09-06T18:54:15.6907412Z    | System.Threading.Tasks.TaskCanceledException: The request was aborted ---> Microsoft.AspNetCore.Connections.ConnectionAbortedException: The connection was aborted by the application.
2018-09-06T18:54:15.6907781Z    |    at System.IO.Pipelines.PipeCompletion.ThrowLatchedException()
2018-09-06T18:54:15.6908037Z    |    at System.IO.Pipelines.Pipe.GetReadResult(ReadResult& result)
2018-09-06T18:54:15.6908295Z    |    at System.IO.Pipelines.Pipe.GetReadAsyncResult()
2018-09-06T18:54:15.6908618Z    |    at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.Http1MessageBody.PumpAsync() in /_/src/Kestrel.Core/Internal/Http/Http1MessageBody.cs:line 45
2018-09-06T18:54:15.6911025Z    |    at System.IO.Pipelines.PipeCompletion.ThrowLatchedException()
2018-09-06T18:54:15.6911258Z    |    at System.IO.Pipelines.Pipe.GetReadResult(ReadResult& result)
2018-09-06T18:54:15.6911465Z    |    at System.IO.Pipelines.Pipe.GetReadAsyncResult()
2018-09-06T18:54:15.6911771Z    |    at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.MessageBody.CopyToAsync(Stream destination, CancellationToken cancellationToken) in /_/src/Kestrel.Core/Internal/Http/MessageBody.cs:line 86
2018-09-06T18:54:15.6912164Z    |    at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpRequestStream.CopyToAsyncInternal(Stream destination, CancellationToken cancellationToken) in /_/src/Kestrel.Core/Internal/Http/HttpRequestStream.cs:line 157
2018-09-06T18:54:15.6912472Z    |    --- End of inner exception stack trace ---
2018-09-06T18:54:15.6913074Z    |    at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpRequestStream.CopyToAsyncInternal(Stream destination, CancellationToken cancellationToken) in /_/src/Kestrel.Core/Internal/Http/HttpRequestStream.cs:line 161
2018-09-06T18:54:15.6913525Z    |    at Microsoft.AspNetCore.Server.Kestrel.FunctionalTests.RequestTests.<>c__DisplayClass18_0.<<RequestsCanBeAbortedMidRead>b__2>d.MoveNext() in /_/test/Kestrel.Transport.FunctionalTests/RequestTests.cs:line 619
2018-09-06T18:54:15.6913850Z    | --- End of stack trace from previous location where exception was thrown ---
2018-09-06T18:54:15.6914176Z    |    at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.ProcessRequests[TContext](IHttpApplication`1 application) in /_/src/Kestrel.Core/Internal/Http/HttpProtocol.cs:line 540
2018-09-06T18:54:15.6914491Z    | [0.037s] Microsoft.AspNetCore.Hosting.Internal.WebHost Information: Request finished in 3.1356ms 0
2018-09-06T18:54:15.6914764Z    | [0.038s] Microsoft.AspNetCore.Server.Kestrel Debug: Connection id "0HLGK581T2N09" stopped.
2018-09-06T18:54:15.6915034Z    | [30.055s] TestLifetime Information: Finished test RequestsCanBeAbortedMidRead-http://<IP_ADDRESS>:0 in 30.0556308s
2018-09-06T18:54:15.6915244Z

The request aborted token isn't firing in both cases.

Do you have any links to the failed runs on the CI?

https://ci3.dot.net/job/aspnet_KestrelHttpServer/job/master/job/linux-Configuration_Release_prtest/51/consoleFull

https://ci3.dot.net/job/aspnet_KestrelHttpServer/job/release_2.2/job/linux-Configuration_Release_prtest/224/consoleFull

This comment was made automatically. If there is a problem contact ryanbrandenburg.
There were 1 failures with about the same error on 2.2 at 9:29:46 PM:

ConnectionClosedWhenKeepAliveTimeoutExpires

This comment was made automatically. If there is a problem contact ryanbrandenburg.
There were 1 failures with about the same error on master at 6:28:51 PM:

AbortedStream_ResetsAndDrainsRequest_RefusesFramesAfterCooldownExpires

This comment was made automatically. If there is a problem contact ryanbrandenburg.
There were 1 failures with about the same error on release/2.2 at 7:45:14 PM:

AppCanHandleClientAbortingConnectionMidResponse

This comment was made automatically. If there is a problem contact ryanbrandenburg.
There were 1 failures with about the same error on release/2.2 at 11:01:45 PM:

AbortedStream_ResetsAndDrainsRequest_RefusesFramesAfterCooldownExpires

This comment was made automatically. If there is a problem contact ryanbrandenburg.
There were 1 failures with about the same error on master at 1:50:55 PM:

ServerCanAbortConnectionAfterUnobservedClose

This comment was made automatically. If there is a problem contact ryanbrandenburg.
There were 1 failures with about the same error on master at 1:50:55 PM:

ServerCanAbortConnectionAfterUnobservedClose

This comment was made automatically. If there is a problem contact ryanbrandenburg.
There were 1 failures with about the same error on master at 3:03:03 PM:

ServerCanAbortConnectionAfterUnobservedClose

This comment was made automatically. If there is a problem contact ryanbrandenburg.
There were 1 failures with about the same error on 2.2 at 1:24:55 AM:

AbortedStream_ResetsAndDrainsRequest_RefusesFramesAfterEndOfStream

This comment was made automatically. If there is a problem contact ryanbrandenburg.
There were 1 failures with about the same error on 2.2 at 6:27:40 PM:

AbortedStream_ResetsAndDrainsRequest_RefusesFramesAfterEndOfStream

This comment was made automatically. If there is a problem contact ryanbrandenburg.
There were 1 failures with about the same error on 2.2 at 6:33:52 PM:

AbortedStream_ResetsAndDrainsRequest_RefusesFramesAfterEndOfStream

This comment was made automatically. If there is a problem contact ryanbrandenburg.
There were 1 failures with about the same error on 2.2 at 12:47:33 PM:

AbortedStream_ResetsAndDrainsRequest_RefusesFramesAfterEndOfStream

This comment was made automatically. If there is a problem contact ryanbrandenburg.
There were 1 failures with about the same error on master at 1:15:09 PM:

AbortedStream_ResetsAndDrainsRequest_RefusesFramesAfterEndOfStream

This comment was made automatically. If there is a problem contact ryanbrandenburg.
There were 1 failures with about the same error on master at 3:00:47 PM:

AbortedStream_ResetsAndDrainsRequest_RefusesFramesAfterCooldownExpires


Strip comma when baseDN is empty and add option to remove Authorization header before passing to backend

It would be great if the plugin does strip the , from the LDAP-bind if the baseDN is set to "". This would greatly improve compatibility with Active Directory so one could do:
attribute: userPrincipalName (sAMAccountName)
baseDN: ""

Right now this ends results in<EMAIL_ADDRESS>which fails to authenticate.
A nice touch would be the option to remove the Authorization header before passing to the backend, similar to the basicAuth middleware.
Thanks a lot for your consideration.

Hello, @alexanderharm
Thanks for your contribution

A nice touch would be the option to remove the Authorization header before passing to the backend, similar to the basicAuth middleware.

This project is an in-progress effort to create an open-source middleware in a similar way to Traefik Enterprise.
The option you are asking for already exists. It's called forwardAuthorization. And here you could check that by default we don't pass the Authorization header to backend.

It would be great if the plugin does strip the , from the LDAP-bind if the baseDN is set to "".

Done in #55

Hmm, I did not define the variable which should set it to false, no? However, it still did forward it.
I will test tonight setting it explicitly to false and report back.

You can check it's value in DEBUG mode logs:
traefik  | DEBUG: ldapAuth: 2023/11/23 12:50:35 restricted.go:51: ForwardAuthorization => 'false'

You could also check running the examples
docker-compose -f examples/conf-from-labels.yml up
curl --user tesla:password -H "Host: whoami.localhost" http://<IP_ADDRESS>

You must get something like that:
Hostname: 84639eefcd59
IP: <IP_ADDRESS>
IP: <IP_ADDRESS>
RemoteAddr: <IP_ADDRESS>:52954
GET / HTTP/1.1
Host: whoami.localhost
User-Agent: curl/8.4.0
Accept: */*
Accept-Encoding: gzip
Username: tesla
X-Forwarded-For: <IP_ADDRESS>
X-Forwarded-Host: whoami.localhost
X-Forwarded-Port: 80
X-Forwarded-Proto: http
X-Forwarded-Server: 3b8d407d5056
X-Real-Ip: <IP_ADDRESS>

And adding the forwardAuthorization option in examples/conf-from-labels.yml and running the above commands again, you must get:
- traefik.http.middlewares.ldap_auth.plugin.ldapAuth.forwardAuthorization=true

Hostname: ac9b92731103
IP: <IP_ADDRESS>
IP: <IP_ADDRESS>
RemoteAddr: <IP_ADDRESS>:41550
GET / HTTP/1.1
Host: whoami.localhost
User-Agent: curl/8.4.0
Accept: */*
Accept-Encoding: gzip
Authorization: Basic dGVzbGE6cGFzc3dvcmQ=
Username: tesla
X-Forwarded-For: <IP_ADDRESS>
X-Forwarded-Host: whoami.localhost
X-Forwarded-Port: 80
X-Forwarded-Proto: http
X-Forwarded-Server: 3b8d407d5056
X-Real-Ip: <IP_ADDRESS>

Note the Authorization header difference.

I will test tonight setting it explicitly to false and report back.

LMK if have some problem.

I have DEBUG: ldapAuth: 2023/11/23 14:07:04 restricted.go:51: ForwardAuthorization => 'false'
But I can still the the auth header using Wireshark on the backend. I don't want to waste your time. I will have a closer look tonight.

I have DEBUG: ldapAuth: 2023/11/23 14:07:04 restricted.go:51: ForwardAuthorization => 'false'
But I can still the the auth header using Wireshark on the backend.

Weird. Here you can see where we delete the header before passing the request to traefik.
https://github.com/wiltonsr/ldapAuth/blob/66002e5b92136ff3ee2e3a391f38c3893ccb651d/ldapauth.go#L228-L236


Documentation for volume scheduling alpha feature

Need to document:

volume scheduling concept
new StorageClass VolumeBindingMode
update local volume documentation

This change is

@tengqm @zacharysarah I noticed that StorageClasses got split out into its own page on the master branch.  Are there plans to also cherry pick those changes to the 1.9 branch?
/assign @saad-ali @jsafrane @thockin

@msau42 Yes; they'll get picked up the next time I merge master into release-1.9. In fact, I'll go do that right now.

Apparently we generally don't document alpha features.  See discussion.
So this PR is not needed then.

Updated to only document the new changes under the local volume section, since it's currently restricted to only local volumes in the code.

PTAL @jsafrane @saad-ali

Docs LGTM pending tech review 👍

lgtm from tech side


Fix: Allow values other than en-US for default locale

cc @jedieaston @vedantmgoyal2009

Resolves #68

@vedantmgoyal2009
I did some brief testing, but if you run into any issues with this please let me know


Fix web-monitor filename in update_web

Motivation
The filename for web-monitor didn't match your release artifacts.
Have you read the Contributing Guidelines on pull requests?
Yes
Test Plan
No changes
Related PRs
If targeting a release branch, please fill the below out as well

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

thanks @hadleyrich for the PR, appreciate that!


fix unexpected 0 text behaviour

We got a weird glitch upgrading from pixi 3 to 4, setting the text in a PIXI.Text to 0 results in the label actually saying ' '. This seems like unexpected behaviour considering all the other numbers work :)

Thanks for your pull-request @uorbe001 and helping to make Pixi better.
Since the text setter only accepts a type of string (as in the docs) it is not part of the API to pass in numbers. Allowing implicit conversion of types gets into issues, for instance, what if you pass in a value of 0x1. If you are passing in a number, I suggest you cast it as a string first: myText.text = String(num). It's for this reason, that I don't believe we should merge.
If others felt strongly that this was an appropriate PR, an alternative approach would be to explicitly check for empty strings and null which would otherwise create issues for the text rendering. For example:
text = String(text === '' || text === null ? ' ' : text);

This would handle your use-case with zero.

I agree that the PR solution isn't correct, and prefer @bigtimebuddy 's suggestion, but I do feel that this should be added in. I know the API says to pass in a string, but the reality is, if you pass in any number the text does show. Apart from 0; so I'd like 0 to also also show.

@bigtimebuddy I get your point about the docs saying it only accepts strings, but the fact is that the other numbers do work and 0 used to work pre v4, which is what caused a bug in our codebase. I fixed the case we had in our codebase with the very same solution you proposed, but it still feels like it should work (or at least error) if the rest of the numbers are valid and 0 isn't.
I amended my commit with your proposed approach 👍

even though @bigtimebuddy is logically correct ( my brain agrees), my heart believes that if i pass in a 0 it should just work :)

@andrewstart, could you approve?

Thanks @uorbe001!


Would you add the parameter maxbounds ?

I need to limit the area using the MapOptions parameter's max bounds.

Added


API endpoint url and pid...

We are a shibboleth shop - which means the only way to pass a url through to external mods without forcing redcap auth is to use the API endpoint (which is exempted).  This is just fine.
However - the api endpoint url does not include the &pid in the query string.  As em pages have a $module object that is an instance of the EM class - the object is different depending on the source url.   In most cases, it comes in project-context (except when you are adding the module to your server).
In the case of the API - we can get the PID from the external module id which is in the url.  Is there a reason to not do this and populate the $_GET['pid'] so we can attach on a project-level?
Current index code is:
<?php
namespace ExternalModules;

$noAuth = isset($_GET['NOAUTH']);
if($noAuth){
	// This must be defined at the top before redcap_connect.php is required.
	define('NOAUTH', true);
}

require_once dirname(__FILE__) . '/classes/ExternalModules.php';

use Exception;

$id = $_GET['id'];
$page = rawurldecode(urldecode($_GET['page']));
$pid = @$_GET['pid'];

I'm proposing something like this:
<?php
namespace ExternalModules;

$noAuth = isset($_GET['NOAUTH']);
if($noAuth){
	// This must be defined at the top before redcap_connect.php is required.
	define('NOAUTH', true);
}

require_once dirname(__FILE__) . '/classes/ExternalModules.php';

use Exception;

$id = $_GET['id'];
$page = rawurldecode(urldecode($_GET['page']));
/*
// IF IS API URL, AND PID IS NOT SET, THE TRY TO GET THE PID FROM THE ID
// IF SUCCESSFUL, SET $_GET['pid'].  This way the module will behave in project-context.
select project_id
            from redcap_external_module_settings
            where external_module_id = $id
            and key='enabled'
            and `value`='true';
...
*/
$pid = @$_GET['pid'];

Thoughts?
I just had to do a work-around for one EM and can't think of a reason it should happen automatically...

@123andy, i'm not sure that will work all the time. The only time your proposed query will work is if the module is enabled in only one project in the system. If more than one project has it enabled, then it will return all those project_ids in that query to redcap_external_module_settings.
I think getUrl works correctly as it is, unless i'm missing something in your argument, in which if you call getUrl in a project context, then it does append "pid" to the API endpoint. And if you're not in a project context wen calling getUrl, then i'm not sure how or why you would want it to point to a specific project, unless that project ID is saved in the module's configuration. Maybe i'm missing something here.

I'm not sure of what the behavior should be in those cases. @mmcev106 or @scottjpearson might know.

It is expected behavior for request to php pages to work if php extension is omitted.  It is not currently a priority for us, but I do like the idea of getUrl() throwing an exception for pages/files that don't exist.


Extend PatchFarmer to support JIRA tickets

Example: CVE-20190-0201
Link patch: JIRA ticket
The goal is to extract diffs from the JIRA tickets, assuming those are patches for the vulnerability.
Patches are linked as attachments (see example)
The hack I had in mind was to first use an HTML parser (e.g. jsoup) to get the IDs of the attachments and then retrieve each of the individually to parse.

[ ] Add filter to PatchFarmer to handle */jira/* links
[ ] Parse the HTML and extract the attachments IDs
[ ] For each of the attachment, get the raw patch and parse it
[ ] Test it

We can use the REST API offered by JIRA to retrieve information.
After some analysis, it appears that the information might be contained in two sources:

Comments
Attachments

Attachments
format URL: https://issues.apache.org/jira/rest/api/2/issue/ZOOKEEPER-1392/?fields=attachment
Returns a JSON output where you can grab each of the attachments if they end with .patch, get the information and parse it.
Comments
format URL: https://issues.apache.org/jira/rest/api/2/issue/ZOOKEEPER-1392/?fields=comment
Returns a JSON output where you can look at the body of each of the comments and from there extract potential patches links and pass those for parsing again.


APPLICS-227 - Remove now redundant API call from projects/register/index controller

Describe your changes
https://pins-ds.atlassian.net/browse/APPLICS-227?atlOrigin=eyJpIjoiODY1ZDBiZjYxODk4NDA2YmE1ZGUwMzE1ZGFkNGRkYTQiLCJwIjoiaiJ9
Type of change 🧩

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation update
[x] Other (please explain in the description section above)

Checklist before requesting a review

[x] I have performed a self-review of my own code
[ ] I have double checked this work does not include any hardcoded secrets or passwords
[ ] I have made corresponding changes to the documentation
[ ] I have provided details on how I have tested my code
[ ] I have referenced the ticket number above
[ ] I have provided a description of the ticket
[ ] I have included unit tests to cover any testable code changes

:tada: This PR is included in version 2.30.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 2.36.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.2.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.15.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


datapackage-java and tableschema-java integration

Would like to see the datapackage-java and reference the tableschema-java data model (or vise verse) so user can benefit from both spec/repo.

Seems like this is the same concern as Issue #9.

@georgeslabreche
The #9 is closed - shall we close this one too is it's covered?

@roll I believe this Issue can be closed, yes.

Awesome, thanks!


[Bug] World does not stoke block light data

Issue
I mentioned this on the Discord quite some time ago, and haven't thought to come back to this until more recently I noticed my stop-gap (a script to pause the cleaning task) wasn't firing in time. Hoping to get this more permanently resolved.
My understanding is it's a compatibility issue between the forge Starlight plugin, and Lightcleaner; but I could be wrong.
Server is running Arclight 1.18.2-1.0.7, Starlight is starlight-1.0.2+forge.546ae87
Logs
I've attached a snipped of what this error looks like. I can provide full console logs, but these spam for miles so it's quite the read.
[Tue 03:06:33 ERROR LightCleaner] Failed to apply lighting
java.util.concurrent.CompletionException: java.lang.UnsupportedOperationException: World does not store block light data
    at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:332)
    at java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:347)
    at java.base/java.util.concurrent.CompletableFuture$BiRelay.tryFire(CompletableFuture.java:1498)
    at java.base/java.util.concurrent.CompletableFuture$CoCompletion.tryFire(CompletableFuture.java:1219)
    at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510)
    at java.base/java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:2162)
    at com.bergerkiller.bukkit.common.internal.logic.LightingHandler_1_14$EngineUpdateTaskLists.lambda$postRun$0(LightingHandler_1_14.java:265)
    at com.bergerkiller.bukkit.common.internal.CommonNextTickExecutor$ExecutorTask.run(CommonNextTickExecutor.java:163)
    at TRANSFORMER/arclight@1.18.2-1.0.7-40114eb5/org.bukkit.craftbukkit.v1_18_R2.scheduler.CraftTask.run(CraftTask.java:82)
    at TRANSFORMER/arclight@1.18.2-1.0.7-40114eb5/org.bukkit.craftbukkit.v1_18_R2.scheduler.CraftScheduler.mainThreadHeartbeat(CraftSchedulerMixin.java:415)
    at TRANSFORMER/minecraft@1.18.2/net.minecraft.server.MinecraftServer.handler$zcc000$arclight$runScheduler(MinecraftServerMixin.java:2381)
    at TRANSFORMER/minecraft@1.18.2/net.minecraft.server.MinecraftServer.m5703(MinecraftServerMixin.java)
    at TRANSFORMER/minecraft@1.18.2/net.minecraft.server.dedicated.DedicatedServer.m5703(DedicatedServerMixin.java:326)
    at TRANSFORMER/minecraft@1.18.2/net.minecraft.server.MinecraftServer.m5705(MinecraftServerMixin.java:842)
    at TRANSFORMER/minecraft@1.18.2/net.minecraft.server.MinecraftServer.m130011(MinecraftServerMixin.java:2135)
    at TRANSFORMER/minecraft@1.18.2/net.minecraft.server.MinecraftServer.m177918(Minecra
[Tue 03:06:33 ERROR LightCleaner] Failed to apply lighting
java.util.concurrent.CompletionException: java.lang.UnsupportedOperationException: World does not store block light data
    at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:332)
    at java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:347)
    at java.base/java.util.concurrent.CompletableFuture$BiRelay.tryFire(CompletableFuture.java:1498)
    at java.base/java.util.concurrent.CompletableFuture$CoCompletion.tryFire(CompletableFuture.java:1219)
    at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510)
    at java.base/java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:2162)
    at com.bergerkiller.bukkit.common.internal.logic.LightingHandler_1_14$EngineUpdateTaskLists.lambda$postRun$0(LightingHandler_1_14.java:265)
    at com.bergerkiller.bukkit.common.internal.CommonNextTickExecutor$ExecutorTask.run(CommonNextTickExecutor.java:163)
    at TRANSFORMER/arclight@1.18.2-1.0.7-40114eb5/org.bukkit.craftbukkit.v1_18_R2.scheduler.CraftTask.run(CraftTask.java:82)
    at TRANSFORMER/arclight@1.18.2-1.0.7-40114eb5/org.bukkit.craftbukkit.v1_18_R2.scheduler.CraftScheduler.mainThreadHeartbeat(CraftSchedulerMixin.java:415)
    at TRANSFORMER/minecraft@1.18.2/net.minecraft.server.MinecraftServer.handler$zcc000$arclight$runScheduler(MinecraftServerMixin.java:2381)
    at TRANSFORMER/minecraft@1.18.2/net.minecraft.server.MinecraftServer.m5703(MinecraftServerMixin.java)
    at TRANSFORMER/minecraft@1.18.2/net.minecraft.server.dedicated.DedicatedServer.m5703(DedicatedServerMixin.java:326)
    at TRANSFORMER/minecraft@1.18.2/net.minecraft.server.MinecraftServer.m5705(MinecraftServerMixin.java:842)
    at TRANSFORMER/minecraft@1.18.2/net.minecraft.server.MinecraftServer.m130011(MinecraftServerMixin.java:2135)
    at TRANSFORMER/minecraft@1.18.2/net.minecraft.server.MinecraftServer.m177918(Minecra

Ignore the irony of my issue title...

Hm yeah there is no support whatsoever for Starlight - the MOD. Only the paper starlight implementation. Its confusing because there are paper + forge hybrid servers which technically can do both.


Feature Request: implement Content HASH for DROPBOX

Content HASH has been implemented from DropBox API since few days
https://www.dropbox.com/developers/reference/content-hash
any news on putting this into rclone ?

This would have to go in as part of #349 the v2 API.
It is annoyingly non standard!  It isn't either md5sum or an sha1sum or even an sha256sum  it is an sha256sum of 4 MB blocks, all concatenated then the sha256sum of those.
However it will do perfectly for upload and download integrity checking.

This is really necessary since Plex uses the file hash to search for subtitles.

Dropbox v2 API has just hit master with content hashing
Please try this beta
https://beta.rclone.org/v1.36-144-g178ff62d/ (uploaded in 15-30 mins)

Bit of trouble building: beta now here: https://beta.rclone.org/v1.36-146-g71028e0f/