feat: Quickstart guide for running hubs with TLS

Motivation
We want to make it incredibly easy to set up a hub with TLS.
Change Summary
Add a directory with a simple guide to follow.
Merge Checklist

[x] PR title adheres to the conventional commits standard
[ ] PR has a changeset
[x] PR has been tagged with a change label(s) (i.e. documentation, feature, bugfix, or chore)
[x] All commits have been signed

PR-Codex overview
This PR adds support for running a mainnet hub on a self-hosted server using Docker and Caddy. It includes changes to the Caddyfile, docker-compose.yml, README.md, and envoy.yaml files.
Detailed summary

Added reverse proxy support for hubble and envoy servers in Caddyfile
Updated docker-compose.yml to include hubble, caddy, and envoy services
Added instructions for running a mainnet hub using Docker and Caddy in README.md
Added envoy.yaml file with configuration for the envoy server

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

Followed this guide using a fresh AWS instance and it worked with no issues (including TLS).


Bigdecimal cannot be coerced to expected class String in 2.4

Hi, an application of ours broke using Hibernate Reactive in Quarkus when updating quarkus to 3.14.1 and fixed by reverting to 3.13.3.
Quarkus 3.14 started using Hibernate ORM 6.6 / Reactive 2.4.
org.hibernate.HibernateException: io.vertx.core.impl.NoStackTraceThrowable: Parameter at position[3] with class = [java.math.BigDecimal] and value = [200] can not be coerced to the expected class = [java.lang.String] for encoding
Usage: ( jakarta.persistence.criteria.CriteriaBuilder )
predicates.add(           criteriaBuilder.between(               criteriaBuilder                   .function(                       JSONB_EXTRACT_PATH,                       String.class,                       amountPath,                       criteriaBuilder.literal(AMOUNT))                   .as(BigDecimal.class),               filter.getAmountGe(),               filter.getAmountLe()));
Are there any known issues within 6.6/2.4?

Which database?

Postgres 15.4 in production environment.
Also does not work locally in a testcontainer with 16.1-alpine postgres image

Would you be able to provide a test case?

Actually, the test I linked doesn't run a query. So it might not really be relevant

@nielsvhaldvb I've created this testcase and it seems to work.
Could you update it to make it look more similar to your case, please?

@nielsvhaldvb I've created this testcase and it seems to work.
Could you update it to make it look more similar to your case, please?

Hi, thanks for your testcase! Could it have something to do with the property being a jsonb type?
I currently have connectivity issues with Gradle, so I am unable to make a commit. However, our Entity looks something like this:
	@Entity(name = "Book")
	@Table(name = BOOK_TABLE)
	static class Book {

		@Column(name = "price")
		@JdbcTypeCode(SqlTypes.JSON)
		@JdbcType(PostgreSQLJsonPGObjectJsonbType.class)
		Amount price;

		class Amount {
			BigDecimal amount;
		}
	}

We then use jsonb_extract_path_text() to query like this:
criteriaBuilder.between(
              criteriaBuilder
                  .function(
                      "jsonb_extract_path_text",
                      String.class,
                      transactionRoot.get("price"),
                      criteriaBuilder.literal("amount"))
                  .as(BigDecimal.class),
              filter.getBookingAmountGe(),
              filter.getBookingAmountLe());

There are 2 problems:

The JSON support in Hibernate Reactive is not as powerful as the one in ORM at the moment.
It's not possible to map the JSON as an embeddable out of the box (I think). They way a JSON can be mapped is described in this issue: https://github.com/hibernate/hibernate-reactive/issues/1606
The entity mapping should look something like this:
@Entity(name = "Book")
@Table(name = "BookWithJson")
public static class Book {

	@Id
	Integer id;

	String title;

	@Column(name = "price")
	JsonObject price;

I couldn't find a way to write the query
Even when I use the following native query:
select id,title,price from BookWithJson b where (b.price ->> 'amount')::decimal between ?1 and ?2

I get a  NullPointerException:
java.lang.NullPointerException: Cannot invoke "String.hashCode()" because "<local6>" is null
at org.hibernate.dialect.PostgreSQLDialect.resolveSqlTypeDescriptor(PostgreSQLDialect.java:320)
at org.hibernate.sql.results.jdbc.internal.ResultSetAccess.resolveType(ResultSetAccess.java:101)
at org.hibernate.reactive.sql.results.internal.ReactiveDeferredResultSetAccess.resolveType(ReactiveDeferredResultSetAccess.java:109)
at org.hibernate.sql.results.jdbc.spi.JdbcValuesMetadata.resolveType(JdbcValuesMetadata.java:41)
at org.hibernate.reactive.sql.results.internal.ReactiveDeferredResultSetAccess.resolveType(ReactiveDeferredResultSetAccess.java:104)
at org.hibernate.query.results.ResultSetMappingImpl.makeImplicitDomainResult(ResultSetMappingImpl.java:322)
at org.hibernate.query.results.ResultSetMappingImpl.resolve(ResultSetMappingImpl.java:222)
at org.hibernate.reactive.sql.results.ReactiveResultSetMapping.lambda$reactiveResolve$0(ReactiveResultSetMapping.java:62)
at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:646)
at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510)
at java.base/java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2179)
at io.vertx.core.Future.lambda$toCompletionStage$3(Future.java:601)
at io.vertx.core.impl.future.FutureImpl$4.onSuccess(FutureImpl.java:176)
   ...

I will have a better look next week.

By the way, I've created a new test case here: https://github.com/DavideD/hibernate-reactive/commit/4cd00b70bcf2c8b2fd592d84183d539c365945d8

There are 2 problems:

The JSON support in Hibernate Reactive is not as powerful as the one in ORM at the moment.
It's not possible to map the JSON as an embeddable out of the box (I think). They way a JSON can be mapped is described in this issue: Add examples for mapping a Json in the documentation #1606
The entity mapping should look something like this:
@Entity(name = "Book")
@Table(name = "BookWithJson")
public static class Book {

	@Id
	Integer id;

	String title;

	@Column(name = "price")
	JsonObject price;

I couldn't find a way to write the query
Even when I use the following native query:
select id,title,price from BookWithJson b where (b.price ->> 'amount')::decimal between ?1 and ?2

I get a  NullPointerException:
java.lang.NullPointerException: Cannot invoke "String.hashCode()" because "<local6>" is null
at org.hibernate.dialect.PostgreSQLDialect.resolveSqlTypeDescriptor(PostgreSQLDialect.java:320)
at org.hibernate.sql.results.jdbc.internal.ResultSetAccess.resolveType(ResultSetAccess.java:101)
at org.hibernate.reactive.sql.results.internal.ReactiveDeferredResultSetAccess.resolveType(ReactiveDeferredResultSetAccess.java:109)
at org.hibernate.sql.results.jdbc.spi.JdbcValuesMetadata.resolveType(JdbcValuesMetadata.java:41)
at org.hibernate.reactive.sql.results.internal.ReactiveDeferredResultSetAccess.resolveType(ReactiveDeferredResultSetAccess.java:104)
at org.hibernate.query.results.ResultSetMappingImpl.makeImplicitDomainResult(ResultSetMappingImpl.java:322)
at org.hibernate.query.results.ResultSetMappingImpl.resolve(ResultSetMappingImpl.java:222)
at org.hibernate.reactive.sql.results.ReactiveResultSetMapping.lambda$reactiveResolve$0(ReactiveResultSetMapping.java:62)
at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:646)
at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510)
at java.base/java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2179)
at io.vertx.core.Future.lambda$toCompletionStage$3(Future.java:601)
at io.vertx.core.impl.future.FutureImpl$4.onSuccess(FutureImpl.java:176)
   ...

I will have a better look next week.

Strange, we are able to map JSON fields to classes just fine in Quarkus 3.13.3 (Hibernate 6.5.2). Since our update to Quarkus 3.14.1 (Hibernate 6.6.0) we started to experience these problems.

It's probably a regression due to some changes between 6.5 and 6.6.
We also didn't work a lot on the support for JSON in Hibernate Reactive.
Anyway, I'm looking into it.

This issue should be fixed in the next release.
There are still some problems when running native queries, but we need to wait for a fix in ORM: https://github.com/hibernate/hibernate-reactive/issues/1999

By the way, @stefvanderweldevolksbanknl, with this fix, you won't need to specify 		@JdbcType(PostgreSQLJsonPGObjectJsonbType.class). @JdbcTypeCode(SqlTypes.JSON) should be enough.
Anyway, I'm reviewing what we support and I will update the documentation as part of https://github.com/hibernate/hibernate-reactive/issues/1606


Windows executable

I was checking out your downloader and noticed that it currently isn't downloading the images correctly. Essentially the images are empty. I take a look it if I have time, but wanted to let you know.

having the same problem as FernandezR all the manga downloads but the images are empty

Thank you, I will look into it.

This issue is fixed now and downloading should work again. Right now there's only the zipped version, when I have time I'll add the single exe file.


typeRoots is not working?

I want to try to use @types like repository.
TypeScript Version:  Version 2.2.0-dev.20161114
Code
$ tree
tree
.
├── package.json
├── src
│   └── index.ts
├── tsconfig.json
└── typings
    └── foo
        └── index.d.ts

$ cat tsconfig.json
{
    "compilerOptions": {
        "module": "commonjs",
        "target": "es5",
        "typeRoots": [
            "./typings"
        ],
        "types": [
            "foo"
        ],
        "noImplicitAny": false,
        "sourceMap": false
    },
    "include": [
        "src/**/*.ts"
    ]
}

$ cat typings/foo/index.d.ts
export function hi(): void;

$ cat src/index.ts
import * as _ from "foo";

$ tsc -p ./tsconfig.json --traceResolution
======== Resolving module 'foo' from '/***/work/src/index.ts'. ========
Module resolution kind is not specified, using 'NodeJs'.
Loading module 'foo' from 'node_modules' folder.
File '/***/word/src/node_modules/foo.ts' does not exist.

...omit...

File '/node_modules/foo/index.jsx' does not exist.
======== Module name 'foo' was not resolved. ========
======== Resolving type reference directive 'foo', containing file '/***/work/__inferred type names__.ts', root directory '/***/work/typings'. ========
Resolving with primary search path '/***/work/typings'
File '/***/work/typings/foo/package.json' does not exist.
File '/***/work/typings/foo/index.d.ts' exist - use it as a name resolution result.
Resolving real path for '/***/work/typings/foo/index.d.ts', result '/***/work/typings/foo/index.d.ts'
======== Type reference directive 'foo' was successfully resolved to '/***/work/typings/foo/index.d.ts', primary: true. ========
src/index.ts(1,20): error TS2307: Cannot find module 'foo'.

tsc can find typings/foo/index.d.ts , but compile was failed...
Expected behavior:
compile successful.
I expect "typeRoots": [] and "typeRoots: ["./node_modules/@types/"]" are equivalent.
I hope I want to use "typeRoots: ["./node_modules/@types/", "./typings/"]"
Actual behavior:
compile failure.
I read wiki, handbook.
related? #11329 #11137

this is a duplicate of https://github.com/Microsoft/TypeScript/issues/11137
typeRoots are only used to resolve /// <reference types=".." /> directives. if you want to import it, then just use baseUrl or add a path mapping entry. you do not need typeRoots in this case.

thank you for your advice!
I am glad that the documentation is more detailed.


Fix macOS pyenv instructions, add code block highlight

Fix: anaconda3-latest does not work, specify the correct virtualenv, add missing init.

I'll try to get to this after I've finished work today.

Much obliged!

I looked at it, but honestly I'm new to using python environments, so I don't know what effect this change has. I didn't have time to test it today.

Thanks. I think I'll go ahead and merge. If you have time to test let me know. Easy enough to back out if there are unexpected problems.


"skip subject" support for FTN forums as well

Let's say a subject in a meeting (local or FTN) really doesn't interest you but you want to stay in that meeting anyway for other topics.
A command as such would be very helpful: "skip subject" or "hoppa ärende".   Like this:
"hoppa ärende BMW"
this would skip all posts with the subject "BMW" and mark them as read.

Isn't this exactly what the current "Skip" ("Hoppa Ärende") command already does?

Skip subject does not work in Fido-meetings.

Changed the title of the issue


github_url for Duckduckgo

Editing an existing topic or collection
I'm suggesting these edits to an existing topic or collection:

[ ] Image (and my file is *.png, square, dimensions 288x288)
[ ] Content (and my changes are in index.md)

Please explain why these changes are necessary:
Curating a new topic or collection

[ ] I've formatted my changes as a new folder directory, named for the topic or collection as it appears in the URL on GitHub (e.g. https://github.com/topics/[NAME] or https://github.com/collections/[NAME])
[ ] My folder contains a *.png image (if applicable) and index.md
[ ] All required fields in my index.md conform to the Style Guide and API docs: https://github.com/github/explore/tree/master/docs

Please explain why you think this topic or collection should be curated:

Please note: we will close your PR without comment if you do not check the boxes above and provide ALL requested information.
-->

https://github.com/github/explore/blob/master/collections/government/index.md

Fix http://github.com/_url for DuckDuckGo

🚢
Thanks @theel0ja!

The topic is updated with your changes 🎉 , thanks!


Modified Readme, added solutions for greedy

Please merge this. Sorry, I forgot to rebase my local remote. I will do it for the next PRs for sure. Cheers.

don't forget next time :)


Add new Snippets/Features

Please comment here what snippets you'd like to make instead of making a new issue. Issues are solely for bugs. This one will be used for new features/snippets that the plugin will include. Or let me know on discord.
Please make sure that these features are small and don't need their own plugin.
Plugins that inject to change stuff will not be accepted (99% of the time)

@juup1ter that was the original idea but there may be too many exploits with the system. I didn't want to risk it which is why I've done this type of plugin instead.

@mr-miner1 gotta figure out how to change it first lol shouldn't take too long... when I get time


Support objects in query params

Is your feature request related to a problem?
I'm wondering if you support objects as query params. I've been trying to use this feature, which seems to be supported by OAS 3.0, but it seems you treat objects as strings.
This is how I define an object inside a query param.

This is how it appears in the query params list.

And this is how it appears in the Send API Request side.

Am I doing something wrong? Or misunderstanding something perhaps?
Describe the solution you'd like
I'd like to know if this feature is in already considered, or will never be.
Describe alternatives you've considered
One alternative I see is using the Swagger 2.0 approach, as described here.
Additional context
I know a lot of APIs use objects inside query params, and it would be nice if this feature was implemented. Also, I know the response body does interpret objects properly, so that's probably just a bug or missing code?
Thank you very much in advance!

Hi, @sserrata! Tagging you here for visibility. I'm not really sure whether this is missing feature or a bug. Sorry for bugging you (pun intended) 🙂

Hi @valp0, thanks for the FR! The good news is that I believe we can easily adapt how we already handle properties in the request/response bodies to parameters. The only challenge I foresee is how to support object params in the demo/explorer. My initial thought/idea is that we can either use an inline Live Editor input (similar to request body) or simply a text input. Do you know if the format should also be determined by the Content-Type, e.g. application/json vs application/xml?

Hi, @sserrata! Sorry for the delay. The response body does display object properties properly inside the response:

The problem is the way objects are being handled in the query params (see issue description).
And, well, I believe that can be implemented in a similar way to that of arrays. So, for example, in the request/demo panel you could have a dropdown (like the one used for objects in the response body, then each property of the object could be displayed just as a regular input inside that dropdown, with the name and type of each field of course. Then of course you'd need to serialize the object inside the actual request demo, like /points?color[R]=100&color[G]=200&color[B]=150 (based on this).
And, about the XML vs JSON thing, I really don't know. To be honest I don't think it should be related in any way, at the end this is just the query parameters, not a request body or anything, so I think the serialization I quoted in the previous paragraph should be enough to support what we need in the query parameters.

Hi, @sserrata! I did experiment with that back when I was building that project. For what I can remember, it was not serialized properly; it would just stay as a normal string.

Hi, @sserrata! Congrats on the 3.0.1 plugin version release!
I noticed you added the "roadmap" label to this issue. Is there an estimated date for this feature to be developed?
I have a real life example, if it helps.
We are using your plugin to populate Salesloft's API documentation, and we do have several parameters that are really part of an object. For example, here we have the updated_at parameter but due to the current limitation described in the description of this issue, we had to split the properties of the object as though they are separate parameters. This achieves the same result in the curl request and it works*, however it lacks the main description of the updated_at parameter and it's visually not describing the scenario that we actually have (which is that we have an object called updated_at and it has four different properties that we accept serialized as a deep object (see query parameter serialization).
*\ It works for our specific use case, which is having the object serialized as deepObject and exploded.
This parameter description of a query parameter works as expected in swagger editor

          {
            "in": "query",
            "name": "updated_at",
            "description": "Equality filters that are applied to the updated_at field. A single filter can be used by itself or combined with other filters to create a range.",
            "required": false,
            "schema": {
              "type": "object",
              "properties": {
                "gt": {
                  "description": "Returns all matching records that are greater than the provided iso8601 timestamp. The comparison is done using microsecond precision.",
                  "type": "string",
                  "example": "a time"
                },
                "gte": {
                  "description": "Returns all matching records that are greater than or equal to the provided iso8601 timestamp. The comparison is done using microsecond precision.",
                  "type": "string",
                  "example": "another time"
                },
                "lt": {
                  "description": "Returns all matching records that are less than the provided iso8601 timestamp. The comparison is done using microsecond precision.",
                  "type": "string",
                  "example": "one more time"
                },
                "lte": {
                  "description": "Returns all matching records that are less than or equal to the provided iso8601 timestamp. The comparison is done using microsecond precision.",
                  "type": "string",
                  "example": "one last time"
                }
              }
            },
            "style": "deepObject",
            "explode": true
          },

however, the plugin produces this:

which as you can see is still just a string input and all of its properties are left out, even though it says it's an object.


ClassCastException while passing menuItems to setMenuItems() method

Throwing below exception with message:
Unable to start activity ComponentInfo{com.arika/com.arika.TestActivity}: java.lang.ClassCastException: android.graphics.drawable.BitmapDrawable cannot be cast to android.graphics.drawable.AnimatedVectorDrawable
it is not casting properly for animatedDrawables.

You are passing BitmapDrawable which is not AVD. Please look into this issue #4

Thank you for your suggestion.
I will try with that.


Compile fixes for raspbian on Raspberry PI 32bit

Proposed Changes
Erlang version on the pi is 21.2 so bcrypt needs to be downgraded.
eleveldb fails to build. This PR: https://github.com/vernemq/eleveldb/pull/8 fixes it.  But the change is not included in rebar.
Please describe the big picture of your changes here to communicate to the
VerneMQ team why we should accept this pull request. If it fixes a bug or
resolves a feature request, be sure to link to that issue.
Types of Changes
What types of changes does your code introduce to this project?
Put an x in the boxes that apply

[x] Bugfix (non-breaking change which fixes issue #XXXX)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation (correction or otherwise)
[ ] Cosmetics (whitespace, styles...)
[ ] DevOps (Build scripts, pipelines...)

Checklist
Put an x in the boxes that apply. You can also fill these out after creating
the PR. If you're unsure about any of them, don't hesitate to ask on the
mailing list. We're here to help! This is simply a reminder of what we are
going to look for before merging your code.

[ ] I have read the CODE_OF_CONDUCT.md document
[ ] All tests pass locally with my changes
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have added necessary documentation (if needed)
[ ] Any dependent changes have been merged and published in related repositories
[ ] I have updated changelog (At the bottom of the release version)
[ ] I have squashed all my commits into one before merging

Further Comments
If this is a relatively large or complex change, kick off the discussion by
explaining why you chose the solution you did and what alternatives you
considered, etc.

@larroy thanks :)
allow some time for review. (especially as it does seem to change a couple of dependencies)

@larroy the rebar.lock file locks dependencies at commit/package hash level. I haven't checked on those in detail so far, but the general point is that we probably have to do this in its own (RPi/Raspian) branch to ensure separation.
Tests can't fetch /vintenove/bson-erlang, for some reason.

Downgrading bcrypt will break compilation on OTP 23+

@codeadict thanks, good point.

I managed to compile everything in the end but got stuck trying to run the vernemq daemon and run out of time. I asked for help in the google group...


Update to libpng 1.5.25

Includes numerous security fixes compared to the previous version which was around 1.5.7 or so.
Fixes #2787
This was just a "drop new source files and go", and then Godot still seemed to build fine on X11 and run my projects properly. Might need some testing on other platforms first, though it's still the 1.5.x branch so I don't expect major breakages.

I wonder if it is posible to build with system libpng on Linux and what are
benefits in carrying libpng about...
On Sun, Dec 13, 2015 at 12:53 PM, Rémi Verschelde<EMAIL_ADDRESS>wrote:

Includes numerous security fixes compared to the previous version which
was around 1.5.7 or so.
Fixes #2787 https://github.com/godotengine/godot/issues/2787
This was just a "drop new source files and go", and then Godot still
seemed to build fine on X11 and run my projects properly. Might need some
testing on other platforms first, though it's still the 1.5.x branch so I
don't expect major breakages.
You can view, comment on, or merge this pull request online at:
https://github.com/godotengine/godot/pull/3058
Commit Summary

Update to libpng 1.5.25

File Changes

M drivers/png/example.c
https://github.com/godotengine/godot/pull/3058/files#diff-0 (85)
M drivers/png/filter_neon.S
https://github.com/godotengine/godot/pull/3058/files#diff-1 (12)
M drivers/png/png.c
https://github.com/godotengine/godot/pull/3058/files#diff-2 (397)
M drivers/png/png.h
https://github.com/godotengine/godot/pull/3058/files#diff-3 (490)
M drivers/png/pngconf.h
https://github.com/godotengine/godot/pull/3058/files#diff-4 (72)
M drivers/png/pngdebug.h
https://github.com/godotengine/godot/pull/3058/files#diff-5 (22)
M drivers/png/pngerror.c
https://github.com/godotengine/godot/pull/3058/files#diff-6 (80)
M drivers/png/pngget.c
https://github.com/godotengine/godot/pull/3058/files#diff-7 (64)
M drivers/png/pnginfo.h
https://github.com/godotengine/godot/pull/3058/files#diff-8 (5)
M drivers/png/pnglibconf.h
https://github.com/godotengine/godot/pull/3058/files#diff-9 (164)
M drivers/png/pngmem.c
https://github.com/godotengine/godot/pull/3058/files#diff-10 (12)
M drivers/png/pngpread.c
https://github.com/godotengine/godot/pull/3058/files#diff-11 (695)
M drivers/png/pngpriv.h
https://github.com/godotengine/godot/pull/3058/files#diff-12 (229)
M drivers/png/pngread.c
https://github.com/godotengine/godot/pull/3058/files#diff-13 (50)
M drivers/png/pngrio.c
https://github.com/godotengine/godot/pull/3058/files#diff-14 (2)
M drivers/png/pngrtran.c
https://github.com/godotengine/godot/pull/3058/files#diff-15 (228)
M drivers/png/pngrutil.c
https://github.com/godotengine/godot/pull/3058/files#diff-16 (245)
M drivers/png/pngset.c
https://github.com/godotengine/godot/pull/3058/files#diff-17 (168)
M drivers/png/pngstruct.h
https://github.com/godotengine/godot/pull/3058/files#diff-18 (39)
M drivers/png/pngtrans.c
https://github.com/godotengine/godot/pull/3058/files#diff-19 (115)
M drivers/png/pngwio.c
https://github.com/godotengine/godot/pull/3058/files#diff-20 (6)
M drivers/png/pngwrite.c
https://github.com/godotengine/godot/pull/3058/files#diff-21 (427)
M drivers/png/pngwtran.c
https://github.com/godotengine/godot/pull/3058/files#diff-22 (20)
M drivers/png/pngwutil.c
https://github.com/godotengine/godot/pull/3058/files#diff-23 (415)

Patch Links:

https://github.com/godotengine/godot/pull/3058.patch
https://github.com/godotengine/godot/pull/3058.diff

—
Reply to this email directly or view it on GitHub
https://github.com/godotengine/godot/pull/3058.

Seems to work fine on OS X after a cursory test.

@slapin I think the benefit in bundling everything is that one doesn't have to rely on system libraries being in place. It makes no sense if you build for yourself, or if you publish an open source game to be included into a distro's package manager, but if you distribute binaries only, you want that stuff works out of the box, without having to ask the user to install a library first in order to get the game running.

libpng 1.5.26 just got released, so I'll update this PR.

I've added a commit with the libpng 1.5.26 files.

Perhaps it would make sense to squash the two commits, otherwise the diff between .25 and .26 has to be kept in godot's git history for eternity.

Perhaps it would make sense to squash the two commits, otherwise the diff between .25 and .26 has to be kept in godot's git history for eternity.

I thought about it, but since we'll likely be updating libpng at each point release from now on (at least I propose), we'll end up having those diffs anyway :) But let's rebase for this PR, we don't need to keep a trace of .25 if it was never used indeed.

Rebased.

I'll merge as we need some wider testing anyway to be sure that it does not introduce issues. If it does, we can always revert while investigating.


correct Copyright

Ⅰ. Describe what this PR does
This pr is to corretct Copyright time for "fluid/pkg/ddc/alluxio/report.go".

you should add -s when you use command "git commit"


Improper check for capability category

Currently, if you pass the proper category using the DatabaseCategory constant, the operator will tell you that you're trying to use an unsupported 'Database' capability category. This is due to this incorrect check: https://github.com/halkyonio/operator/blob/master/pkg/controller/capability/controller.go#L65

Also, we need to surface the error message better because right now, it's only visible in the operator logs… 😿


Chained _onBeforeCompile

Patching materials in material.js sets its .onBeforeCompile function. If a material already has such function, the patch is not applied. A better approach is to chain .onBeforeCompile, hoping that the custom modification and the patch are not in conflict.

Done.


Expecting value: line 1 column 1 (char 0)

Hello, I kept having this problem when I switch to certain characters, Hu Tao, Character Assitant, and Stella works fine, but Raiden and other characters doesn't work at all and gives this error:

Here's my code:
from characterai import PyCAI

client = PyCAI('my-token')

char = "RQrrOj-UNdEV2_PC5D03US-27MZ7EUtaRH_husjbRQA"

chat = client.chat.get_chat(char)

participants = chat['participants']

if not participants[0]['is_human']:
    tgt = participants[0]['user']['username']
else:
    tgt = participants[1]['user']['username']

while True:
    message = input('You: ')

    data = client.chat.send_message(
        chat['external_id'], tgt, message
    )

    name = data['src_char']['participant']['name']
    text = data['replies'][0]['text']

    print(f"{name}: {text}")

As I suggested in this issue, the server's response to the API request may not be in the form of JSON, and that caused the exception. There might be several reasons for this (e.g., not found, unauthorized, invisible character, etc.). I encourage you to debug the library code to find out the error.

I see. Thanks for the response.


Gevent monkey patchall() is not working with the dialogflog

Traceback (most recent call last):
File "/home/davit/venvs/venvs/hoory_ml_3.6/lib/python3.6/site-packages/google/api_core/grpc_helpers.py", line 57, in error_remapped_callable
return callable_(*args, **kwargs)
File "/home/davit/venvs/venvs/hoory_ml_3.6/lib/python3.6/site-packages/grpc/_channel.py", line 565, in call
return _end_unary_response_blocking(state, call, False, None)
File "/home/davit/venvs/venvs/hoory_ml_3.6/lib/python3.6/site-packages/grpc/_channel.py", line 467, in _end_unary_response_blocking
raise _Rendezvous(state, None, None, deadline)
grpc._channel._Rendezvous: <_Rendezvous of RPC that terminated with:
status = StatusCode.DEADLINE_EXCEEDED
details = "Deadline Exceeded"
debug_error_string = "{"created":"@1562601694.445719928","description":"Deadline Exceeded","file":"src/core/ext/filters/deadline/deadline_filter.cc","file_line":69,"grpc_status":4}"Thanks!

We are fixing necessary bugs and adding essential features to ensure this library continues to meet your needs for accessing dialogflow. This issue may no longer be relevant. I am also unclear as to wether this is a feature request and for these reasons I am closing this issue. Please reopen if needed.


New role: curator

Not relevant considering the new planned approach for curation (as per Skype discussion on 4 Feb 2020).


AJ-1959 Expression evaluation in WDS

https://broadworkbench.atlassian.net/browse/AJ-1959

There's a lot going on here -- it might be worth a walkthrough to go over the new ANTLR-related classes, or more commentary about how those new classes work for those that aren't already familiar with it from the Rawls implementation, but I wouldn't insist on it for my sake alone. I'll leave that up to you and the other members of AJ who may be more familiar.

I would also love a walkthrough!


Add ability to bundle external files into the package

- What I did
Added ability to bundle external files into the package, including:

push will push everything inside /yourapp.dockerapp/ directory
pull will correctly pull those files down
inspect will show those files in a new output section called External Files
fork will pull those files down also

Misc

Files outside the /yourapp.dockerapp/ directory will not be pulled down (if you can somehow push a broken image with references to a parent dir)

NOTE: The following have not been done (yet)

Filesize limit
File exclusion list

- Description for the changelog
Added ability to bundle external files into a docker-app package
- A picture of a cute animal (not mandatory but encouraged)

I'd be interested in ideas about what to call the files to store (not the docker-compose.yml etc)

ExternalFiles
AdditionalFiles
ExtraFiles
BundledFiles

I can't think of the right name.

Please sign your commits following these rules:
https://github.com/moby/moby/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "bundle-external-files" git@github.com:mikeparker/app.git somewhere
$ cd somewhere
$ git rebase -i HEAD~842354132672
editor opens
change each 'pick' to 'edit'
save the file and quit
$ git commit --amend -s --no-edit
$ git rebase --continue # and repeat the amend for each commit
$ git push -f

Amending updates the existing PR. You DO NOT need to open a new one.

I added the filesize output to inspect, and renamed External Files -> Attachments

[ ] Add unit to size column
[ ] Add tests around size column
[ ] Refactor away duplication between fork and push code

I''ve decided to not do anything about the docker/go-units vs dustin/humanize vs tonistiigi/units.
The reasons are:

What we've got works for now
Making the library usage consistent across CLI and docker-app is a larger piece of work
humanize doesnt have exactly the same format of output (35MB vs 35 MB) which (according to Sebastiaan) allowed using linux tools to sort properly, but also caused some breakage for other users so we'd either need to wrap the calls with an adapter, extend the other library to support no-spaces formatting, or deal with the spaces-formatting globally.

Agree that it doesn't make sense to change the units library. There's a broader conversation to be had around how we handle vendored libraries (and versions of the libraries) across the Docker codebase.

Documentation:

[ ] Update README.md
[ ] Update examples with attachment example


rtl support

could you provide rtl version from this wonderful admin panel ?

We discuss it and now it is not in our roadmap.
Thanks,


Error creating new static page

Expected behavior:
I tried to create a new static page.
Actual behavior:
Error appear 'Undefined class constant "SORT_ORDER"'

Reproduce steps:
(Describe the steps to reproduce the problem here)
Version:
3.0.4-beta.19
Additional Information:
(Additional information, if any)

I found a workaround for the static pages - not very nice, but working. Just edit ./app/system/model/Pages_model.php and insert
const SORT_ORDER = null;
This should at least give you the possibility to save the page. But attention, it's wether update safe nor tested for all cases.


Don't screen out advocates -- "other" option on relationship

Maybe who is this letter "from".
The point is you need to list parent/legal guardian/or user even if it's an advocate who is actually requesting it.


Minimum Window size default

Issue Type: Suspected Bug
I had the misfortune of my  VS Code window minimizing to less than one square inch today.  I was lucky enough to be able, after restarting code to just grab a title bar button to recover. Is there a way to Hard code a "minimum" window size? I would like to avoid that again. Thank you. Dana
VS Code version: Code 1.26.1 (493869ee8e8a846b0855873886fc79d480d342de, 2018-08-16T18:38:57.434Z)
OS version: Windows_NT x64 10.0.17134

@DanaMW any steps how to reproduce?

Hi. In my case 3 times now i resized the window to less than a quarter of the screen   minimized it while I had work folder open working with Powershell scripts and when i drew it up off the taskbar it was this tiny little square either in the right or left upper corner 90% of the screen height up from the  bottom. I am unable to make it do it but it generally happens after a very long session of coding. The PowerShell session (extension) is bad about exiting about then too when i get near the end of the file. Errors about passing the bottom of the file. well 2 of the three time it was after the PS extension exits a few times and I would prepare to close out code reboot to freshen up and start again when it would do it. (shrink). Thanks for asking. I was hoping to simply set a minimum size and protect it in that fashion. Any ideas there?


Introduce dark mode and default to it

Is your feature request related to a problem? Please describe.
Let the browser use dark mode by default
Describe the solution you'd like

Closing this as #8 addresses it.


moving zulip production to google cloud

Hi,
Lost almost a day figuring it out, I hope this helps somebody:

looked into running zulip in a cluster with all services separate (redis, rabbitmq, tornado) - gave up, so the best best is to run zulip on a google compute VM with REMOTE_POSTGRES and S3_UPLOAD_BUCKET & S3_AVATAR_BUCKET

it is possible to use Google Storage in S3 interoperability mode, but this requires modifying S3_Upload_Backend somewhat, to be able to specify an external avatar_bucket_url, which IMHO is a good idea, as that allows you to put something like CloudFlare / AWS CloudFront in front of it, I've made a suggestion here:

https://github.com/zulip/zulip/pull/16612#issuecomment-716050123

it is quite usual to choose an application/mission specific database name on a cluster sql, so started with a non-standard 'xxx-chat' database and postgres username just to find out 'zulip' is hard-coded for both :(

made a PR as a work-around for the above,  which did not really help my case (https://github.com/zulip/zulip/pull/16629) as i needed to migrate the data from an existing database and 'zulip' was somehow written all over it...

finally, managed to migrate data with ./manage.py backup, but not before dropping text search dictionary manually and recreating it the way a migration with postgres-missing-dictionary would

I don't know how common this case is, but manage transfer_to_remote_postgres would be very very helpful

Thanks for the feedback @ayushin!

I agree we should support specifying the database and usernames; I guess #16629 should resolve that once you have a chance to finish it.

looked into running zulip in a cluster with all services separate (redis, rabbitmq, tornado)

There's no reason to run Tornado on a separate system and we don't recommend or support that.  We do support redis and rabbitmq on remote systems (and docker-zulip does that model).  Might not be worth the effort, though.

It'd be great if you can confirm that the merged version of #16612 works for you.

For a tool to migrate-to-remote-postgres, I'd merge a page documenting either manual steps or a contributed tool for it as long as it were tested, but I'm not sure we have time to do the testing process for something like that.  If you'd be up for spending a bit of time writing down what you needed to do starting with manage.py backup and putting it in a section in docs/production/postgresql.md, that'd be much appreciated and very helpful for the next person doing that.

@zulipbot claim

@ayushin have you upgraded to Zulip 4.0 yet?  I think it's possible that the upload backend stuff you need is implemented in that release, since we did migrate to a new library for these details.
Though ... @ryanreh99 did we not update https://zulip.readthedocs.io/en/stable/production/upload-backends.html#s3-backend-configuration to mention the new parameters in the comment documentation?  Maybe we should do a PR for that to close out this issue.

Hmm, didn't get which new parameter should have been added ?
In the prod_settings_template file, only added the new S3_ENDPOINT_URL variable which is mentioned in the doc point 5.

OK, I think you're right that S3_ENDPOINT_URL is all we need, combined with the change to fix #17762, which I'll backport to the 4.x branch.
Thanks @ayushin and @ryanreh99!


Visual Studio migration experience issues

From @krwq on January 17, 2017 23:1

For almost each project migrated we display a warning which seems weird in context of migration report:

Visual Studio needs to make non-functional changes to this project in order to enable the project to open in released versions of Visual Studio newer than Visual Studio 2010 SP1 without impacting project behavior.

Some of the errors are quite not clear:

src\Microsoft.AspNetCore.DataProtection.AzureStorage\Microsoft.AspNetCore.DataProtection.AzureStorage.xproj: Could not read post-migration report at 'C:\Users\kwicher.REDMOND\AppData\Local\Temp\3kw3wkoq.5jh'.

Message on failed migration could be improved (i.e. link to cli repo/issues, error code with some normal number or hex instead of negative number)

Failed to migrate XProj project Microsoft.AspNetCore.Cryptography.KeyDerivation. 'dotnet migrate --skip-backup -s -x "D:\aspnetsrc3\DataProtection\src\Microsoft.AspNetCore.Cryptography.KeyDerivation\Microsoft.AspNetCore.Cryptography.KeyDerivation.xproj" "D:\aspnetsrc3\DataProtection\src\Microsoft.AspNetCore.Cryptography.KeyDerivation" -r "C:\Users\kwicher.REDMOND\AppData\Local\Temp\zppkug5i.rnc" --format-report-file-json' exited with error code -532462766.

Unhandled exceptions in migration happen, we do display stack trace but it is unclear what is user supposed to do with that -- link to github issues missing
Unhandled exception is a warning...
aspnet/Diagnostics migrates without errors. Build fails but there is no errors. Warnings are really cryptic.
VS automatically starts restoring after migration or upon start - it would be ok if it wasn't making VS partially/fully unresponsive - all the UI buttons like Build are not grayed out while this is happening and it is unclear what's going to happen when you press it

Copied from original issue: dotnet/cli#5367

From @livarcocc on January 17, 2017 23:49
@333fred
@krwq I think you should move this bug to dotnet/roslyn-project-system.
Also, for not reading the report, that is because the CLI has not generated one. This is likely a migration ordering problem that we fixed last night for rc3.

@krwq, can you share a link to your repo?

@333fred - I've been migrating aspnet repos one by one. I'll share specific info offline

At this point, we're unlikely to fix these issues.


feat: add validation in LoginController

Fixes https://github.com/codeigniter4/shield/issues/237

The coding style violation is reported by GitHub Action.
Please fix.
See https://github.com/codeigniter4/CodeIgniter4/blob/develop/contributing/pull_request.md#php-style

The PHPUnit test failed. Please fix.
 There was 1 failure:
1) Tests\Controllers\LoginTest::testLoginActionUsernameSuccess
Failed asserting that two strings are identical.
--- Expected
+++ Actual
@@ @@
-'https://example.com/index.php'
+'https://example.com/index.php/'
/home/runner/work/shield/shield/tests/Controllers/LoginTest.php:124

https://github.com/codeigniter4/shield/runs/6871580690?check_suite_focus=true

Please add a test to check validation error if you can.

Please add a test to check validation error if you can.

Is the only way to stop validating username to match the login form?

How about this?
--- a/src/Controllers/LoginController.php
+++ b/src/Controllers/LoginController.php
@@ -3,9 +3,7 @@
 namespace CodeIgniter\Shield\Controllers;

 use App\Controllers\BaseController;
-use CodeIgniter\HTTP\IncomingRequest;
 use CodeIgniter\HTTP\RedirectResponse;
-use CodeIgniter\HTTP\Response;

 class LoginController extends BaseController
 {
@@ -27,24 +25,19 @@ public function loginView()

     /**
      * Attempts to log the user in.
-     *
-     * @return RedirectResponse
      */
     public function loginAction(): RedirectResponse
     {
+        $credentials = $this->request->getPost(setting('Auth.validFields'));
+        $credentials = array_filter($credentials);
+
         // Validate here first, since some things,
         // like the password, can only be validated properly here.
-        $rules = $this->getValidationRules();
-
-        /** @var Validation $validation */
-        $validation = service('validation');
-
+        $rules = $this->getValidationRules($credentials);
         if (! $this->validate($rules)) {
-            return redirect()->back()->withInput()->with('errors', $validation->getErrors());
+            return redirect()->back()->withInput()->with('errors', $this->validator->getErrors());
         }

-        $credentials             = $this->request->getPost(setting('Auth.validFields'));
-        $credentials             = array_filter($credentials);
         $credentials['password'] = $this->request->getPost('password');
         $remember                = (bool) $this->request->getPost('remember');

@@ -66,18 +59,20 @@ public function loginAction(): RedirectResponse
     /**
      * Returns the rules that should be used for validation.
      *
+     * @param array $identifier email or username
+     *
      * @return string[]
      */
-    protected function getValidationRules(): array
+    protected function getValidationRules(array $identifier): array
     {
         $rules = [
-            'email'    => 'required_without[username]|permit_empty|max_length[254]|valid_email',
-            'username' => 'required_without[email]|permit_empty|alpha_numeric_space|min_length[3]',
+            'email'    => 'required|max_length[254]|valid_email',
             'password' => 'required',
         ];

-        if (setting('Auth.validFields') === ['email']) {
-            $rules['email'] .= '|valid_email';
+        if (! isset($identifier['email']) && isset($identifier['username'])) {
+            unset($rules['email']);
+            $rules['username'] = 'required|alpha_numeric_space|min_length[3]';
         }

         return $rules;

@kenjis

I think input "email" passes to "login", so check if you use only email or both. It looks like myth-auth.

What do you mean?
I don't see any problem in your Test email and username result.

@jlopes90 You don't need to upload screenshots of code .
It can't be copy and paste and is a bit difficult to read.
Please paste the code as text as the following:
```php
 paste code here
```

@jlopes90 @kenjis  Why not to move rules to registrar for example, something like this
Registrar:
    /**
     * Registers the validation.
     */
    public static function Validation()
    {
        return [
            'login' => [
                'email'    => 'required_without[username]|permit_empty|max_length[254]|valid_email',
                'username' => 'required_without[email]|permit_empty|alpha_numeric_space|min_length[3]',
                'password' => 'required',
            ],
        ];
    }

and call them in Controller like:
        /**
         * Perform validation here
         */
        $rules = config('Validation')->login;

        if (! $this->validate($rules)) {
            return redirect()->back()->withInput()->with('errors', $this->validator->getErrors());
        }

Then we don't need private function  getValidationRules and also we don't need
 /** @var Validation $validation */
 $validation = service('validation');

Why not to move rules to registrar

I like how @jozefrebjak is thinking! I'll even take it one step further: since Controller::validate() can take a rule group string all you need is the name:

        /**
         * Perform validation here
         */
-        $rules = config('Validation')->login;
+

-        if (! $this->validate($rules)) {
+        if (! $this->validate('login')) {
            return redirect()->back()->withInput()->with('errors', $this->validator->getErrors());
        }

Why not to move rules to registrar

I like how @jozefrebjak is thinking! I'll even take it one step further: since Controller::validate() can take a rule group string all you need is the name:
        /**
         * Perform validation here
         */
-        $rules = config('Validation')->login;
-
-        if (! $this->validate($rules)) {
+        if (! $this->validate('login')) {
            return redirect()->back()->withInput()->with('errors', $this->validator->getErrors());
        }

@MGatner Good to know, I'll update my validations, even more simple solution with less rows.

The only issue with this is that we would need to find a way to resolve Registrars meaningfully. In other words: if Shield\Config creates a validation registrar we need to be sure App\Config can override it. Maybe the solution is to put the actual rules in Shield\Config\Auth and the Registrar injects those?

Okay sorry for all the comments, thinking out loud here. But I think my edit is the way to go. Right now we get user input and filter it by "allowed fields" then generate rules based on that - I think we should skip that altogether and just have to e Config file generate the validation rule set based on "allowed fields".

The only issue with this is that we would need to find a way to resolve Registrars meaningfully. In other words: if Shield\Config creates a validation registrar we need to be sure App\Config can override it. Maybe the solution is to put the actual rules in Shield\Config\Auth and the Registrar injects those?
Edit: Well now that I read that it seems silly to use a Config file to inject a Validation setting into another Config file. Maybe these just go into the Auth Config instead of the local method? It could be a method like redirectUrl() that checks the configured allowed fields for a dependent rule set.

@MGatner What I see, we already have some validation rules in Registrar. I agree with allowing us to have an option to overwrite these rules with Auth conf, so we also need to move users validation rules to Auth conf. Registrar is fine with App not package what I see now, or in situations where we don't want to allow editing these rules. Auth conf is probably the way to go and call those rules from controllers.

I don't know why you want to move validation rules to Config file.

validation rules are not system setting. they are rules for specific one form validation.
if you move validation rules to config file, the file soon will be very big.
it is difficult to find the validation rules in a big config file. If they are in a controller method, I can go to there with one click.

@jozefrebjak We don't need $validation = service('validation') from the beginning.
$this->validate() will create $this->validator.

As long as the rules are derived from a configurable source I don't think it matters where they come from. What is missing from the current solution is a way to support additional rules if a developer wants to expand the "allowed fields". If we can support that dynamically in the controller method then the move to Config won't be necessary.

@kenjis For me personally, it is better to have all of the validation rules in one place and just call them from controllers. The controller can also be a big file. Here it doesn't matter, but the config file is a better option for me, because we can build a UI around it for the admin to add or remove some rules if it's needed, with functions in control it's not possible. If we, for example, want to edit some rules to achieve some goal in future, we need to extend login controller and type code about rules. If they are in conf file, it's easier. Personally, I don't want to extend controllers and make a copy of them, when that option can be achieved with configuration.

@kenjis @MGatner I can imagine something like I did with register validation https://github.com/codeigniter4/shield/pull/244. With login it's little bit harder, because we can login with username or email.

@jlopes90 It is not a bit harder. It is simple as register validation.
The default config for login form is "email and password".
So the default value for the login rules are for email and password.
If a user wants to use "username and password", they just need to change the rules.

@kenjis
Auth.php
/**
 * --------------------------------------------------------------------
 * Login validation rules
 * --------------------------------------------------------------------
 * Returns the rules that should be used for user login validation.
 */
public array $loginRules = [
    'email'            => 'required|valid_email',
    'password'         => 'required',
];

LoginController.php
/**
 * Attempts to log the user in.
 */
public function loginAction(): RedirectResponse
{
    if (! $this->validate(setting('Auth.loginRules'))) {
        return redirect()->back()->withInput()->with('errors', $this->validator->getErrors());
    }

    $credentials['password'] = $this->request->getPost('password');
    $remember                = (bool) $this->request->getPost('remember');

    ...
}

update https://github.com/codeigniter4/shield/pull/242#issuecomment-1156498101

This test result is not good, but the failure means there is something wrong.
There was 1 failure:
1) Tests\Controllers\LoginTest::testLoginActionUsernameSuccess
Failed asserting that two strings are identical.
--- Expected
+++ Actual
@@ @@
-'https://example.com/index.php'
+'https://example.com/index.php/'
/home/runner/work/shield/shield/tests/Controllers/LoginTest.php:124

@jlopes90 We need to fix the test code.
testLoginActionUsernameSuccess login fails now.
--- a/tests/Controllers/LoginTest.php
+++ b/tests/Controllers/LoginTest.php
@@ -5,6 +5,7 @@
 use CodeIgniter\Config\Factories;
 use CodeIgniter\I18n\Time;
 use CodeIgniter\Shield\Authentication\Actions\Email2FA;
+use CodeIgniter\Shield\Config\Auth;
 use CodeIgniter\Test\DatabaseTestTrait;
 use CodeIgniter\Test\FeatureTestTrait;
 use Config\Services;
@@ -73,6 +74,7 @@ public function testLoginActionEmailSuccess(): void
             'password' => 'secret123',
         ]);

+        $result->assertSessionHas('user', ['id' => 1]);
         $result->assertStatus(302);
         $result->assertRedirect();
         $this->assertSame(site_url(), $result->getRedirectUrl());
@@ -109,6 +111,14 @@ public function testAfterLoggedInNotDesplayLoginPage(): void

     public function testLoginActionUsernameSuccess(): void
     {
+        // Change the validation rules
+        $config             = new Auth();
+        $config->loginRules = [
+            'username' => 'required|max_length[30]|alpha_numeric_space|min_length[3]',
+            'password' => 'required',
+        ];
+        Factories::injectMock('config', 'Auth', $config);
+
         $this->user->createEmailIdentity([
             'email'    =><EMAIL_ADDRESS>             'password' => 'secret123',
@@ -119,6 +129,7 @@ public function testLoginActionUsernameSuccess(): void
             'password' => 'secret123',
         ]);

+        $result->assertSessionHas('user', ['id' => 1]);
         $result->assertStatus(302);
         $result->assertRedirect();
         $this->assertSame(site_url(), $result->getRedirectUrl());

I realize I'm late to the party, but I believe the "proper" solution would be to add the rules to a Config\Validation file, as per the user guide.
If we do that, though, the question becomes how do we get that to the user? We could copy the rules into the app's Config\Validation file during setup, maybe? Or provide our own Validation config file with a note of the default rules that can be added to theirs if they wish?

We could copy the rules into the app's Config\Validation file during setup, maybe?

I oppose it. Config\Validation is for app, not for the package.
I don't think we should mix settings without permission.

See my comment on the other PR. I think we should do the same thing here: add getValidationRules() that returns setting('Validation.login') ?? [default rules here] and leave it out of the Config altogether.

As mentioned on the other PR, I like @MGatner solution a lot.

@MGatner @lonnieezell @jozefrebjak
The way that getValidationRules() returns setting('Validation.login') ?? [default rules here] seemed to be good,
but will not be able to write a test like this?
https://github.com/codeigniter4/shield/pull/242/files#diff-4ee2439849688f735f904d77d2c14d5bf4270481b2ddf24005f9330ed2a5c32eR112
The test changes validation rules temporarily, but there is no Validation::$login.
So we need to add Validation::$login dynamically.
But dynamic properties will be deprecated in PHP 8.2.
https://wiki.php.net/rfc/deprecate_dynamic_properties

As stated on the other PR: for now we should proceed assuming the framework will fix BaseConfig for allowing dynamic properties from Registrar.

@jlopes90
--- a/src/Models/UserModel.php
+++ b/src/Models/UserModel.php
@@ -118,7 +118,7 @@ public function addToDefaultGroup(User $user): void
     public function fake(Generator &$faker): User
     {
         return new User([
-            'username' => $faker->userName,
+            'username' => str_replace('.', ' ', $faker->userName),
             'active'   => true,
         ]);
     }
diff --git a/tests/Controllers/LoginTest.php b/tests/Controllers/LoginTest.php
index ca42d43..82a55e0 100644
--- a/tests/Controllers/LoginTest.php
+++ b/tests/Controllers/LoginTest.php
@@ -5,10 +5,10 @@
 use CodeIgniter\Config\Factories;
 use CodeIgniter\I18n\Time;
 use CodeIgniter\Shield\Authentication\Actions\Email2FA;
-use CodeIgniter\Shield\Config\Auth;
 use CodeIgniter\Test\DatabaseTestTrait;
 use CodeIgniter\Test\FeatureTestTrait;
 use Config\Services;
+use Config\Validation;
 use Tests\Support\FakeUser;
 use Tests\Support\TestCase;

@@ -112,12 +112,13 @@ public function testAfterLoggedInNotDesplayLoginPage(): void
     public function testLoginActionUsernameSuccess(): void
     {
         // Change the validation rules
-        $config             = new Auth();
-        $config->loginRules = [
-            'username' => 'required|max_length[30]|alpha_numeric_space|min_length[3]',
-            'password' => 'required',
-        ];
-        Factories::injectMock('config', 'Auth', $config);
+        $config           = new class () extends Validation {
+            public $login = [
+                'username' => 'required|max_length[30]|alpha_numeric_space|min_length[3]',
+                'password' => 'required',
+            ];
+        };
+        Factories::injectMock('config', 'Validation', $config);

         $this->user->createEmailIdentity([
             'email'    =><EMAIL_ADDRESS>

@jlopes90 @kenjis @MGatner Thanks for slogging through this! I think we ended up someplace better than it would have originally been.
Merging.


How to forward for service

I try to forward port for my service, but get a error:
panic: error upgrading connection: the server could not find the requested resource

Code as following:
func portForwardAPod(req *portForwardAPodRequest) error {
	path := fmt.Sprintf("/api/v1/namespaces/%s/services/%s/portforward", "default", "mongo")
	hostIP := strings.TrimLeft(req.RestConfig.Host, "htps:/")

	transport, upgrader, err := spdy.RoundTripperFor(req.RestConfig)
	if err != nil {
		return err
	}

	dialer := spdy.NewDialer(upgrader, &http.Client{Transport: transport}, http.MethodPost, &url.URL{Scheme: "https", Path: path, Host: hostIP})
	fw, err := portforward.New(dialer, []string{fmt.Sprintf("%d:%d", req.LocalPort, req.PodPort)}, req.StopCh, req.ReadyCh, req.Streams.Out, req.Streams.ErrOut)
	if err != nil {
		return err
	}

	return fw.ForwardPorts()
}

How to forward port for k8s service?

Wondering the same thing

Wondering the same thing

Hi, I have resolved this feature!  You  can see the repo: 😬 https://github.com/anthhub/forwarder


How to deal with OPTIONS requests in BFF?

Discussed in https://github.com/remix-run/remix/discussions/5067

Originally posted by ligiaandreica January 11, 2023
I am using remix as BFF, implementation based on docs. The client (on a different domain) calls BFF to get some data and then the requests go to downstream APIs. Basically, it's the preflight OPTIONS request to verify the client can do the GET.
This was working fine with some remix-utils cors setup until v1.8.0 of remix.
Started getting Error: Invalid request method "OPTIONS" once I've upgraded from v1.7.6. This error seems expected according to the release docs.
ErrorResponse {
  status: 405,
  statusText: 'Method Not Allowed',
  internal: true,
  data: 'Error: Invalid request method "OPTIONS"',
  error: Error: Invalid request method "OPTIONS" ...
}

Am I missing some configuration or is this a new limitation?
@jacob-ebey or @brophdawg11 could you please advise as this is part of https://github.com/remix-run/remix/pull/4385?

Was about to post this in the original discussion but just seen this issue pop up 😄.
For context this doesn't break anything directly in our app currently but was an interesting find in our logs this afternoon - happened upon the original discussion while doing some digging.
We're seeing this same error on Vercel preview deployments - the scripts for their new Comments feature that get injected into the page make an OPTIONS request to the current origin on startup:

This returns a 405 response with a similar stack trace as in @ligiaandreica's original post:
2023-01-13T17:58:10.034Z	4fc81c7b-3f98-46d8-8cf1-2bb103a4c57a	ERROR	Error: Invalid request method "OPTIONS"
    at getInternalRouterError (/var/task/apps/admin/api/index.js:73710:997)
    at Object.query (/var/task/apps/admin/api/index.js:73246:24)
    at handleDocumentRequestRR (/var/task/apps/admin/api/index.js:74244:40)
    at /var/task/apps/admin/api/index.js:74198:223
    at Server.<anonymous> (/var/task/apps/admin/api/index.js:84073:145)
    at Server.emit (node:events:527:28)
    at parserOnIncoming (node:_http_server:956:12)
    at HTTPParser.parserOnHeadersComplete (node:_http_common:128:17)

This points to the following isValidMethod check in the React Router source that's called from within Remix's handleDocumentRequestRR - OPTIONS doesn't seem to be included in the Set that function checks against: https://github.com/remix-run/react-router/blob/4f3ad7b96e6e0228cc952cd7eafe2c265c7393c7/packages/router/router.ts#L2153.
The Vercel script seems to fail gracefully and so doesn't tank the rest of the page, but adding the info to this issue as it looks like this might have some impact beyond Remix BFF usage.
The error was originally found on a Remix v1.8.2 app - I've created a minimal reproduction of what the Vercel script is doing here with the latest version of Remix (v1.10.0), which throws the same error: https://github.com/ezg27/remix-options-error-repro

Confirming the issue with the Vercel widget, but I think the problem originates here: https://github.com/remix-run/react-router/blob/main/packages/router/router.ts#L2073

While we don't have this issue in our production environment due to an API gateway, locally we also have this issue.
Since we're using remix-run/express, we're using the cors package in our server.js file to handle cors.
This works for our use case:
if (process.env.NODE_ENV === 'development') {
  app.options('/api/*', cors());
}

This should be available in 1.11.0-pre.1 shortly once CI finishes if you want to confirm it fixes your issue 👍

Released in 1.11.0

Thank you for the quick fix. 🎉  It's working fine for client -> BFF use case.

Regression in v 1.13.0?

I am still facing this issue even though I enabled cors:
export const loader = async ({ request }: LoaderFunctionArgs) => {
  const { session, admin } = await authenticate.admin(request);

  // explicitly handle options
  if (request.method === "OPTIONS") {
    return await cors(request, json(null));
  }

  // Some logic
  return await cors(request, json(someData));
};

I get an exception in the router package when I receive a request:

ErrorResponseImpl {
status: 405,
statusText: 'Method Not Allowed',
internal: true,
data: 'Error: Invalid request method "OPTIONS"',
error: Error: Invalid request method "OPTIONS"
at getInternalRouterError (/app/node_modules/@remix-run/router/router.ts:5402:5)
at Object.query (/app/node_modules/@remix-run/router/router.ts:3493:19)
at handleDocumentRequest (/app/node_modules/@remix-run/server-runtime/dist/server.js:268:35)
at requestHandler (/app/node_modules/@remix-run/server-runtime/dist/server.js:160:24)
at /app/node_modules/@remix-run/express/dist/server.js:41:28
at processTicksAndRejections (node:internal/process/task_queues:95:5)
}

Same for me. I'm still getting this error. Any fix ?

@muco-rolle This issue was closed two years ago. Please submit a new one providing all the information needed to reproduce it.


return false when path is not changed

Hey, this is trying to solve https://github.com/BigstickCarpet/json-schema-ref-parser/issues/52.

Great catch, @supertong! Thanks for the PR!

This PR has been published as part of the v4.0.0 release.  CHANGELOG


Replace the short driver option with -dr as per #824

-d is the short version for --dockerfile and is the same for --driver.
This may cause confusion. I replaced -d with -dr.
Signed-off-by: MD. Asif Joardar<EMAIL_ADDRESS>

@nishakm, now take a look, please.

@nishakm, now take a look, please.

Perfect! Thanks for submitting! Hope you can contribute more :)


Parse error under windows / babun (cygwin) / zsh

I've downloaded z.sh from my browser and checked with grep that there are no \r characters inside.
in zsh:
/home/Vince/.local/bin/z.sh:8: parse error near '\n'
in bash:
bash: /home/Vince/.local/bin/z.sh: line 7: syntax error near unexpected token `newline'
bash: /home/Vince/.local/bin/z.sh: line 7: `<!DOCTYPE html>'
bash: /home/Vince/.local/bin/z.sh: line 7: syntax error near unexpected token `newline'
bash: /home/Vince/.local/bin/z.sh: line 7: `<!DOCTYPE html>'
bash: /home/Vince/.local/bin/z.sh: line 7: syntax error near unexpected token `newline'
bash: /home/Vince/.local/bin/z.sh: line 7: `<!DOCTYPE html>'

(I'm using babun)

You most likely downloaded the wrong file. Right clicking -> Save on GitHub will download the webpage instead of the file. Clone or manually paste the contents of z.sh.


[Nukkit] Suffix won't show beside my nametag!

So I did
/lp creategroup Test
and then
/lp group Test meta addsuffix 100 "TEST"
and then
/lp user steve parent set Test
it doesnt give me tag beside my name

You need a chat formatting plugin.
LuckPerms doesn't format the chat for you. I don't know of one that exists for Nukkit yet unfortunately.

@lucko then I'll be waiting for you to make the chat plugin.

I have no intention of creating any more plugins for the Nukkit platform at this time. Perhaps you could ask for/commission the creation of such a plugin on the forums.


Installation of v2.0.7 errors.

Describe the bug
Installation of @kie/act-js v2.0.7 fails with this error:
npm install --save-dev @kie/act-js
npm ERR! code 127
npm ERR! path /Users/ringods/Projects/pulumi/build-automation/node_modules/@kie/act-js
npm ERR! command failed
npm ERR! command sh -c npm run prebuild
npm ERR! ><EMAIL_ADDRESS>prebuild
npm ERR! > ./scripts/act.sh 0.2.43
npm ERR! sh: ./scripts/act.sh: No such file or directory

npm ERR!      /Users/ringods/.npm/_logs/2023-04-25T14_57_58_799Z-debug-0.log

To Reproduce
$ npm install --save-dev @kie/act-js

Expected behavior
Installation should work as with earlier versions. As a workaround, I fixed my version to v2.0.6.
Logs
Snippet from the generated log file:
83 info run<EMAIL_ADDRESS>preinstall { code: 127, signal: null }
84 timing reify:rollback:createSparse Completed in 33ms
85 timing reify:rollback:retireShallow Completed in 0ms
86 timing command:install Completed in 787ms
87 verbose stack Error: command failed
87 verbose stack     at ChildProcess.<anonymous> (/Users/ringods/.volta/tools/image/node/16.15.0/lib/node_modules/npm/node_modules/@npmcli/promise-spawn/index.js:64:27)
87 verbose stack     at ChildProcess.emit (node:events:527:28)
87 verbose stack     at maybeClose (node:internal/child_process:1092:16)
87 verbose stack     at Process.ChildProcess._handle.onexit (node:internal/child_process:302:5)
88 verbose pkgid<EMAIL_ADDRESS>
Additional context
There is a v2.0.7 on npmjs.com but not a corresponding Github tag, nor Github release.

Might be fixed in #31 when I completely remove the bash script and rely on a post install hook to run a nodejs script
Released v2.0.7 tag. Sorry about that

@ringods please try to install 2.0.8 and let me know if that works for you

@shubhbapna The install of v2.0.8 seems to work and it now fetches the right binary for act when running on my Apple M1 machine:
$ file node_modules/@kie/act-js/build/bin/act
node_modules/@kie/act-js/build/bin/act: Mach-O 64-bit executable arm64


[Web-33] add & import departments data and populate selectOptions

https://user-images.githubusercontent.com/57051508/213825474-f075cc64-9d09-425c-9de1-02efd5d460ba.mov

Add departments.json file
Populate selectOptions with {label: "", value: ""} format

 [Web] Populate Department Select Options with .json


Non-existent pages clutters up the import script log

(This is a very minor thing but I just want to keep track of it)
I noticed when the import script encounters a post that no longer exists, it kind of "overreacts":
Downloading url: [14/19] https://meta.discourse.org/t/deploying-discourse-to-amazon-and-other-clouds/1632
   Creating doc: Deploying Discourse to Amazon (and other clouds)
                 sysadmins/general/deploying-discourse-to-amazon-and-other-clouds.md
Downloading url: [15/19] https://meta.discourse.org/t/discourse-on-nginx-passenger-an-exhaustive-howto/7984
"Error parsing: "
"\n
The page you requested doesn't exist or is private.
\n\n
\n
\n
Popular
\n
\n        What do user trust levels do?faq\n
\n
\n        Is it better for Discourse to use JavaScript or CoffeeScript?dev\n
\n
\n        Official Single-Sign-On for Discoursesso\n
\n
\n        Tuning Ruby and Rails for Discoursedev\n
\n
\n        Allowing SSL for your Discourse Docker setuphowto\n
\n
\n        Configuring Google OAuth2 login for Discoursehowto\n
\n
\n        Setting up file and image uploads to S3howto\n
\n
\n        Multisite configuration with Dockerhowto\n
\n
\n        Configuring Facebook login for Discoursehowto\n
\n
\n        Welcome to meta.discourse.org\n
\n
\n    More…\n
\n
\n
Recent
\n
\n        Define additional badge typessupport\n
\n
\n        Merging users from different forumsfeature\n
\n
\n        Don't display "x months later" if it's the first postbug\n
\n
\n        FAQ for categories?feature\n
\n
\n        Problems adding custom button to discourseextensibility\n
\n
\n        "Closed this topic" shouldn't word wrap the datebug\n
\n
\n        Removing bookmarks from profile doesn't workbug\n
\n
\n        Slow forum responses due to internal IP routing issuessupport\n
\n
\n        Tags showing next to topicspraise\n
\n
\n        Beginner's Guide to Creating Discourse Plugins Part 5: Admin Interfaces\n
\n
\n    More…\n
\n
\n\n
\n
\n
Search this site
\n
\n        <form action='//google.com/search' id='google-search' onsubmit=\"return google_button_clicked()\">\n          <input type=\"text\" id='user-query' value=\"discourse on nginx passenger an exhaustive howto\">\n          <input type='hidden' id='google-query' name=\"q\">\n          <button class=\"btn btn-primary\">Google</button>\n        </form>\n
\n
\n
\n\n  \n"
Downloading url: [16/19] https://meta.discourse.org/t/how-to-deploy-discourse-in-8-minutes-with-juju/20658
   Creating doc: How to deploy Discourse in 8 minutes with Juju
                 sysadmins/general/how-to-deploy-discourse-in-8-minutes-with-juju.md

Perhaps to keep the import log cleaner, it'd be possible to cut the message off at
"\n
The page you requested doesn't exist or is private.

At least the script keeps going, so no biggie.

Fixed.


helm lint errors

Helm linting has started running on istio/operator and there are errors. These must be fixed in the istio/installer upstream charts.

==> Linting ./data/charts/gateways/istio-ingress
[ERROR] templates/: render error in "istio-ingress/templates/serviceaccount.yaml": template: istio-ingress/templates/serviceaccount.yaml:3:14: executing "istio-ingress/templates/serviceaccount.yaml" at <.Values.global.image...>: map has no entry for key "global"
==> Linting ./data/charts/gateways/istio-egress
[ERROR] templates/: render error in "istio-egress/templates/serviceaccount.yaml": template: istio-egress/templates/serviceaccount.yaml:2:15: executing "istio-egress/templates/serviceaccount.yaml" at <$gateway.sds>: map has no entry for key "sds"
==> Linting ./data/charts/istio-telemetry/grafana
[INFO] Chart.yaml: icon is recommended
[ERROR] templates/: render error in "grafana/templates/tests/test-grafana-connection.yaml": template: grafana/templates/tests/test-grafana-connection.yaml:1:14: executing "grafana/templates/tests/test-grafana-connection.yaml" at <.Values.global.enabl...>: map has no entry for key "global"
==> Linting ./data/charts/istio-telemetry/mixer-telemetry
[ERROR] templates/: render error in "mixer-telemetry/templates/serviceaccount.yaml": template: mixer-telemetry/templates/serviceaccount.yaml:3:14: executing "mixer-telemetry/templates/serviceaccount.yaml" at <.Values.global.image...>: map has no entry for key "global"
==> Linting ./data/charts/istio-telemetry/prometheus-operator
[INFO] Chart.yaml: icon is recommended
[ERROR] templates/: render error in "prometheus-operator/templates/servicemonitors.yaml": template: prometheus-operator/templates/servicemonitors.yaml:15:18: executing "prometheus-operator/templates/servicemonitors.yaml" at <.Values.global.telem...>: map has no entry for key "global"
==> Linting ./data/charts/istio-telemetry/tracing
[INFO] Chart.yaml: icon is recommended
[ERROR] templates/: render error in "tracing/templates/deployment-jaeger.yaml": template: tracing/templates/deployment-jaeger.yaml:24:14: executing "tracing/templates/deployment-jaeger.yaml" at <.Values.tracing.cont...>: map has no entry for key "contextPath"
==> Linting ./data/charts/istio-telemetry/kiali
[INFO] Chart.yaml: icon is recommended
[ERROR] templates/: render error in "kiali/templates/serviceaccount.yaml": template: kiali/templates/serviceaccount.yaml:3:16: executing "kiali/templates/serviceaccount.yaml" at <.Values.global.image...>: map has no entry for key "global"
==> Linting ./data/charts/istio-telemetry/prometheus
[INFO] Chart.yaml: icon is recommended
[ERROR] templates/: render error in "prometheus/templates/tests/test-prometheus-connection.yaml": template: prometheus/templates/tests/test-prometheus-connection.yaml:1:14: executing "prometheus/templates/tests/test-prometheus-connection.yaml" at <.Values.global.enabl...>: map has no entry for key "global"
==> Linting ./data/charts/istio-control/istio-discovery
[ERROR] templates/: render error in "istio-discovery/templates/serviceaccount.yaml": template: istio-discovery/templates/serviceaccount.yaml:1:13: executing "istio-discovery/templates/serviceaccount.yaml" at <.Values.clusterResou...>: map has no entry for key "clusterResources"
==> Linting ./data/charts/istio-control/istio-config
[ERROR] templates/: render error in "istio-config/templates/serviceaccount.yaml": template: istio-config/templates/serviceaccount.yaml:3:14: executing "istio-config/templates/serviceaccount.yaml" at <.Values.global.image...>: map has no entry for key "global"
==> Linting ./data/charts/istio-control/istio-autoinject
[ERROR] templates/: render error in "istio-autoinject/templates/sidecar-injector-configmap.yaml": template: istio-autoinject/templates/sidecar-injector-configmap.yaml:1:18: executing "istio-autoinject/templates/sidecar-injector-configmap.yaml" at <.Values.global.omitS...>: map has no entry for key "global"
==> Linting ./data/charts/security/nodeagent
[ERROR] templates/: render error in "nodeagent/templates/serviceaccount.yaml": template: nodeagent/templates/serviceaccount.yaml:3:14: executing "nodeagent/templates/serviceaccount.yaml" at <.Values.global.image...>: map has no entry for key "global"
==> Linting ./data/charts/security/certmanager
[INFO] Chart.yaml: icon is recommended
[ERROR] templates/: render error in "certmanager/templates/serviceaccount.yaml": template: certmanager/templates/serviceaccount.yaml:3:14: executing "certmanager/templates/serviceaccount.yaml" at <.Values.global.image...>: map has no entry for key "global"
==> Linting ./data/charts/security/citadel
[ERROR] templates/: render error in "citadel/templates/serviceaccount.yaml": template: citadel/templates/serviceaccount.yaml:8:16: executing "citadel/templates/serviceaccount.yaml" at <.Values.global.image...>: map has no entry for key "global"
==> Linting ./data/charts/istio-cni
[ERROR] templates/: render error in "istio-cni/templates/serviceaccount.yaml": template: istio-cni/templates/serviceaccount.yaml:3:14: executing "istio-cni/templates/serviceaccount.yaml" at <.Values.global.image...>: map has no entry for key "global"
==> Linting ./data/charts/crds
[ERROR] Chart.yaml: directory name (crds) and chart name (istio-crds) must be the same
[INFO] values.yaml: file does not exist
[ERROR] templates/: render error in "istio-crds/templates/namespaces.yaml": template: istio-crds/templates/namespaces.yaml:11:17: executing "istio-crds/templates/namespaces.yaml" at <.Values.global.istio...>: map has no entry for key "global"
==> Linting ./data/charts/istiocoredns
[INFO] Chart.yaml: icon is recommended
[ERROR] templates/: render error in "istiocoredns/templates/serviceaccount.yaml": template: istiocoredns/templates/serviceaccount.yaml:3:14: executing "istiocoredns/templates/serviceaccount.yaml" at <.Values.global.image...>: map has no entry for key "global"
==> Linting ./data/charts/istio-policy
[ERROR] templates/: render error in "istio-policy/templates/serviceaccount.yaml": template: istio-policy/templates/serviceaccount.yaml:3:14: executing "istio-policy/templates/serviceaccount.yaml" at <.Values.global.image...>: map has no entry for key "global"

The way we use helm is not really compatible with how linter works. We use the global.yaml file, but helm expects all known values to be in the local values.yaml file. So it would required a lot of reworking, not just minor patches

Yeah, it's not even possible to silence it by adding nil values because that would cause global.yaml defaults to be overridden when the charts are rendered.
Basically, this lint error is reporting the fact that even though we claim these are separate charts, they are not really separate because they have implicit dependency on global.yaml.

@ostromart we do have a lint target actually, run-lint, that does things like helm lint istio-control/istio-discovery -f global.yaml, and it works well. Do you think there is anything else to do here?

Could you please explain a bit more in details what do you mean by global.yaml? In the examples I see that you have the values.yaml file, isn't this expected to work for helm lint and helm install? I have the same error that's called out here.

in the top level istio/installer folder there is a global.yaml file. All
helm commands are expected to be called with -f global.yaml
On Sat, Sep 28, 2019, 1:04 AM SupSm<EMAIL_ADDRESS>wrote:

Could you please explain a bit more in details what do you mean by
global.yaml? In the examples I see that you have the values.yaml file,
isn't this expected to work for helm lint and helm install? I have the same
error that's called out here.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/istio/istio/issues/17035?email_source=notifications&email_token=AAEYGXPPAEFOP2EI2A3M3CTQL4FXXA5CNFSM4IVZXIK2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD72TPSA#issuecomment-536164296,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAEYGXPWPCZJPX33LGBM3XTQL4FXXANCNFSM4IVZXIKQ
.

Working on fixing this


Figma operations

### Tasks
- [ ] https://github.com/carbon-design-system/ibm-products/issues/4883
- [ ] https://github.com/carbon-design-system/ibm-products/issues/4884
- [ ] https://github.com/carbon-design-system/ibm-products/issues/4886
- [x] Create team operation folder
- [x] Work with the workgroups to align on the things.

Closed, with follow on #5568 to clean up and finalize Figma spec


JS: js/shell-command-injection-from-environment

Adds a query for command line injections caused by the inclusion of unsanitized values from the execution environment, specifically file and directory names. Depending on the threat model, dynamically obtained path values should be regarded as being potentially malicious, in practice a TP from this query probably just means that a command line execution will fail when the user has spaces in his paths.
Misc. build/test scripts are particularly prone to TPs due to their missing handling of spaces in absolute paths, other results are practically safe as they quote the file names.
Additional sources of absolute paths and environment values that should be sanitized are welcome.
Results are plenty, but none seem worth a vulnerability report, the best result is exec('rm -rf ' + __dirname + '/screenshots', ..., which may remove too many files if there are spaces in the path of the currently executing file (inspires the qhelp).
Standalone performance is unsurprisingly comparable to js/command-line-injection. ~I have started a slightly more precise performance evaluation~ Performance when evaluated with the two other command-injection queries seems to be in line with a new taint query.

If you include process.execPath as a source, shouldn't you then also include reads from process.argv, process.execArgv (and possibly process_env?)

process.argv is covered by js/indirect-command-line-injection/https://lgtm.com/rules/1509670596145/, with a much higher FP rate in practice, I am sure it is the right choice to keep these two queries separate.
process.execArgv maybe belongs as a source in  js/indirect-command-line-injection, but I think the FP rate will be abysmal.
The properties of process.env.X is an interesting (and obvious, doh) source, I have made a note about it here as I suspect it will lead to noisy false positives that require special casing on specific environment variable names.

LGTM. But someone else should also take a look.
(The build fails due to mixed tabs and spaces).

All comments addressed.
I have rebased away the conflict, and squashed the review-fixups at the same time.

Have we lost the HTML previews?

No, it is there now. Maybe it was not produced because of the merge conflict (I did not check).

Thanks. I have applied the suggestions.

This looks good to go; could you squash the fixups?

Done

@mchammer01, could you re-approve this PR?

done 😉


Problems with Shortcuts on Linux

Hey,
I have it installed on my Linux machine (Ubuntu 16.04 with GDM and XFCE) and I ran into a few problems. The shortcuts to change panes with arrows aren't working, even when i modify them od change the system defaults for switching desktops (occupie the hyper-pane ones).
I cant get it working and I have no idea why.
(also I saw that the pane inactivePaneOpacity is not working for me too, not that important, but may hint to the problem)
~BakaHubertus

Can you give me hyper and hyper-pane version ? (About box)

I'm having the same issue on Mac 10.13.3. Arrow nor numbered keys are working for me.
Hyper 2.0.0
Plugins:
  hyper-pane (2.1.3),
  hyper-oceanic-next (0.0.2)```

Hello,
I had the same problem on Arch linux - keybinding doesn't work. I changed keybinding and now it's working. For example 'meta+enter' for zoom didn't work so I replaced it by "shift+ctrl+x" (aka Terminator).

I think that we need better default shortcuts for Linux

I'm having the same issue, only number-jumping works for me.
Ubuntu 18.04
Hyper 3.0.2 (stable)
Plugins:
    hyper-pane (2.1.5)
    hyperpower (1.1.1)

I was able to work around this issue by removing the Gnome key bindings for ctrl alt arrow keys as described here:
https://unix.stackexchange.com/questions/394143/how-to-disable-gnome-ctrlaltdown-and-ctrlaltup-shortcut/420395

I had the same issue. I handle this by adding a custom panelNavigation config to overwrite the default hotkeys config.
config: {
paneNavigation: {
  debug: false,
  hotkeys: {
    navigation: {
      up: 'alt+up',
      down: 'alt+down',
      left: 'alt+left',
      right: 'alt+right'
    },
    jump_prefix: 'ctrl+alt', // completed with 1-9 digits
    permutation_modifier: 'shift', // Added to jump and navigation hotkeys for pane permutation
    maximize: 'meta+enter'
  },
  showIndicators: true, // Show pane number
  indicatorPrefix: '^⌥', // Will be completed with pane number
  indicatorStyle: { // Added to indicator <div>
    position: 'absolute',
    top: 0,
    left: 0,
    fontSize: '10px'
  },
  focusOnMouseHover: false,
  inactivePaneOpacity: 0.6 // Set to 1 to disable inactive panes dimming
},
};

I can confirm this issue with xfce. I tried multiple variations and ensured they were not in use by either the window manager nor the application runner. As reported before working with numbers is possible but all combinations with arrow keys + the maximize combination is not willing to work...

I can confirm with issue with latest versions. Changing keybinds to something else fixes the issue. I'm including my own config if someone wants vim-like keys like me:
paneNavigation: {
            inactivePaneOpacity: 0.5,
            hotkeys: {
                navigation: {
                    left: 'ctrl+alt+h',
                    down: 'ctrl+alt+j',
                    up: 'ctrl+alt+k',
                    right: 'ctrl+alt+l',
                }
            }
        }


Hand detector bbox with cv2.COLOR_BGR2GRAY causes crashing

EXPECTED BEHAVIOUR
Not randomly crashes when running with BGR2GRAY as a filter
ACTUAL BEHAVIOUR:
Crashes randomly with the error code:
    gray = cv2.cvtColor(roi, cv2.COLOR_BGR2GRAY)
cv2.error: OpenCV(4.5.5) /io/opencv/modules/imgproc/src/color.cpp:182: error: (-215:Assertion failed) !_src.empty() in function 'cvtColor'

OS: Linux and Windows has the same issue
cvzone v.1.22.2

Did you find a solution?


Nav bar TAB accessibility

For accessibility - Nav search and color switcher in the header are not TAB accessible because they are DIVs. If you change to  and add some css style overrides for background:none and border: none, that should fix it!

This seems to be very stale, if still present pls reopen.


The for loops for pretraining and main training are ignored

when choosing extremely small no. of samples , which lead that the len(no._of batches) of the dataset which is fed to the dataloader to be equal to zero, which makes the iteration loop to for i in range( 0,0, step):  .. thats why the looping didn't work and the ic_loss wasn't calculated at the first place.
i would suggest creating a warning message when choosing a no. of samples which can make the length of the datasets yields to zero after  the using of "//" operator.
the for loops are found in line 503 and 518 in the pinn.fit () function in the pinn.py file

Will be fixed with pullrequest #40


unknown filter chip is active after deleting filter

I have a custom dropdown filter for one column.
the filter works as expected, i select one item from the dropdown and the table filters by this value.
After deleting the "chip" i get another chip with an unknown value. and the table shows no results.
it only happens if the filtered string has a whitespace'

Expected Behavior

after deleting a filter pill, no data is shown

Current Behavior

deleting a filter pill should reset the filter

Steps to Reproduce (for bugs)
{
    name: 'orderStatus',
    label: 'Status',
    options: {
      filter: true,
      sort: true,
      customBodyRender: (orderStatus: Status) => {
        return <StatusText orderStatus={orderStatus} />;
      },
      filterType: 'custom' as any,
      filterOptions: {
        logic: (orderStatus: any, filters: any) => {
          if (filters.length) return !filters.includes(orderStatus.status);
          return false;
        },

        display: (filterList: any, onChange: any, index: any, column: any) => {
          const optionValues = [
           'active',
'string with whitespace'
           .. more filter values
          ];
          return (
            <FormControl>
              <InputLabel htmlFor="select-status">Status</InputLabel>
              <Select
                labelId="select-status"
                id="select-status"
                value={filterList[index]}
                onChange={event => {
                  filterList[index] = event.target.value;
                  onChange(filterList[index], index, column);
                }}
              >
                {optionValues.map(item => (
                  <MenuItem key={item} value={item}>
                    {item}
                  </MenuItem>
                ))}
              </Select>
            </FormControl>
          );
        }
      }
    }
  }

i also recreated this issue here: https://codesandbox.io/s/custom-filter-issue-hh5re
Your Environment

Tech
Version

Material-UI
4.8.3

MUI-datatables
2.13.4

React
16.12.0

browser
Chrome 80.0.3987.100

etc

me too 👀

So, the problem occurs due to what you are sending back as the filterList in the onChange. The onChange expects an array here, but you are returning a string, which is causing issues. You would still receive issues here even when using strings with no spaces. You have to either ensure you are sending an array or use the multiple prop in the Select which changes values to arrays for you.
This issue highlights the need for better documentation around the arguments in the display function, but this is not a bug as such.


Gracefully handle invalid perf counter

Resolve #96

Codecov Report

Merging #123 into master will increase coverage by 0.06%.
The diff coverage is 100%.

@@            Coverage Diff            @@
##           master    #123      +/-   ##
=========================================
+ Coverage   81.43%   81.5%   +0.06%
=========================================
  Files          16      16
  Lines         544     546       +2
=========================================
+ Hits          443     445       +2
  Misses        101     101

Impacted Files
Coverage Δ

lib/pkg/perfcounters/perfcounters.go
94.87% <100%> (+0.27%)
:arrow_up:

Continue to review full report at Codecov.

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


Python 3 support

Add support for Python 3 in frozendict.

@slezica Would you please merge this and release to PyPI?

Sorry I took this long!

Thank you!


nil unwrap 4.1.1 using selectDates(trigger: false)

Getting a unexpectedly found nil while unwrapping an Optional value at line 174 let index = self.theSelectedIndexPaths.indexOf(oldIndexPath)!
I am selecting dates with triggerDelegate set to false.

there in chat?

Oh damn, i forgot to make it a contitional unwrap >_<
fixing this now

Is multiSelect enabled?
When are you selecting the date cells? is it on viewDidLoad()
I have more questions to ask.

if youre in chat, then let me know --> https://gitter.im/patchthecode/JTAppleCalendar

Ok. I have re-created the issue. Checking now.

I have push a change to master branch. Can you test the master branch?
Change your pod to have this ->
pod 'JTAppleCalendar', :git => 'https://github.com/patchthecode/JTAppleCalendar.git'

Released path. update to version 4.1.2

yep that was it works great!

Cheers


Question about test file

The file at test/done.fish doesn't appear to contain valid fish syntax where the test function is used, is this on purpose?
function setup
  source conf.d/done.fish
end

test "command are executed without errors"
  0 -eq (echo 1 > /dev/null; echo $status)
end

Output:

/t/d/test >>> fish done.fish
done.fish (line 7): 'end' outside of a block
end
^
 fish: Error while reading file done.fish

The tests are run with https://github.com/jorgebucaran/fishtape
The syntax seems to be outdated


Cannot read property 'unshift' of undefined

I just create a project with:
meteor create meteor-ts --react
then
meteor add nathantreid:typescript-babel
then renamed main.jsx file to main.tsx (updated on package.json too), and write this code:
import React from 'react'
import { Meteor } from 'meteor/meteor'
import { render } from 'react-dom'

Meteor.startup(() => {
  render(
hello
, document.getElementById('react-target'));
});

then
meteor
I don't know exactly how to solve this problem.

Sorry about the delay in getting back to you - it looks like there is a bug in the code that adds the plugin - it expects a .babelrc file with a plugins entry (even if it's empty).
For example:
{
  "plugins": [
  ]
}

I'll release a fix ASAP, but that's the current workaround.


Use specialized dictionary kernels (#1178)

Draft as likely needs a bit more testing
Which issue does this PR close?
Part of #1178
Rationale for this change
Arrow-rs supports native evaluation on dictionaries for comparison operations against other dictionaries and scalars. We should make use of this to avoid hydrating dictionaries unnecessarily
What changes are included in this PR?
Tweaks the coercion rules to coerce to the dictionary type if supported by the operator
Are there any user-facing changes?
No

Unsurprisingly the performance benefits of this are quite pronounced
scheduled: select count(*) from t where dict_10_required = 'prefix#0'
                        time:   [4.0683 ms 4.0732 ms 4.0783 ms]
                        change: [-40.646% -40.476% -40.299%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 3 outliers among 100 measurements (3.00%)
  3 (3.00%) high mild

tokio: select count(*) from t where dict_100_required = 'prefix#0'
                        time:   [4.4917 ms 4.5479 ms 4.6022 ms]
                        change: [-39.027% -38.266% -37.502%] (p = 0.00 < 0.05)
                        Performance has improved.

scheduled: select count(*) from t where dict_100_required = 'prefix#0'
                        time:   [3.8694 ms 3.8755 ms 3.8815 ms]
                        change: [-33.176% -32.985% -32.795%] (p = 0.00 < 0.05)
                        Performance has improved.

tokio: select count(*) from t where dict_1000_required = 'prefix#0'
                        time:   [4.7944 ms 4.8326 ms 4.8687 ms]
                        change: [-31.344% -30.719% -30.083%] (p = 0.00 < 0.05)
                        Performance has improved.

Codecov Report

Merging #2808 (1513b88) into master (7617d78) will increase coverage by 0.11%.
The diff coverage is 96.15%.

@@            Coverage Diff             @@
##           master    #2808      +/-   ##
==========================================
+ Coverage   85.11%   85.22%   +0.11%
==========================================
  Files         273      274       +1
  Lines       48242    48634     +392
==========================================
+ Hits        41059    41449     +390
- Misses       7183     7185       +2

Impacted Files
Coverage Δ

datafusion/physical-expr/src/expressions/binary.rs
95.12% <75.00%> (+<0.01%)
:arrow_up:

datafusion/expr/src/binary_rule.rs
84.76% <100.00%> (+0.47%)
:arrow_up:

datafusion/core/src/physical_plan/join_utils.rs
93.61% <0.00%> (-3.20%)
:arrow_down:

datafusion/sql/src/planner.rs
81.36% <0.00%> (ø)

...fusion/optimizer/src/single_distinct_to_groupby.rs
98.80% <0.00%> (ø)

...on/core/src/physical_optimizer/coalesce_batches.rs
100.00% <0.00%> (ø)

datafusion/optimizer/src/reduce_outer_join.rs
99.39% <0.00%> (ø)

datafusion/core/tests/sql/joins.rs
99.31% <0.00%> (+0.20%)
:arrow_up:

datafusion/expr/src/logical_plan/plan.rs
74.40% <0.00%> (+0.29%)
:arrow_up:

datafusion/core/src/config.rs
90.76% <0.00%> (+0.44%)
:arrow_up:

... and 3 more

Continue to review full report at Codecov.

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


Implement FromStr

Sir, it's a quite useful and common trait.

Hey @KaiWitt, thanks so much for your time and effort in this PR!
Would be great to have these commits squashed into one with a name following conventional commits guidelines.
I suggest something similar to:
feat: support for "FromStr" trait for "Credentials"

Thanks so much @KaiWitt!


factory-reset: fixed bug when restore settings

 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.


[FLINK-5742] allow docs sidebar nav to work below 1200px

The breakpoints for the docs move the content below the sidebar navigation for widths below 1200px, which is frequently annoying. Getting this down to 992px was relatively straightforward, but going much lower would require something of a redesign, in my opinion (the navigation is designed to be about 260px wide, and isn't easily shrunk).

@alpinegizmo nice fix! Merging ...


test: Cypress - Flaky test fix

Description
Fixed below flaky tests:

BindButton_Text_WithRecaptcha_spec.js
JSONFrom_Modal_spec.js

Type of change

Flaky test fix

How Has This Been Tested?

Cypress test runs

Checklist:
QA activity:

[ ] Test plan has been approved by relevant developers
[ ] Test plan has been peer reviewed by QA
[ ] Cypress test cases have been added and approved by either SDET or manual QA
[ ] Organized project review call with relevant stakeholders after Round 1/2 of QA
[ ] Added Test Plan Approved label after reveiwing all Cypress test

/ok-to-test sha=e32afdb

/ok-to-test sha=548654b

/ok-to-test sha=479b960

/ok-to-test sha=786e0c5

/ci-merge-check


Add Gerillass Sass library to the list

Looking good, Halil! Thank you!

Looking good, Halil! Thank you!
Thank you, Thanakron. It is a great resource.