Sidenav always visible when nested elements use fullscreen.

Bug/proposal
Hey guys,
I'm using the  sidenav component which puts all content inside 'mat-sidenav-content' that contains sets z-index: 1;. This is causing an issue any nested components require fullscreen because the side navigation is always visible no matter what z-index I use. I expect this to be because the mat-sidenav-content has a priority over the child elements.
It ends up looking like this:

What is the expected behavior?
I would like the ability for nested components to use fullscreen without manually hiding the sidenav.
Which versions of Angular, Material, OS, TypeScript, browsers are affected?
Using Angular material 2.0.0-beta.12 & Angular 4.4.4.
Is there anything else we should know?
It seems that setting z-index to -2 to   .mat-drawer-content or .mat-drawer.mat-drawer-side classes fixes the issue, but I'm unsure as to any other side effects this might have. I have not seen any though.
After this change it looks as I would expect it to:

I'm no front-end developer, but overriding these classes did the trick for me:
.mat-drawer.mat-drawer-side {
    z-index: 1!important;
}

.mat-drawer-content {
    z-index: auto!important;
}

.mat-drawer-container {
    z-index: auto!important;
}

So far it seems ok and I found no issues with this so far.

We introduced z-index as a way of creating a new stacking context since transform: translate3d(0,0,0) caused fixed position elements to behave like absolute ones. We can revisit and see if there's something else we can do, but for now overriding the z-index is the appropriate workaround.

Hai , I am using as per above style sheet backdrop not appear to main component sidenav . Please help


chore: various small changes

eslint 1.0
results => hits widget
more documentation on widgets
readme TOC
various indenting fixes, trying to follow react style
consistent requires
missing use strict

I will try to configure eslint to check the various linting changes so that it's automatically checked

Do not merge PR, I will have to reopen it to develop.
But you can still review.

:+1:


test: add cloud function test for Java

adds Java Cloud Function (CF) deployment to test Java logging test in CF environment.
deployment is located in designated folder outside of the standard Java application structure: deployable/java/cf
deploys with Java 11 (no earlier versions of Java runtime are supported).
Implements #53

I adapted this and merged it as https://github.com/googleapis/env-tests-logging/pull/88. Thanks!


[MM-22629] Center-align tall & thin image attachments

Summary
Visual treatment of "tall & thin" image attachments (width < 48 pixels) was pushed left-aligned, instead of center-aligned.
Regression introduced by #3807
Bug reported in community: https://community.mattermost.com/core/pl/yy39ajg1ajfm386dms6tdyjrtw
Ticket Link
MM-22629
Checklist

[x] Has UI changes

Device Information
This PR was tested on: Android 10 Simulator (Pixel 3)
Screenshots

Old
New

@enahum @amyblais I've marked this for 1.29. Please confirm. Technically, it's a regression.

Lets build the PR ;) going to try with the label if that does not work we revert to build the pr as usual

Building app in separate branch.

Successfully building:
https://circleci.com/gh/mattermost/mattermost-mobile/3674
https://circleci.com/gh/mattermost/mattermost-mobile/3673

Artifact links:
https://3674-70265724-gh.circle-artifacts.com/0/~/mattermost-mobile/Mattermost_Beta.apk
https://3673-70265724-gh.circle-artifacts.com/0/~/mattermost-mobile/Mattermost_Beta.ipa


Is Mapsui compatible with .Net core 3.1?

Hi,
I am using .Net core for WPF desktop application and am not able to use the Mapsui mapcontrol. Is Mapsui compatible with .NET core?

No, it isn't. There has been another question about this, please look here:
https://github.com/Mapsui/Mapsui/issues/917
It does suggest a possible solution.


86 improve uiux on create task page

Improve UI/UX on label form

Remove Done button
Add closing by Esc
Add continuing by Enter

Motivation and context

resolve #86
How has this been tested?

Checklist

[x] I submit my changes into the develop branch
[x] I have added a description of my changes into CHANGELOG file
[ ] I have updated the documentation accordingly
[x] I have added tests to cover my changes
[ ] I have linked related issues (read github docs)
[x] I have increased versions of npm packages if it is necessary (cvat-canvas,
cvat-core, cvat-data and cvat-ui)

License

[x] I submit my code changes under the same MIT License that covers the project.
Feel free to contact the maintainers if that's a concern.

@AlexeyAlexeevXperienceAI Try to merge new changes from develop branch to enable workflows for your PR

/check

/check

/check

/check

/check

/check


Initial implementation of library

Library to allow interface API libraries designed primarily for the operator framework to be registered with the legacy reactive framework so that they can be used in reactive charms with minimal effort on the interface API library maintainer (primarily just by implementing a manage_flags method which will only be called when used in a reactive charm). The integration tests contain complete, albeit simple, examples of how this can be used.
This depends on https://github.com/juju-solutions/charms.reactive/pull/227
Things that are missing / known to be broken:

README / documentation
Reactive K8s charms currently don't work due to the way layer:caas-base manages dependencies and builds the "venv". This layer needs to be updated to:

Include the combined wheelhouse.txt processing that was added to charm-tools
Construct the "venv" in the same way as charmcraft such that the package metadata is preserved so that entry points work

Due to previous, we should also include integration tests using K8s charms

I'll have to sort out the GitHub Workflow issue for the integration test, but I did get a passing run locally, at least:
========== 1 passed in 753.61s (0:12:33) ==========
_____________________ summary _____________________
  integration: commands succeeded
  congratulations :)


Failing tests in master: left_join_using and left_join

Describe the bug
---- left_join_using stdout ----
thread 'left_join_using' panicked at 'assertion failed: `(left == right)`
  left: `[["11", "a", "z"], ["22", "b", "y"], ["33", "c", "NULL"], ["44", "d", "x"]]`,
 right: `[["11", "a", "z"], ["22", "b", "y"], ["44", "d", "x"]]`', datafusion/tests/sql.rs:1252:5
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

---- left_join stdout ----
thread 'left_join' panicked at 'assertion failed: `(left == right)`
  left: `[["11", "a", "z"], ["22", "b", "y"], ["33", "c", "NULL"], ["44", "d", "x"]]`,
 right: `[["11", "a", "z"], ["22", "b", "y"], ["44", "d", "x"]]`', datafusion/tests/sql.rs:1221:5

To Reproduce
Checkout commit c945b03f3a459a5c15f481f9d52819df56e1090c and run cargo test.
Expected behavior
Tests should pass.
Additional context
rustc 1.51.0 (2fd73fabe 2021-03-23)
Running on my 24 core desktop so perhaps this uncovers a race condition?

The regression seems to have been introduced in this commit (or at least I start to see it with this commit).
commit 33715747db5a3cc48936c7b26859d4ad5809cde8 (HEAD)
Author: Daniël Heres<EMAIL_ADDRESS>Date:   Wed Apr 28 12:28:16 2021 +0200

    [DataFusion] Optimize hash join inner workings, null handling fix (#24)

@Dandandan fyi

Hm. I will have a look tomorrow if someone doesn't beat me to it. There is also a known issue with the left join being wrong across multiple batches, so it could that the fix included in this particular commit triggers the issue in those tests

I reproduced the bug by explicitly setting the concurrency for those tests to 24.
So here is my hypothesis into what happens:

The left join has a wrong implementation in that it will produce rows when they are missing in the right batch, instead of in the entire partition.
The referenced commit has some changes to (re)hashing of single columns, which means that columns could end up without any right-side rows.
We also use the same hashing code in hash-repartition which means that the 33 row could end up in its "own" partition. In that case, no right batch is being processed, so no row is being generated for 33.

I have a feeling that to fix this in the general case it would be best to "just" fix the left join implementation.
Another option would be maybe to cherry-pick this change which would fix just this test from PR #55:
https://github.com/apache/arrow-datafusion/pull/55/files#diff-44d49c7778aa0c300afacdd7d89b0729ffaedd932d1ac34f3ef8db6b6cdfd73aR904

I was thinking (this may be completely off):
Since nulls are generally ignored on joins, can't we fix the null stuff on joins by a "drop_null" operation on both sides, prior to any hashing and actual join?

Thanks @jorgecarleitao
I added an implementation of left join where unmatched left rows are produced at the end of a stream.
I think there might be some possible improvements:

Use a bitmap structure instead of Vec<bool>. Efficiency-wise, the current PR should already be a large improvement though (don't have any benchmarks to prove it ATM, but a new hashset for each batch seems like it will be quite slow).
Generate the unmatched rows in batches with the configured batch size. Currently, it generates them in "one go".

@andygrove this also seems to fix the tests in this issue.


logging: Add support for standalone using STMESP frontend on nrf54h20

PR is based on already opened draft PRs (#72091 STMESP+ETR dictionary-based logging, #72129 coresight trace deformatter and #72151 STPv2 decoder) and present full solution where multicore logging can work in two modes:

dictionary-based
standalone

Logs from all CPUs are handled by cpuapp and printed on UART used for console. This PR in particular adds standalone mode which requires more processing on chip since data from ETR buffer must be decoded. Decoding happens in few stages:

16 byte chunks are read from ETR and decoded using Coresight Trace Deformatter.
Data decoded from the deformatter goes to STPv2 decoder
Data from STPv2 decoder goes to the multiplexer which de-interleaves logging/tracing messages from the STPv2 data stream. Since messages comes from various cores the data may be interleaved. There are 3 types of messages: logging messages, trace points (super fast and short messages) and HW events (automatically generated by the Coresight STM).
Demultiplexed messages are finally formatted to the human readable strings using log_output module from the logger.

Sample samples/subsys/logging/nrf_coresight_stm is used to demonstrate multidomain logging performance. Sample uses sysbuild and compiles for cpuapp and cpurad. It can be compiled in 3 different configurations: dictionary-based, standalone and local UART (cpurad prints to own UART).
When standalone mode is used then logging (and printks) from both cores are printed on the cpuapp console UART. Output is like standard Zephyr logging with additional prefix for the core. Example below shows one log from app followed by the tracepoint from rad and tracepoint from app.
[00:00:00.823,107] <inf> app/app: test with string test string
[00:00:01.217,198] rad/tp: 6 0000000a
[00:00:01.217,248] app/tp: 16 0000000a

Logging to STMESP is using standard Zephyr logging API with additional extension for tracepoints. Tracepoints API defined in zephyr/logging/log_frontend_stmesp.h. There are 2 types of tracepoints:

with word data log_frontend_stmesp_tp_d32(6, 10) - decoded to [00:00:01.217,198] rad/tp: 6 0000000a
without data  log_frontend_stmesp_tp_d32(6)- decoded to[00:00:01.217,198] rad/tp: 6`

Tracepoints are super fast as it takes ~0.1us to log a tracepoint (compared to 0.8us for the simplest logging message using dictionary mode).
DNM because there is no official SDFW that supports this and device tree configuration regarding STMESP/ETR resources may change once official SDFW support is added.

Is this a temporary solution until the binding is present? If yes, how about a TODO comment so that our intention would be clear to whoever reads the code.

Added todo comment to be fixed when aligning to SDFW supporting STM through UICR.

@nordic-krch  Sorry that I missed this but this will need a README, please.
https://docs.zephyrproject.org/latest/samples/sample_definition_and_criteria.html#samples-must-be-documented
Thanks!


5.2?

Any plans for updating to 5.2+? I saw some dependency errors with applog when trying to install...

Not at the moment. I did try porting one of my applications to Laravel 5.2 and got so many issues that I rolled back to 5.1. I probably won't try again until there is another LTS version later than 5.1.
If you want to submit a PR to fix the dependency errors then I'll take a look.


Pretty print not implemented for Map

Describe the bug
The pretty print implementation for Map is missing.
Error: ArrowError(InvalidArgumentError("Pretty printing not implemented for Map(Field { name: \"map\", data_type: Struct([Field { name: \"key\", data_type: Utf8, nullable: false, dict_id: 0, dict_is_ordered: false, metadata: {} }, Field { name: \"value\", data_type: Utf8, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }]), nullable: false, dict_id: 0, dict_is_ordered: false, metadata: {} }, false) type"))

To Reproduce
let df = ctx.read_parquet(glob_path, ParquetReadOptions::default()).await?;
df.show().await?

Expected behavior
To print either the map's content or a hash representation of that map.
Additional context
This is in the context of using DataFusion and loading some parquet files containing Maps.
The code that does the pretty print is here: https://github.com/apache/arrow-rs/blob/master/arrow-cast/src/display.rs

This should be relatively straightforward, I believe a row should be rendered as
{"key": "value", "key2": "value"}

i.e. flattening the list part.
The first version can probably use array_value_to_string, whilst very slow, we can always optimise it later

I'll give this a try.

label_issue.py automatically added labels {'arrow'} from #3339


OCPBUGS-29821: Fix lca bundle with workload.openshift.io/allowed annotation

When workload-partitioning is enabled on the OCP cluster where the operator is going to be deployed, the operator's namespace requires the "[workload.openshift.io/allowed](http://workload.openshift.io/allowed)": "management" annotation to be successfully deployed.
Signed-off-by: Leonardo Ochoa-Aday<EMAIL_ADDRESS>/cc @rauhersu @jc-rh @browsell

Just let me know if you want / need me to update installModes to enable AllNamespaces in this same PR.

/lgtm

/cherrypick release-4.15


Decouple Cluster.Name from Cluster.Endpoint and Cluster.CABundle

Tell us about your request
The Cluster field in ProvisionerSpec is optional, it is a pointer *Cluster and thus can be nil and is documented with +optional. This is not consistent with the validation logic which requires the Cluster field to be not nil.
I guess the validation logic is biased towards the AWS provider which requires the Cluster.Name in several places:

https://github.com/awslabs/karpenter/blob/v0.2.8/pkg/cloudprovider/aws/securitygroups.go
https://github.com/awslabs/karpenter/blob/v0.2.8/pkg/cloudprovider/aws/subnets.go#L68
https://github.com/awslabs/karpenter/blob/v0.2.8/pkg/cloudprovider/aws/launchtemplate.go#L72
https://github.com/awslabs/karpenter/blob/v0.2.8/pkg/cloudprovider/aws/launchtemplate.go#L156
...

Even worse, having to provide the Cluster config also implies that I have to provide the Cluster.CABundle attribute, as the current validation logic requires it as well. This is bad, because I don't want to provide those details as I want to use the in-cluster configuration instead (see below for why). Furthermore, other cloud providers might not need a Cluster.Name at all in which case it would be very irritating if one has to provide a name.
Some key findings:

Cluster.Name is a (AWS) provider specific configuration attribute, Kubernetes itself has no such concept like a Cluster.Name.
Cluster.Endpoint and Cluster.CABundle are client connectivity configuration parameters used by the node (kubelet) to connect to the cluster.
Cluster.Endpoint must be provided as it cannot be automatically deduced from the in-cluster configuration. This is because in the in-cluster configuration it is a Kubernetes Service (DNS) name (kubernetes.default.svc) and the node (kubelet) will not be able to resolve that internal DNS name.
Cluster.CABundle can be extracted from the in-cluster configuration (/var/run/secrets/kubernetes.io/serviceaccount/ca.crt).

Therefore I propose that with regard to optionality, Cluster.Name should be decoupled from spec.Cluster.Endpoint and spec.Cluster.CABundle as they serve completely different purposes. Which would support the following use-cases:

only Cluster.Endpoint is provided and controller uses the in-cluster configuration (/var/run/secrets/kubernetes.io/serviceaccount/ca.crt) as default value for Cluster.CABundle.
only Cluster.Endpoint and Cluster.Name are provided and controller uses the in-cluster configuration as default value for Cluster.CABundle.
only Cluster.CABundle and Cluster.Endpoint is provided and controller uses those parameters.
Cluster.Name as well as Cluster.CABundle and Cluster.Endpoint are provided and controller uses those parameters.

Possible Solutions (brainstorming)
However this is implemented, it will imply that some of the validation logic is provider specific and has to be move into the provider (e.g. the AWS provider might require the Cluster.Name attribute while other providers might not).

make  spec.Cluster mandatory as Cluster.Endpoint is mandatory.
Cluster.Endpoint is mandatory
make Cluster.CABundle and Cluster.Name optional in API and let the validation logic deal with it.
the generic, provider agnostic, validation logic should check that Cluster.Endpoint is not empty.
if Cluster.CABundle is empty (not set) load it from the in-cluster configuration (/var/run/secrets/kubernetes.io/serviceaccount/ca.crt), which will ensure that the kublet will use the latest CABundle. This will enable seamless (fully automated) CA rotation without any manual intervention (no need to manually update the Provisioner CRD objects).
the AWS provider specific validation logic should check that Cluster.Name is not-empty.

Tell us about the problem you're trying to solve. What are you trying to do, and why is it hard?
I want to deploy Karpenter, but I don't want to provide the Cluster.CABundle attribute, as I want to use the in-cluster config instead. Note, I am totally find having to provide the Cluster.Name and Cluster.Endpoint attribute as they never changes during the lifetime of a cluster. But I don't want to provider the Cluster.CABundle attribute as it might change over the course of time (e.g. if the CA expires one day and is rotated).

Community Note

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

Thanks @alex-berger for the excellent write up. I agree with your analysis and find this to be a rough edge as well. I'm curious how other cloud providers discover things like subnets without something like cluster name, but I agree that this is an implementation detail, and we should make this optional.
Proposed
From your suggestions, I think this is a reasonable path forward.

Make spec.Cluster required (not a ptr)
Make spec.Cluster.Endpoint required
Make spec.Cluster.Name optional
Make spec.Cluster.CABundle optional
Validate Cluster.Name in AWS Cloud Provider only
If spec.Cluster.CABundle is not set, discover it from /var/run/secrets/kubernetes.io/serviceaccount/ca.crt

Alternative (Discover Everything w/ Constraints)
One option would be to require cloud providers to discover everything via well known labels constraints. E.g. In AWS, require users to specify a launch template that is preconfigured with cluster connectivity parameters. For subnet/security group discovery, the well known labels must be set.

I don't like that it increases the user configuration burden
I like that it removes an awkward and error prone dependency on aws tags for resource discovery
I don't like that the spec loses it's self explanatory nature, and users are required to go to the docs to figure out how to configure provisioners.

Alternative (Loosely Type Everything)
We could make a new field:
Provider map[string]string

This would enable cloud providers to require arbitrary configuration parameters. You could imagine one provider using public certs, and not needing CABundle. You could also imagine some introspection mechanism (akin to IMDS) that could be used to discover fields like cluster endpoint or name.

This map could still be validated by cloud providers, but would require strong documentation (outside of godocs)
I like this approach because it creates an additional hook for cloud provider flexibility
I don't like that it could eventually degrade to an unusable stringly-typed configuration bag


Output not working when saving as option

Issue description:
I've reduced it down to simple examples where it works as theme_mod but not as option. So far I've confirmed this with Radio and Button_Set fields but it possibly happens with others as well.
To clarify, there IS output, but it always uses the default, not the saved value.
Version used:
4.0.21
Using theme_mods or options?
options
Code to reproduce the issue (config + field(s))
Broken
Swap out new \Kirki\Field\Radio( for new \Kirki\Field\Radio_Buttonset( to test with different fields.
new \Kirki\Field\Radio(
	[
		'settings'    => 'kirki_demo_radio_buttonset',
		'option_type' => 'option',
		'option_name' => 'mai-engine-test',
		'label'       => esc_html__( 'Radio-Buttonset Control', 'kirki' ),
		'description' => esc_html__( 'Sample of radio-buttonset control.', 'kirki' ),
		'section'     => 'mai-engine-menus', // Change this to a section you have.
		'default'     => 'black',
		'choices'     => [
			'black' => esc_html__( 'Black', 'kirki' ),
			'blue'  => esc_html__( 'Blue', 'kirki' ),
			'red'   => esc_html__( 'Red', 'kirki' ),
		],
		'output'          => [
			[
				'element'  => 'body',
				'property' => 'background',
			],
		],
	]
);

Working
Same code as above but without option_type and option_name values.
new \Kirki\Field\Radio(
	[
		'settings'    => 'kirki_demo_radio_buttonset',
		'label'       => esc_html__( 'Radio-Buttonset Control', 'kirki' ),
		'description' => esc_html__( 'Sample of radio-buttonset control.', 'kirki' ),
		'section'     => 'mai-engine-menus', // Change this to a section you have.
		'default'     => 'black',
		'choices'     => [
			'black' => esc_html__( 'Black', 'kirki' ),
			'blue'  => esc_html__( 'Blue', 'kirki' ),
			'red'   => esc_html__( 'Red', 'kirki' ),
		],
		'output'          => [
			[
				'element'  => 'body',
				'property' => 'background',
			],
		],
	]
);

Trying to debug this a bit. The Output class doesn't get a value when it's option but it does when it's theme_mod. I'm dumping data right in __construct like this:
	public function __construct( $config_id, $output, $value, $field ) {
		$this->value  = $value;
		$this->output = $output;
		$this->field  = $field;

		ray( $value );

		$this->parse_output();
	}

Hey @JiveDig, thank you for narrowing it down! We were able to replicate this and are going to issue a fix asap. This is basically the same issue as described here - https://github.com/kirki-framework/kirki/issues/2466
We are on it :)


[bug] Validator with different environments has weird behaviour

Describe the bug
When running MY_PROGRAM_STAGE=development python test.py, I get dynaconf.validator.ValidationError: TEST_1 is required in env production when the environment has been set to development.
To Reproduce
Steps to reproduce the behavior:

Having the following folder structure

 Project structure
.
├── test.py
└── test.yaml

1 directory, 2 files

Having the following config files:

 Config files
test.yaml
production:

development:
  TEST_2: "bar"

Having the following app code:

 Code
test.py
from pathlib import Path

from dynaconf import Dynaconf, Validator

settings = Dynaconf(
    settings_files=[Path.cwd() / "test.yaml"],
    environments=True,
    env_switcher="MY_PROGRAM_STAGE",
    envvar_prefix="MY_PROGRAM",
    merge_enabled=True,
    validators=[
        Validator("TEST_1", env="production", must_exist=True),
        Validator("TEST_2", env="development", must_exist=True),
    ],
)

print(settings.items())

Executing under the following environment

 Execution
* Python 3.10.8 (main, May 18 2023, 20:50:03) [Clang 14.0.3 (clang-14<IP_ADDRESS>.1)]
* Poetry (version 1.4.2)
* `dynaconf == 3.1.12`

Expected behavior
Running MY_PROGRAM_STAGE=development python test.py should not fail because we're not running in production, so it shouldn't matter that there's no value for TEST_1.
Environment (please complete the following information):

OS: MacOS 13.3.1 (22E261), M1 Pro.
Python 3.10.8 (main, May 18 2023, 20:50:03) [Clang 14.0.3 (clang-14<IP_ADDRESS>.1)]
Poetry (version 1.4.2)
dynaconf == 3.1.12
Frameworks in use: None.

Hey @pedro-psb.  It's a documented behavior. I've been through that part of the docs and never connected the dots; maybe also giving it more prominence in the docs with a subheading would help?
I do like your enhancement proposal. I guess the only alternative I can think of is having this be a kwarg to make it easier to find, but the validate_options idea seems more flexible.
I'll test your proposal in our real codebase as soon as I can and report back 😄.

While at it, I think that the current_env instance variable could use more prominent documentation (see this search, where none of the results explain what it does or are easily discoverable).
Maybe using that section to link to the section you mentioned would also help avoid this issue I had, but I'm inexperienced when it comes to maintaining open source libraries with a user base as big as Dynaconf's so it might as well be more confusing.

I agree documentation can be improved. Minor documentation-only changes could be:

Change Validate only current env title to a proper heading which will show in the Validation TOC
Add this case to the FAQ, which is a workaround for making it easy to find some stuff
I didn't understand exactly where the link you suggested would be, but this should probably help too.

Some months ago, I've written a small re-write proposal of the Validation page (#911) with the purpose of tackling this kind of information-finding issues. I haven't carried it forward for lack of time/priority.
Extra considerations
I've had a better look at the section and codebase and I've found more:

you can actually pass validate_only_current_env=True to Dynaconf instantiation. code link, which looks undocumented.

settings = Dynaconf(
    ...
    validators=[
        Validator("TEST_1", env="production", must_exist=True),
        Validator("TEST_2", env="development", must_exist=True),
    ],
    validate_only_current_env=True,
)

there is a partial implementation to pass validate options inside ValidationList, which I think is better than the direct Dynaconf param above (it is more scoped/easier to find). (code link). It looks like the options are popped from the ValidatorList but never actually used (haven't tested).

settings = Dynaconf(
    ...
    validators=[
        Validator("TEST_1", env="production", must_exist=True),
        Validator("TEST_2", env="development", must_exist=True),
        validate_exclude=(...), # 'saved' but not used?
        validate_only_current_env=True, # not even partially implemented
    ],
)

With these findings, I think it would be better to choose one of these two ways to document/fix/enhance the issue, instead of my previous idea.

I didn't understand exactly where the link you suggested would be, but this should probably help too.

Currently there's no clear documentation I can (easily) find on the current_env instance variable. I've been using it for a while, but I discovered it from a dir(settings) call. If we added a small tid-bit somewhere in the docs about this variable, we could say something like "Keep in mind that, by default, validation happens for all envs".
If we document the validate_only_current_env kwarg, this is not necessary as it'll be evident what the default is and how to change it. Some clearer documentation on current_env would be welcomed anyways.

With these findings, I think it would be better to choose one of these two ways to document/fix/enhance the issue, instead of my previous idea.

I agree. Thanks for the research you've put into this; it now looks like a mere documentation problem. I haven't gotten around to testing this yet, but I'll try passing validate_current_env to Dynaconf to see what happens.
Your second example doesn't work for me, though. Fails with a SyntaxError: invalid syntax. Maybe you meant '==' or ':=' instead of '='? (which makes sense to me). I think we'd have to import the ValidatorList and it becomes a bit cumbersome to use if this is the only supported way to only validate the current env.
I also skimmed through the ValidatorLIst, and it looks like it needs a settings instance passed to it, so I'm not sure it'd be possible to do on Dynaconf instantiation. Can you shed some light?

I agree that validate_current_env must default to True but we can do it only on the next major version, 4.0.0

Hey @pedro-psb, I just got around to testing this. Your first suggestion here worked like a charm:
settings = Dynaconf(
    ...
    validators=[
        Validator("TEST_1", env="production", must_exist=True),
        Validator("TEST_2", env="development", must_exist=True),
    ],
    validate_only_current_env=True,
)

@rochacbruno, thanks for adding this to the 4.0.0 milestone. I do agree this should be the default, and I also agree this is a major version thing. I do think the enhancements to the documentation mentioned by @pedro-psb and myself could still be implemented in 3.X.Y. Don't you agree?

I agree @sebastian-correa let's document the solution you tested

I don't have much experience with some of the features in the Validation section, and I also don't want to butcher it, but I can draft a PR to solve #911 and also add some small sections in the Configuration page.
This'd be a draft to do the tedious work, but I'd be fine if you took over and edited it further; or if the PR got closed altogether in favor of another proposal.
Let me know if it's fine, @pedro-psb and @rochacbruno.

@sebastian-correa This sound great! I'll happily review and help out with that.
The configuration page should include validate_only_current_env and the other available options for Validate:validate_only and validate_exclude.

I started some work on my fork, but didn't push it. I'll take a look at it this weekend!

Submitted #989. Let's discuss there :). Please do ask for any changes (or rollbacks) you feel are necessary, I want this to have the best possible outcome for the project :).


Should this API live in Houdini instead?

In TC39 2021-12-15 meeting, one issue raise of should line break facility live in Hudini instead since for proper paragraph line layout it require resolving Bidi and may need font metrics for character spacing etc.

The likely communication channel w/ Hudini is in https://github.com/w3c/css-houdini-drafts

Awareness of Houdini is important as a source to learn from, as well as to ensure overall fit of the proposal in the web ecosystem. However, there are a few aspects about this proposal that make it more appropriate for TC39 than Houdini (and, in fact, inappropriate for Houdini):

The proposal operates purely on strings and is agnostic of the rendering technology. It can serve any rendering technology, be it HTML/CSS, 2D canvas, WebGL/WebGPU, or non-browser use-cases (Electron, JS-scripted game engines, Node.js, etc).
There are use-cases when line breaking is done without rendering. For example, Flutter calculates line breaks for text samples to predict the extents of scrollable areas (called "prototype items"), which is purely a computational task that does not result in pixels (pixels do show up later, but this particular computation does not imply pixels). Houdini is all about laying out and painting text.
Houdini is explicitly a CSS feature (the official name of the relevant component is literally "CSS Layout"). It is not in its scope to serve non-CSS rendering stacks. The input to Houdini is HTML DOM, which comes with certain data and layout model, and requires the availability of an HTML/CSS engine. Houdini also dictates a specific computational model, where layout "worklets" are isolated from the main JavaScript program into a separate memory heap and asynchronous boundary (a reasonable choice for HTML/CSS, which gives browsers the flexibility to schedule layout/paint computations on different threads). The output of a layout worklet is, by design, not consumable by the program supplying the input (the DOM), but by the painting/compositing systems. It's quite strange to require an HTML/CSS engine just to line break a string.

@rkirsling any opinion about adding line break into Intl.Segmenter vs create a more complete / complex api set in Houdini from JSC community?

@FrankYFTang I'm not personally involved in W3C, but I feel in agreement with the sentiments that Myles and Yusuke expressed.

@zbraniecki @gibson042

ref #8 as a related note.


Fixed UESP and added two GOT Foreign Language Wikis

I fixed a minor error on the PT UESP redirect and added La Garde de Nuit (Closing https://github.com/KevinPayravi/indie-wiki-buddy/issues/653) and Gale e Folo wiki, both independent GOT wikis in French and PT respectively.

Fixed those errors, should work now


WebVR mode retains WebXR globals

We have the -x webvr flag to switch to legacy WebVR API-only mode. This disabled nagivator.xr correctly but it retains the WebXR globals.
This behavior confuses some WebXR polyfills, which see the globals and refuse to overwrite them, making the site not work at all in this case (when it could).

This is no longer an issue:
 917   // WebVR enabled.
 918   if (['all', 'webvr'].includes(GlobalContext.args.xr)) {
 919     window.navigator.getVRDisplays = function() {
 920       return Promise.resolve(this.getVRDisplaysSync());
 921     }
 922   }
 923
 924   // WebXR enabled.
 925   if (['all', 'webxr'].includes(GlobalContext.args.xr)) {
 926     window.navigator.xr = new XR.XR(window);
 927   }
 928

I'm not sure, I think the trigger for this issue was an engine detecting window.XR, which is still unconditional:
https://github.com/webmixedreality/exokit/blob/d15da6e1b755350f5f3cd78963faa103c6e5c367/src/core.js#L1341


Add link to NASA accessibility statement to the footer of all web pages

Description:
MCP requires all NASA websites have a link in the footer to NASA's accessibility statement.

Acceptance Criteria:

[ ] link is located in the footer of each page (https://www.nasa.gov/accessibility/)

@wrynearson FYI, Chris P. sent this to me. Apparently this is required.

OK, we have a fix up on staging

@wrynearson Looks good!


Fixes #2575 - TableView to use interface instead of System.Data.DataTable

Fixes #2575 - Changes TableView from being based on System.Data.DataTable to ITableDataSource
This PR makes it super easy to create TableView that presents any arbitrary collection.  The user is no longer required to mess about converting their data into System.Data.DataTable in order to render.
[Fact,AutoInitShutdown]
public void TestEnumerableDataSource_BasicTypes()
{
	var tv = new TableView ();
	tv.ColorScheme = Colors.TopLevel;
	tv.Bounds = new Rect (0, 0, 50, 6);

	tv.Table = new EnumerableTableDataSource<Type> (
		new Type [] { typeof (string), typeof (int), typeof (float) },
		new () {
			{ "Name", (t)=>t.Name},
			{ "Namespace", (t)=>t.Namespace},
			{ "BaseType", (t)=>t.BaseType}
		});

	tv.LayoutSubviews ();

	tv.Redraw (tv.Bounds);

	string expected =
		@"
┌──────┬─────────┬───────────────────────────────┐
│Name  │Namespace│BaseType                       │
├──────┼─────────┼───────────────────────────────┤
│String│System   │System.Object                  │
│Int32 │System   │System.ValueType               │
│Single│System   │System.ValueType               │";

	TestHelpers.AssertDriverContentsAre (expected, output);
}

ProcessTable scenario
Pull Request checklist:

[ ] I've named my PR in the form of "Fixes #issue. Terse description."
[ ] My code follows the style guidelines of Terminal.Gui - if you use Visual Studio, hit CTRL-K-D to automatically reformat your files before committing.
[ ] My code follows the Terminal.Gui library design guidelines
[ ] I ran dotnet test before commit
[ ] I have made corresponding changes to the API documentation (using /// style comments)
[ ] My changes generate no new warnings
[ ] I have checked my code and corrected any poor grammar or misspellings
[ ] I conducted basic QA to assure all features are working

Marking this ready for review as it is good to merge.  I do want to update FileDialog to use the new interface but since it was all written with DataTable in mind it will be a bit of work to back that out and probably makes sense to do that as a seperate PR.

I am not a fan of how the columns change width as one scrolls. It's disconcerting:

This is currently 'by design'.

It is both for performance (not measuring all the data in the table up front)
Defensive, it prevents 1 long value in a column pushing out all the other columns (potentially off the screen so that horizontal scrolling is required).

The current way of dealing with this is to use the ColumnStyle to configure min/max widths etc
I mentioned in your PR about maybe adding something like SizeColumnsToAllData or something but that I think should be a seperate PR?

I get it now. I think we should add your explanation in uicatalog.cs where I put all the setup code.

I get it now. I think we should add your explanation in uicatalog.cs where I put all the setup code.

Cool that makes sense, how does this read?
c767aeb

Oops. As soon as I merged this, i realized moving to TableView broke SearchNavigator for the scenario list.
@tznind how hard it is to make searchnav work with tableview?

Oops. As soon as I merged this, i realized moving to TableView broke CollectionNavigator for the scenario list.
@tznind how hard it is to make CollectionNavigator work with tableview?

Its doable because I did a 'good enough' implementation for FileDialog (see UpdateCollectionNavigator method).
But to add it as a core feature of TableView would require some care as we don't want to compromise performance when working with large tables.
For example if you have 1 million rows then you don't want to be regularly passing them to a new navigator just because the user changed columns.
And you don't want to duplicate all the data at all really because it can change.
I think we would want an interface ICollectionNavigator and then implement GetNextMatchingItem to search the  ITableSource data directly (starting at the current offset).
Its definitely doable but requires care.
I am refactoring FileDialog to use ITableSource at the moment (its making the code much cleaner).  I can look into the collection navigation next.

I have documented the breaking change in the breaking changes thread: https://github.com/gui-cs/Terminal.Gui/discussions/2448#discussioncomment-5758572


ios

[!] The 'Pods-Runner' target has transitive dependencies that include statically linked binaries: (/Users/duck/Desktop/work/my-faxian/ios/Pods/NTESVerifyCode/Classes/VerifyCode.framework)
ios 下载依赖 报错如下

Flutter 2.0.3 • channel stable • https://github.com/flutter/flutter.git   Framework • revision 4d7946a68d (3 weeks ago) • 2021-03-18 17:24:33 -0700 Engine • revision 3459eb2436 Tools • Dart 2.12.2

# Uncomment this line to define a global platform for your project
# platform :ios, '9.0'

# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
ENV['COCOAPODS_DISABLE_STATS'] = 'true'

project 'Runner', {
  'Debug' => :debug,
  'Profile' => :release,
  'Release' => :release,
}

def flutter_root
  generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__)
  unless File.exist?(generated_xcode_build_settings_path)
    raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first"
  end

  File.foreach(generated_xcode_build_settings_path) do |line|
    matches = line.match(/FLUTTER_ROOT\=(.*)/)
    return matches[1].strip if matches
  end
  raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get"
end

require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root)

flutter_ios_podfile_setup

target 'Runner' do
+  use_frameworks!
  flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
end

post_install do |installer|
  installer.pods_project.targets.each do |target|
    flutter_additional_ios_build_settings(target)
  end
end

把use_frameworks 和use_modular_headers 都删了就可以了


Problem which is unfixable and common. This is just for people to be educated

Fishy websites like get free money or free stuff for games is used by a free license to get by with Google site security domain's so Google doesn't get fishy and shut it down.
I provided a image of what sites like these can do and create domain sites for this type of stuff. When you get to the authorization page to complete 2 surveys or whatever. It is common where you complete 1 and never let you finish the rest. that's because the site is design that way, you can't go any farther and will trick you of wasting your time. When that builds up, the owner of the website makes money profit off of their fishy advertisements that they make off of. This is just to help others be more aware what this can do. This license is under MIT was made by this github source. Fishy is fishy after all.
Hope you learned something.

Hi @FiecyLick,
Bootstrap is just a frontend framework which can be used by everybody, we are not responsible of the actions of our users.


key = False with argument type=bool sets key to True

With code: p.add('--key', type=bool)
and config: key = False
value for key is set to True.
action='store_true' works somewhat as expected.

A pull request / fix would be appreciated.

I don't think this is a bug; this is similar to the behavior of argparse, since bool is not one of the supported types, and bool("False") == True.

I agree.


Initial commit

Thanks for the practice @Antonynans 👍 . I will close this practice PR. Next add your name and GitHub link to the README.md file
Even though I am closing this PR, you still get the open source green square 🟩 activity on your profile 🎉

Thanks Eddie, looking forward to contributing to open source projects
On Wed, Sep 2, 2020, 9:50 AM Eddie Jaoude<EMAIL_ADDRESS>wrote:

Closed #118
https://github.com/EddieJaoudeCommunity/hacktoberfest-practice/pull/118.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/EddieJaoudeCommunity/hacktoberfest-practice/pull/118#event-3718609351,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AJSAW7F7CE5NXQ5KW2WXX3LSDYBO3ANCNFSM4QSLMFIQ
.


Default transport keeps getting added

Describe the bug
I removed Telepathy transport from my network manager prefab, then added KCP transport and moved the transport component up on the prefab. Now whenever I select my NetworkManager prefab, the console is spammed with messages about adding a default transport.
[IMPORTANT] How can we reproduce the issue, step by step:
Select NetworkManager prefab
Remove a transport
Add a transport
Move transport component up in the components on the prefab
Have network manager prefab selected
Expected behavior
Nothing
Screenshots
https://i.imgur.com/JmSUCLk.png
Desktop (please complete the following information):

OS: Windows
Build target: Windows
Unity version: 2020.3.14f1
Mirror branch: master

Note, restarting Unity puts the component back on the bottom and solves the problem of mirror spamming. If I move the component up again, the message spam in console starts again.

This seems to be fixed.  Moved Kcp up, closed and reopened the scene, closed and reopened Unity. Nothing in console, Kcp still where I put it.


Lazy loading

I don't feel the need biscuits as in a daily basis
But in some scenarios (Complex Code) It is a game changer.
For this purpose biscuits are lazy loaded when I press <leader>bb (See Details)
Problem
https://github.com/code-biscuits/nvim-biscuits/assets/101834410/8c3ee9a3-61cb-4d58-8773-11ba56283f27
As you can see, These things happen respectfully:

I enable the plugin with <leader>bb

Redo <leader>bb because toggle function disables it at first!!!

On cursor line there appears a "biscuit":

But it lacks highlighting
Moving cursor does not show other biscuits

Then I move to a new file:

Everything works OK.

-> CONFIG <-

[!NOTE]
This plugin is lazy loaded lazy = true is not required
(Config specific)

Using: Lazy.nvim
  {
    "code-biscuits/nvim-biscuits",

    keys = {
      {
        "<leader>bb",
        function()
          require("nvim-biscuits").toggle_biscuits()
        end,
        mode = "n",
        desc = "Enable Biscuits",
      },
    },

    dependencies = {
      "nvim-treesitter/nvim-treesitter",
    },

    config = function(_, opts)
      require("nvim-biscuits").setup(opts)
    end,

    opts = {
      cursor_line_only = true,
      show_on_start = true,

      default_config = {
        max_length = 47,
        min_distance = 5,
        prefix_string = " 📎 ",
      },

      language_config = {
        html = {
          prefix_string = " 🌐 ",
        },
        javascript = {
          prefix_string = " ✨ ",
          max_length = 80,
        },
        python = {
          disabled = true,
        },
      },
    },
  },

Awesome feedback! This seems like an interesting bug and I will try to look into it soon(ish).

I'm pretty sure I got this working with this PR:
https://github.com/code-biscuits/nvim-biscuits/pull/52
Please check out the section in the README that relates to lazy.nvim.
https://github.com/code-biscuits/nvim-biscuits?tab=readme-ov-file#configuration-lazynvim-support
Basically, you just need to call BufAttach instead of toggle_biscuits. Keep in mind that this was not possible before the PR linked above, so there is no way you could have known to do that.
I will leave this Issue open for a bit so that you can test things out. Feel free to close it yourself if everything is working now. I will probably close it in a few weeks if I haven't heard back, but feel free to open another issue after that if you still have trouble getting things working right.


Continue FIRLoggerService client migration

Firebase 8.0.0 progress on #2505.
kFIRLoggerMLKit and kFIRLoggerPerf no longer have google3 references and are updated.
The MLKit one is removed (b/146429345) and the Perf declaration is migrated.

See #7909 for details about the check failure

See #7909 for details about the check failure

Is that going to be a blocker failure? Or is the plan to make the check lenient?

CI resolved after rebasing with #7909.

I just noticed @jeremyjiang-dev on the review list. Feel free to add comments and I'll address in a subsequent PR


[e2e] windows cmd with env fix missing semicolon

Follow up for #2532 during testing on specific windows platform the syntax was wrong as a semicolon is required after every env.
This fixes the syntax problem

/retest
retest this please


Generate a Null enum value for enum, ensuring that the JSON to Java c…

Generate a Null enum value for enum, ensuring that the JSON to Java converter can return a value when an enum property in MPS is null

We should document what this does in the README.md (or maybe somewhere else but README is fine for now).
Also, why not leave it null in Java if it's null in MPS?

I think I did not realize that an enum could be null in Java.  But since that is possible, that sounds like a better solution to me indeed.


VideoResNet object is not iterable

  File "train_total.py", line 145, in __init__
    self.CNNlayers_front = nn.Sequential(*list(torchvision.models.video.r3d_18(pretrained=False)))
TypeError: 'VideoResNet' object is not iterable

How can I resolve this??

Hi @SungmanHong , I'm wondering, did you encounter that issue with some code within torchvision? I cannot find a similar entry in our code.
Regardless, the code should be nn.Sequential(*[torchvision.models.video.r3d_18(pretrained=False)]) or since there's only one argument, it can also be simplified to nn.Sequential(torchvision.models.video.r3d_18(pretrained=False))


Porting login and signup forms from ahcip

Signed-off-by: Suhaib Khan<EMAIL_ADDRESS>

Thanks so much, @suheb--this looks perfect!


Setting up logging on the project

On the PR:
- Installed Logrus as the logging framework.
- Before any CLI command is run, the log is configured to react to the '-d' flag.
- Extracted each argument used by the CLI as a string constant.
- Left some log lines on the 'command' for the '-d' flag to be tried out.

If you want we can discuss it also in the meeting keeping in mind we'll also discuss about cobra framework. But, from my side this is okay.
Let's consider the following based on https://pkg.go.dev/github.com/sirupsen/logrus#section-readme:
Logrus is in maintenance-mode. We will not be introducing new features. It's simply too hard to do in a way that won't break many people's projects, which is the last thing you want from your Logging library (again...).

This does not mean Logrus is dead. Logrus will continue to be maintained for security, (backwards compatible) bug fixes, and performance (where we are limited by the interface

And I just have one non important doubt, is it well indented? I see so much distance in each indentation.

I believe that the logging format is configurable, so we can set it up how we would like it best. Regarding maintenance mode, I do not believe that is much of a problem. It just means that the project is finished, so we could expect it to be its most stable. I do not think we need that much out of a logging library either, others will do just fine too.


Ubuntu Benchmark job is failing on main branch

Bug description
https://github.com/facebookincubator/velox/actions/runs/7267209987/job/19800515875
System information
CI
Relevant logs
No response

@xiaoxmeng


Hello, big guy, can't accept paypal payment cancellation callback method

Hello, big guy, can't accept paypal payment cancellation callback method
If the sandbox payment is successful, the onSuccess method can be accepted, but paypal cancels the payment and returns to the app, without the onCancel method.
==============
大佬，你好，接受不到贝宝支付取消的回调方法
使用沙盒支付成功，是可以接受到onSuccess方法，但是贝宝里取消支付，返回app，不会走onCancel方法，大佬你看一下这个问题，谢谢大佬，

Hello, Boss，I am waiting for your reply,Wish you a happy day
=============
你好，大佬，我在等待你的回复，祝你度过开心的每一天

Hello sorry for the late reply , thanks for notifying me i will look into
it
On Mon, Dec 4, 2023 at 10:56 AM WangYiOS @.***> wrote:

My development environment is: Flutter 3.16.0
我的开发环境是： flutter:3.16.0
—
Reply to this email directly, view it on GitHub
https://github.com/tharwatsamy/flutter_paypal_payment_checkout/issues/1#issuecomment-1838098579,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/APBIRRWXFZO5ZZPUYOS5MBDYHWF27AVCNFSM6AAAAAA7WCBDNGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMZYGA4TQNJXHE
.
You are receiving this because you are subscribed to this thread.Message
ID: <tharwatsamy/flutter_paypal_payment_checkout/issues/1/1838098579@
github.com>


cmd/compile: 100 < 1 is true on GOARCH=arm

Please answer these questions before submitting your issue. Thanks!
What version of Go are you using (go version)?
go version go1.8 linux/amd64

What operating system and processor architecture are you using (go env)?
GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/hajimehoshi/go"
GORACE=""
GOROOT="/usr/local/go"
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build115404782=/tmp/go-build -gno-record-gcc-switches"
CXX="g++"
CGO_ENABLED="1"
PKG_CONFIG="pkg-config"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"

What did you do?
Compiled https://play.golang.org/p/BtBt5z7tgz with GOARCH=arm
GOARCH=arm go build -o test test.go
qemu-arm test

I used qemu here, but I confirmed the same problem happens on actual ARM devices like ZenFone Go using gomobile.
What did you expect to see?
No panics
What did you see instead?
Panic:
100 < 1 = true
panic: 100 < 1

goroutine 1 [running]:
main.vertices(0xa0080, 0xae450, 0x10, 0x10, 0x10333fa0, 0x6, 0x6)
        /home/hajimehoshi/test/test.go:61 +0x4a8
main.main()
        /home/hajimehoshi/test/test.go:72 +0x64

cc @cherrymui

The assembler back end uses F15 as a temporary register for int-float conversion (which I didn't notice before). The value happens to live in F15 and get clobbered. Will send a fix.

Reopening for 1.8.1 cherry-pick.

Cherry-picked to release.


[5.5] Add DB columns stub types to get autocomplete options in migrations for columns

This PR allow to use autocomplete in migration for post column called methods like unique(), change(), nullable(), unsigned() etc
Schema::create('users', function (Blueprint $table) {
    $table->increments('id');
    $table->string('name');
    $table->string('email')->unique();
    $table->string('password');
    $table->integer('test_integer');
    $table->double('test_double');
    $table->date('test_date');
    $table->timestamp('test_timestamp');
    $table->rememberToken();
    $table->timestamps();
});

Here is recorded screencast of autocomplete usage.
If you have some proposal about improvement, please let me know

I noticed that sometimes Travis CI doesn't complete successfully due to its inside reasons like 40035.4 and 40041.2.
How do you process such kind of situations?

5.5 is closed for new features.
And this seems overkill just for autocomplete.

@pahan35 Use a better Editor :duck:
I do not think that maintaining this code is really worth it, seems like your IDE needs to improve.

I use Sublime 3 and never had an issue with autocomplete.
Anyways again 5.5 is closed for new features.

@jmarcher how do you use autocomplete for migration fields in Sublime 3?
I have no autocomplete for these methods even on the branch with this PR. I have some autocomplete only if I have already entered method with the same name in the file.
Recorded example
As for 5.5 branch: I can port it to 5.6.

Thanks for the PR. Please target this at 5.7, then it can be considered. :)

@GrahamCampbell thanks for your notices. I'll do them and port it all to the 5.7 branch during the week


Add in custom colors

This just allows access to the full 16-bit color range.

Does that actually work? I heard of custom colors in terminals, but does it just work with the fg and bg functions of term?

It's worked with paint() so far, I'll go test fg and bg.

Works for me with this code:
extern crate term_painter;

use term_painter::ToStyle;
use term_painter::Color::*;

fn main() {
    for c in 0..256 {
        print!("{}", Custom(c).bg(Custom(255 - c)).paint(c.to_string() + " "));
        print!("{}", Custom(c).fg(Custom(255 - c)).paint(c.to_string() + " "));
        print!("{}", Custom(c).paint(c.to_string() + " "));
    }
}

Better late than never, I guess ;)
Will merge this now and add an example on my own. Not sure when to release this to crates.io yet.


Atom typing triangular water fails

Bug summary
Build a triangular water.
foyer.exceptions.FoyerError: Found no types for atom 0 (8).
Example attached
water.zip

Hey @GregorySchwing can you give us some information about the versions of foyer and mbuild you used for this test case?

foyer                     0.11.0             pyhd8ed1ab_0    conda-forge
mbuild                    0.14.2             pyhd8ed1ab_0    conda-forge

I just had to use a ringed smarts def.
opc3.xml.zip


Only one type of certificate with one entry is allowed

Only one type of certificate with one entry is allowed. Ref https://github.com/eu-digital-green-certificates/dgc-testdata/issues/161

Much appreciated!


Sending email via Google Workspace account

Attempted Debugging

[X] I have read the debugging page

Searched GitHub Issues

[X] I have searched GitHub for the issue.

Describe the Scenario
I'm trying to set up the sending of emails. My organization uses google workspace. I've looked at the instructions here: https://www.bookstackapp.com/docs/admin/email-webhooks/#email-configuration
However, I seem to only be able to find instructions of setting up smtp email sending for normal gmail accounts, not google workspace gmail accounts. (i.e. seems no app-specific passwords can be set up for google workspace accounts)
If I try to set up the credentials as if my account is a normal gmail account i.e.
# Mail system to use
# Can be 'smtp' or 'sendmail'
MAIL_DRIVER=smtp

MAIL_FROM_NAME="My Wiki"
<EMAIL_ADDRESS>MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
<EMAIL_ADDRESS>MAIL_PASSWORD=mygmailaccountpassword
MAIL_ENCRYPTION=tls

Then I get:
Error thrown when sending a test email: Failed to authenticate on SMTP server with username<EMAIL_ADDRESS>using the following authenticators: "LOGIN", "PLAIN", "XOAUTH2". Authenticator "LOGIN" returned "Expected response code "235" but got code "535", with message "535-5.7.8 Username and Password not accepted. Learn more at 535 5.7.8 https://support.google.com/mail/?p=BadCredentials y2-20020a1709029b8200b001b86f1b5797sm4740062plp.302 - gsmtp".". Authenticator "PLAIN" returned "Expected response code "235" but got code "535", with message "535-5.7.8 Username and Password not accepted. Learn more at 535 5.7.8 https://support.google.com/mail/?p=BadCredentials y2-20020a1709029b8200b001b86f1b5797sm4740062plp.302 - gsmtp".". Authenticator "XOAUTH2" returned "Expected response code "235" but got code "334", with message "334 eyJzdGF0dXMiOiI0MDAiLCJzY2hlbWVzIjoiQmVhcmVyIiwic2NvcGUiOiJodHRwczovL21haWwuZ29vZ2xlLmNvbS8ifQ==".".
Any experience doing this with google workspace accounts? Is there anything obvious that I'm doing wrong?
Exact BookStack Version
BookStack v23.06.2
Log Content
No response
PHP Version
No response
Hosting Environment
Ubuntu 22 (freshly installed today)

Hi @Ender22,
Unfortunately I don't have a workspace account to hand to test things on.
I couldn't find certain information on app password availability in workspace.
I get the impression that 2FA has to be enabled for the user, and that there might also be admin/group level controls for making app passwords available.
Do you have 2FA enabled on the account?
I get the impression that app passwords do exist in the workspace setting, since pages like this refer to being able to list/view user app passwords.

Since there's been no follow-up I'm going to close this. If you need further help just respond to my previous comment.


Add phrases for post instruction processing

There are times when one wants to link two instructions or prefix them with a message. These phrases should be translated with the same level of detail as the rest of this project, so I think they should live here. That said, I'm not quite sure how they should be added to the translation files so currently I've only added these to en.json.
This PR adds a phases to v5 of the translations along with these new continue phrases.

continue.default.distance
continue.default.namedistance
continue.straight.distance

Issue
I think this will close https://github.com/Project-OSRM/osrm-text-instructions/issues/88.
Tasklist

[x] Add changelog entry
[ ] Review

@mcwhittemore what is your plan for creating two instructions as in {instruction} then {instruction}? Right now the API only accepts a single step.

what is your plan for creating two instructions as in {instruction} then {instruction}? Right now the API only accepts a single step.

@bsudekum - I'm doing something like where merged is the output I'm interested in.
var osrmTextInstructions = require('osrm-text-instructions');
var templateString = require('osrm-text-instructions/languages/translations/en.json')['v5']['phrase']['twolinked'];
var steps = [ ... ];

var one = osrmTextInstructions.complie('v5', { language: 'en', step: steps[0] });
var two = osrmTextInstructions.complie('v5', { language: 'en', step: steps[1] });

var merged = osrmTextInstructions.tokenize(templateString, {instruction_one: one, instruction_two: two}, 'en');

BTW there are some issues with instructions combine this way:

All phrases in text resources should start with non-capital letter (maybe except German) to be ready to insert into combined instruction into any position
Even this doesn't help now - osrmTextInstructions.compile() will capitalize first letter by default (see meta.capitalizeFirstLetter option in language JSON files) for each instruction again
What's about translate strings for {distance}? Meters/miles question is interesting too :wink:

All phrases in text resources should start with non-capital letter

Ah. Good point. I've updated my example above to use toLowerCase() to convert the result of compile into a string that will work for tokenize. That said, this is rather complicated and, as of now, is not something my PR tries to help the end user solve.

What's about translate strings for {distance}

This is a good idea. I'm going to add constants.distanceunits which will be an object of words like feet, meter and so on.

Hmm... it looks like all constants have to be translated before tests will pass. Is this by design?

How distance value will be rounded before formatting? It will be language-dependent rule/expression (for English always in miles/feet, in kilometers/meters otherwise)?
Also I hope final distance value will be rounded to 10 :wink: Otherwise I expect "plural" hell with Russian distance units translation and also with some other languages.

How distance value will be rounded before formatting?

This PR is pushing this question to the down stream user and requiring them to know if they need the plural or non-plural word per the language being used.

Also I hope final distance value will be rounded to 10 😉 Otherwise I expect "plural" hell with Russian distance units translation and also with some other languages.

Can you explain this a bit more? Are you saying you hope 1.3 meters is rounded to 10 meters?

I meant there are 3 forms of quantity in Russian not only "one" and "many". For example "In xxx meters do something ..." in Russian:

Через 21 метр ...
Через 22 метра ...
Через 23 метра ...
Через 24 метра ...
Через 25 метров ...
the same up to 30 and again (but 11-20 values have the same plural quantity)

But if distance will be always rounded to 10,  the only one plural form could be used in all languages AFAIK.
Also how precise should be the distance? Again for example Garmin navigators have limited set of similar distance instructions: for 100 m, 200 m and so on till 800 m, than for 1 km, 1.5 km (BTW single word numeral in Russian) and 2 km.  I don't propose to follow exactly this way but some similar distance rounding should be used.  And if distance is less than 10 meters (or better 100 meters for drivers), it should be excluded at all.

@yuryleb - thanks for your feedback. For now I'm going to drop unit translation support from this PR and, as a next step, start looking for a javascript lib that does this well already. My hope is that we find one this is really good. If its missing languages that we support, we can then push that common lib forward rather then writing our own.

Oh, as a final note, the phrases currently should avoid plurality in translation as they expect the client to pass them a translated distance string.

Opened Project-OSRM/osrm-text-instructions.swift#37 to track a Swift port of this work.

Since the iOS navigation SDK has historically vended its own phrase format strings, we can copy some of the translations over in Transifex from this resource to this resource.


How to save the network graph into a file ?

I want to save the network graph, not the weights. Is there any tool to export the network to a file like json?

You can use tensor board to visualization.  check this github repo

this question is better for stackoverflow


Differential builds

Hello
According to the Docs there is a way to disable Differential builds.
By disable I mean build only new ES2015 and newer bundles.
I do not need to support older browsers.
I tried all possible combinations in browserlist file and tsconfig.json but to no avail.
Please advise on the correct way to configure this result.
Thank you

@gidon-handler, in your browserslist configuration list the browsers that you want to support.
If non of the listed browsers require ES5 support, differential loading will be disabled.
Ex: https://github.com/angular/angular-cli/blob/master/packages/schematics/angular/application/files/.browserslistrc.template

Hi Alan
Tried that example. Doesn't compile.
Event if I do just "last 1 Chrome version" in browserlist I'm still getting es5 bundles.
p.s. I'm on Angular 9.1.0
Thank you

Are you setting the syntax target to es2015 in your tsconfig.json file?

Yes, of course, even tried es2018, as it says in the Docs that higher than es2015 differential builders are also disabled. But nothing helps. I'm always getting es5 as well.

@gidon-handler, without providing a reproduction its hard to tell what’s happening.
You can read here why this is needed. A good way to make a minimal repro is to create a new app via ng new repro-app and adding the minimum possible code to show the problem. Then you can push this repository to github and link it here.
This might be related to your directory structure so its really important to get an accurate repro to diagnose this.

Will test this issue in a clean project.

Hi Alan.
Found the problem. browserlist had to be moved one directory up.
As we started this project in Angular 6, browserlist was in src.
We are now in latest version and for some reason the right place for browser list is in the root.
Do this make sense?

browserslist should be in the sourceRoot

I just ran ng new and double checked....browserlist is most definitely not in src. Its one  up, In the root directory.
global cli = 9.1.7

@gitter-badger, you are right, sorry about that.

👍


Grpc.Tools 2.30 does not generate correct client code.

Doing my first grpc greeter sample (template) and following the tutorial to create a C# client.
https://docs.microsoft.com/en-us/aspnet/core/tutorials/grpc/grpc-start?view=aspnetcore-3.0&tabs=visual-studio
The following code does not compile with Grpc.Tools v2.30 (Greeter.GreeterClient does not exist)
var client =  new Greeter.GreeterClient(channel);

Grpc.Tools v2.29 works fine.
HIH/2c

The code you provided definitely should continue working just fine. Can you provide a full reproduction of your problem (an actual .csproj and other needed files, e.g. as a github repo) and also include more additional info (platform, VS version, .NET SDK version, ...) ? Otherwise it seems this seems as some mistake on your side, because problem likely this definitely wouldn't go unnoticed.

Here you go:
https://github.com/obiwanjacobi/Grpc23713

With you example " dotnet build Grpc23713.sln" has passed on a mac. I'll try on other platforms.

"dotnet build Grpc23713.sln" has also passed on a Windows machine for me.
dotnet --version
3.1.301

I was also able to build without problems with Version 16.6.2 (by opening the solution in the UI and clicking "build solution).
Looks like the problem isn't reproducible?

I hate it when that happens :-)
It may not be a problem with v2.30 specifically because I also had this issue when adding a new .proto to my existing (then working) project... After some fiddling it generated the client class correctly - of course I am not sure what I did exactly.
Would it help if I turn on detailed logging?
This is the code that is generated on my machine - it's missing the client class.
// <auto-generated>
//     Generated by the protocol buffer compiler.  DO NOT EDIT!
//     source: Protos/greet.proto
// </auto-generated>
#pragma warning disable 0414, 1591
#region Designer generated code

using grpc = global::Grpc.Core;

namespace GrpcService1 {
  ///
  /// The greeting service definition.
  ///
  public static partial class Greeter
  {
    static readonly string __ServiceName = "greet.Greeter";

    static readonly grpc::Marshaller<global::GrpcService1.HelloRequest> __Marshaller_greet_HelloRequest = grpc::Marshallers.Create((arg) => global::Google.Protobuf.MessageExtensions.ToByteArray(arg), global::GrpcService1.HelloRequest.Parser.ParseFrom);
    static readonly grpc::Marshaller<global::GrpcService1.HelloReply> __Marshaller_greet_HelloReply = grpc::Marshallers.Create((arg) => global::Google.Protobuf.MessageExtensions.ToByteArray(arg), global::GrpcService1.HelloReply.Parser.ParseFrom);

    static readonly grpc::Method<global::GrpcService1.HelloRequest, global::GrpcService1.HelloReply> __Method_SayHello = new grpc::Method<global::GrpcService1.HelloRequest, global::GrpcService1.HelloReply>(
        grpc::MethodType.Unary,
        __ServiceName,
        "SayHello",
        __Marshaller_greet_HelloRequest,
        __Marshaller_greet_HelloReply);

    /// Service descriptor
    public static global::Google.Protobuf.Reflection.ServiceDescriptor Descriptor
    {
      get { return global::GrpcService1.GreetReflection.Descriptor.Services[0]; }
    }

    /// Base class for server-side implementations of Greeter
    [grpc::BindServiceMethod(typeof(Greeter), "BindService")]
    public abstract partial class GreeterBase
    {
      ///
      /// Sends a greeting
      ///
      /// <param name="request">The request received from the client.</param>
      /// <param name="context">The context of the server-side call handler being invoked.</param>
      /// <returns>The response to send back to the client (wrapped by a task).</returns>
      public virtual global::System.Threading.Tasks.Task<global::GrpcService1.HelloReply> SayHello(global::GrpcService1.HelloRequest request, grpc::ServerCallContext context)
      {
        throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
      }

    }

    /// Creates service definition that can be registered with a server
    /// <param name="serviceImpl">An object implementing the server-side handling logic.</param>
    public static grpc::ServerServiceDefinition BindService(GreeterBase serviceImpl)
    {
      return grpc::ServerServiceDefinition.CreateBuilder()
          .AddMethod(__Method_SayHello, serviceImpl.SayHello).Build();
    }

    /// Register service method with a service binder with or without implementation. Useful when customizing the  service binding logic.
    /// Note: this method is part of an experimental API that can change or be removed without any prior notice.
    /// <param name="serviceBinder">Service methods will be bound by calling <c>AddMethod</c> on this object.</param>
    /// <param name="serviceImpl">An object implementing the server-side handling logic.</param>
    public static void BindService(grpc::ServiceBinderBase serviceBinder, GreeterBase serviceImpl)
    {
      serviceBinder.AddMethod(__Method_SayHello, serviceImpl == null ? null : new grpc::UnaryServerMethod<global::GrpcService1.HelloRequest, global::GrpcService1.HelloReply>(serviceImpl.SayHello));
    }

  }
}
#endregion

Today I was setting up my first grpc greeter sample, too.
I faced the exactly same problem like you when using the tutorial  https://docs.microsoft.com/en-us/aspnet/core/tutorials/grpc/grpc-start?view=aspnetcore-3.0&tabs=visual-studio.
In step "Add greet.proto" I added the following to my project file:
<ItemGroup>
  <Protobuf Include="Protos\greet.proto" GrpcServices="Client" />
</ItemGroup>

As it just added a folder with a dead link to my project, I deleted the link and added the file "greet.proto" myself.
This led to default file properties what leaded to missing generating of client code. Then I corrected the properties as shown in the attachment, client code gets generated as expected.
Hope this helps.

Looks like the problem was due to incorrectly setting "GrpcServices="Server" in <Protobuf ... />?

@jtattermusch that is the server/service! That should say Server!
The problem is in the client -the console app in my example- which has the correct setting:
https://github.com/obiwanjacobi/Grpc23713/blob/afa629e6b36ac65532a844b3e8c40b31de75c942/ConsoleApp1/ConsoleApp1.csproj#L22
Please reopen the issue.

@obiwanjacobi  are you saying that you can reproduce with "dotnet build Grpc23713.sln" on windows with dotnet SDK 3.1.302?
Also, in https://github.com/grpc/grpc/issues/23713#issuecomment-669702130 you mentioned that things started working for you "after some fiddling" - so it's unclear whether you can still reproduce or if the problem went away.
Without a proper reproduction there's little we can do unfortunately.

I tried the following:

Added a copy of greet.proto to the server. Named it greet2 and changed the package, namespace and service name with a 2-postfix.
Dragged and dropped the new .proto file into my client (console) project. That generated an entry in the .csproj file with GrpcServices="Server" - changed that to Client and saved the .csproj.
Tagged on the 2-postfix to the code in Program.cs to use the new proto definition.
Build dotnet build Grpc23713.sln fails. The client class was not generated.

So somehow it seems to be linked to the way I add a new proto file to the client project?
Deleting the obj folder and rebuilding fixes the issue (regenerating).
Hope this helps.

Very similar problem. I could not use my service unless it was a modification of the greet.proto sample. I could not rename it.
The solution: The proto file in your server should be set to Server Only. The copy of the proto file in my Client must be set to Client Only.
Duplicating the file will cause problems - if I could figure out how to use the same proto in two places I would.
Thanks.

I was looking around the web for this behavior. My issue was not that it did not recompile, but I did the following:

create grpc service from vs template
compile, test all good.
remove the Services/GreeterService.cs
Recompile -> failure.
Put endpoints.MapGrpcService(); in Startup.cs in comments so it compiles, giving it a chance to regenerate the GreeterService.cs --> no luck, no GreeterService.cs
If you enable "show all files in VS" you can see in the obj/ folder that the necessary files are generated.
If you then implement the  base class Greeter.GreeterBase and re-enable the code in startup.cs all is fine.

Not really the issue as advertised, but it was confusing to me.
hth

I'm having the same problem in WPF and UWP projects, I'm looking for a solution for days and nothing.
My Error	CS0246	The type or namespace name 'Greeter' could not be found (are you missing a using directive or an assembly reference?)
Visual generates classes from proto file, but missssing the namespace.

Hi guys...
I don't know if is the same problem that you have here... but I've found this topic when I started develop my first gRPC tutorial  from Microsoft Website: https://docs.microsoft.com/en-us/aspnet/core/tutorials/grpc/grpc-start?view=aspnetcore-5.0&tabs=visual-studio-code
And I had the same problem: It won't generate the client code....
After some research, I tried install this packages on client project:

Grpc.Tools
Google.Protobuf

After that, I rebuild the project and the client code was generated successfully!

Hi guys... I don't know if is the same problem that you have here... but I've found this topic when I started develop my first gRPC tutorial from Microsoft Website: https://docs.microsoft.com/en-us/aspnet/core/tutorials/grpc/grpc-start?view=aspnetcore-5.0&tabs=visual-studio-code
And I had the same problem: It won't generate the client code....
After some research, I tried install this packages on client project:

Grpc.Tools
Google.Protobuf

After that, I rebuild the project and the client code was generated successfully!

I'm using macOS and I followed the same guide and the client is not generated. I have the same problem

I don't believe there is anything wrong with the code generation.  I've successfully followed the instructions.
The Microsoft documentation could be clearer and more explicit e.g. for the Visual Studio Code version it says "Build the client project to create the types in the GrpcGreeterClient namespace." without saying how to do the build.  When in doubt go to the command line and use:
dotnet build for building and dotnet run for running.


Change CUB submodule to track Nvidia CUB project.

Description
Current cub submodule is pointing to DLMC's cub repo, the repo doesn't have customization of nvidia's cub project. The historic reason to use DLMC's cub is:

check out of nvidia's cub project takes long time
There was force push in nvidia's cub project broke mxnet submodule link.

Since both above issue has been resolved on Nvidia side, we should move back to Nvidia's cub project to reduce upgrade/merge effort.
The proposal has been discussed on<EMAIL_ADDRESS>Directly change submodule URL will impact every developer.
"git submodule update" won't work, developer has to use
"git submodule sync" first.
To avoid impact every developer, remove CUB and add a new
"nvidia_cub" to workaround this issue.
Checklist
Essentials
Please feel free to remove inapplicable items for your PR.

[X] Changes are complete (i.e. I finished coding on this PR)
[X] All changes have test coverage:
Unit tests are added for small changes to verify correctness (e.g. adding a new operator)
Nightly tests are added for complicated/long-running ones (e.g. changing distributed kvstore)
Build tests will be added for build configuration changes (e.g. adding a new build option with NCCL)
[X] Code is well-documented:
For user-facing API changes, API doc string has been updated.
For new C++ functions in header files, their functionalities and arguments are documented.
For new examples, README.md is added to explain the what the example does, the source of the dataset, expected performance on test set and reference to the original paper if applicable
Check the API doc at http://mxnet-ci-doc.s3-accelerate.dualstack.amazonaws.com/PR-$PR_ID/$BUILD_ID/index.html
[X] To the my best knowledge, examples are either not affected by this change, or have been fixed to be compatible with this change

@mxnet-label-bot add [pr-work-in-progress]

@frankfliu please take a look at the failed CI build and update PR accordingly

@mxnet-label-bot update [pr-awaiting-review]

@frankfliu did you do some sanity perf tests on GPU? we probably should for operators using cub.
Pulling in @anirudh2290 @apeforest and @nswamy to review.

@frankfliu Thanks for the contribution.  Your description indicates why we're using the name '3rdparty/nvidia_cub' but not why we're switching submodules, which in my opinion is the more important piece of information.  Can you give some details around why we're switching back to the NVIDIA repo?
  Looking at the current repo it seems like it's in really good shape now.  They describe their release process clearly and are making use of release branches.  Given they're using release branching, I'd suggest we track a specific stable branch using git 1.8 (and higher) submodule branch feature.  I hope this will help to protect us against future force-pushes.

I've looked into this a little further and I suspect that tracking a branch is still not going to get us any protection against our submodules force pushing.  I've opened a question on StackOverflow to see if anyone knows the details around what happens in this case: https://stackoverflow.com/questions/53438716/does-tracking-a-branch-with-a-submodule-protect-you-against-force-pushes

Looks like adding a branch ref to the submodule isn't necessary / won't alleviate the problem I have in mind.  Pending questions for this PR are only

What problems does it solve / feature does it provide?
What testing has been done?

@mxnet-label-bot update [pr-awaiting-response]

@lebeg Any idea how to conduct a test on this? It seemed to be an improvement on the performance.

@frankfliu - Can you please provide next steps here? and few open questions from Kellen.

This PR is looking good to me, and I don't want to be a blocker.  Consider me approving modulo short testing description.  I think my "What problems does it solve / feature does it provide" has been answered well in the edited PR description.

@mxnet-label-bot add [pr-awaiting-merge] remove [pr-awaiting-response]

@mxnet-label-bot remove [pr-awaiting-response]

@KellenSunderland Could you please review/merge this PR after the latest changes?

@frankfliu could you have a look at the incomplete CI? may be it needs to be re-triggered

@frankfliu Could you please look at the incomplete CI? It seems no updates from last couple of weeks. Can you please look into it? Thanks!

The PR has been merged. Thank you!


chore: 🤖 setup automated release

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Pressing ESC should pause the game

Pressing the escape key should pause the game. Pressing it again should unpause it. This would require using states: https://bevy-cheatbook.github.io/programming/states.html

#22


2018-07-28-Vijay-boyapati-mental-capture.md

A new transcript conversation between Vijay Boyapati and Stephan Livera

The plan is to import all of them

The plan is to import all of them

noted, Thank you.


Heroku not working with the main app.

[!] Error connecting with server: Get "http://<IP_ADDRESS>:13349/health": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
[!] Error connecting on WS:  dial tcp <IP_ADDRESS>:13349: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
2 errors given on heroku based server.

same is happening to me.

@tiagorlampert
Could we have some quick help please :D

use this to fix it
https://github.com/tiagorlampert/CHAOS/issues/100


example error.

the exemple is missing a caracter.. !
app.use(i18n(app, {
...
no
app.use(18n(app, {

Hi, I don't want to open a separate issue, but it seems like there are still some issues with the examples. For instance, in this example https://github.com/koa-modules/i18n/blob/master/examples/no-tempalte.js, there is an invalid option when configuring i18n module:
  query: true                     //  optional detect querystring - `/?lang=en-US`

There are 2 issues with it:

query: true doesn't seem do anything for me, it simply doesn't work, what I had to do is to put modes: ['query'] for it to work. I haven't tried that specific example, but in my code query option doesn't work so I have to use modes option.
This issue is more of a confusing one. The comment next to query option says that you can use optional /?lang=en-US queystring detect. What is confusing is the fact that koa-locale default value is locale not lang. If we want to change the default one, we need to pass the string while instantiating locale, like this:

// Required!
locale(app, 'lang');

So, either comment needs to be changed or this line of code needs to be updated to make it work. Right now, /?lang=en won't do anything, it will still serve page in Chinese.
Until these issues are fixed, it will always serve the page in Chinese.


Remove unused API in ModuleStatusUpdater

Signed-off-by: Michail Resvanis<EMAIL_ADDRESS>

Codecov Report
Base: 74.40% // Head: 74.39% // Decreases project coverage by -0.00% :warning:

Coverage data is based on head (25629e7) compared to base (926a79f).
Patch coverage: 50.00% of modified lines in pull request are covered.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #208      +/-   ##
==========================================
- Coverage   74.40%   74.39%   -0.01%
==========================================
  Files          27       27
  Lines        2821     2820       -1
==========================================
- Hits         2099     2098       -1
  Misses        619      619
  Partials      103      103

Impacted Files
Coverage Δ

main.go
3.81% <0.00%> (ø)

internal/statusupdater/statusupdater.go
91.66% <100.00%> (-0.12%)
:arrow_down:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Update action to auto merge PRs and create release

Updates the script to merge the PR after creating it
Updates the script to create a published release (instead of a draft)

PS this will not work until I figure out a way around the org-wide rule that PRs must have a review.


Update resolve-leetspeak/dictionary.ts

Type of change:

[ ] Refactor
[ ] Performance improvement
[x] New feature
[ ] Bug fix
[ ] Other (please describe):

Please describe the changes this PR makes and why it should be merged:
Updated the leetspeak dictionary to include:

'6' → 'b'
'8' → 'b'
'9' → 'g'
'!' → 'i'
'5' → 's'
'7' → 't'
'2' → 'z'

Some of these replacements might be overkill, so please let me know what you think.
Status:

[ ] I've added/modified unit tests relevant to my change / not needed
[ ] This PR contains breaking changes
[ ] This PR doesn't include changes to the code

Also, I noticed that sh|t isn't being censored. Not sure why. Terms like tw@t and c0ck etc. are correctly being censored.

Sorry, but I'm not convinced these substitutions are valuable, with the exception of perhaps ! -> i. When we add back whitespace stripping, for instance, 6 itch will be flagged as containing bitch which seems a rather egregious false positive. I'm sure there are many more examples, so would prefer to err on the side of caution here unless you have a compelling reason otherwise.

6 itch will be flagged as containing bitch

I could be wrong, but to me, this seems like an argument for including .addWhitelistedTerm('b itch'), not for excluding the leetspeak.
However, I'm having trouble even finding a word ending in b that would appear before the word itch. The only thing I can come up with for now is scab itch.

To be clear, my point is that the phrase 6 itch -- not including the b -- will be flagged as containing profanity, because 6 would be remapped to b. That seems a clear mistake to me.

Oh okay, that makes sense. Forgive my confusion.

Just to clarify, assuming resolve-leetspeak is ran before the check for whitelisted terms, wouldn't .addWhitelistedTerm('b itch') still be enough in the case of 6 itch to ignore the false positive?

assuming resolve-leetspeak is ran before the check for whitelisted terms

This is not the case; whitelisted term matching runs essentially on the original text by default (with only lowercasing applied.) I am not sure this is something we want to change.

Per my previous comments I'm not sure this is worth doing, so closing for now. Happy to discuss if you disagree, as always.


CPLP-1053 App subscription request email

Merge #87 first.

@Phil91 Just let me know if you need an introduction / help regarding updating the appsettings in the vault, should be done before deploying the new image to the cluster.

@Phil91 Just let me know if you need an introduction / help regarding updating the appsettings in the vault, should be done before deploying the new image to the cluster.

@wira-mms and me were pair programming this task. i think the appsettings should already been updated. I will check before merging.