Type assertion on unspecified generic return type changes the type

TypeScript Version:  nightly (on playground).

Search Terms:
generic, return, assertion, inference, checker api.
Code
declare function genericGet<TValue>(object: any, path: string): TValue

const object = { foo: { bar: 123 } };
const result1 = genericGet(object, 'foo.bar');
const result2 = genericGet(object, 'foo.bar') as number;

Expected behavior:
In both cases, the return type of genericGet(object, 'foo.bar') reported by the type checker API (checker.getTypeAtLocation) should be unknown.
Actual behavior:
In the first case, the return type of genericGet(object, 'foo.bar') reported by the type checker API is unknown.

In the second case, the return type is number.

(best shown via ts-ast-viewer, link below).
Playground Link:
https://www.typescriptlang.org/play/?ssl=1&ssc=1&pln=7&pc=56#code/CYUwxgNghgTiAEAzArgOzAFwJYHtXwHMRUQYswBxEDAHgBUA1KCZEAPgAocAjAK3AwAueFFQBPADTwADlAwALYQGcMZVAQCUwxs1YAoPWDwr4PfpngBeeAG8kOHMLvdYwgIwAmAMzwAvn4BuQ2MMeDglZAgMNytCYlJyKgwuPgEpAHJEBwA6Fxh0jSCjVBNwyIwPWKISMkpqFPMMDKycXNgCkSV4VGQAW25SAKA
https://ts-ast-viewer.com/#code/CYUwxgNghgTiAEAzArgOzAFwJYHtXwHMRUQYswBxEDAHgBUA1KCZEAPgAocAjAK3AwAueFFQBPADTwADlAwALYQGcMZVAQCUwxs1YAoPWDwr4PfpngBeeAG8kOHMLvdYwgIwAmAMzwAvn4BuQ2MMeDglZAgMNytCYlJyKgwuPgEpAHJEBwA6Fxh0jSCjVBNwyIwPWKISMkpqFPMMDKycXNgCkSV4VGQAW25SAKA
Related Issues:
https://github.com/microsoft/TypeScript/issues/31435
Loosely related to: https://github.com/microsoft/TypeScript/issues/35431
Related issue in typescript-eslint:
https://github.com/typescript-eslint/typescript-eslint/issues/1410
Related rule logic:
https://github.com/typescript-eslint/typescript-eslint/blob/aee723813ec47ccac0a165cf1bc9674f6257b609/packages/eslint-plugin/src/rules/no-unnecessary-type-assertion.ts#L244-L292

I found https://github.com/microsoft/TypeScript/issues/31435, which seems to suggest that this is entirely intentional.
However I would like to question this from the context of the type checker API.
This makes the type API pretty hard to use for certain use cases. Inspecting the type of the assertion expression (via checker.getTypeAtLocation) says it's of type number, and similarly inspecting the type of the call expression via the same API says it's of type number.
Is there any way to get the type that hasn't been inferred from a return type assertion?
In the context of our no-unnecessary-type-assertion rule, the rule warns about assertions that don't do anything, so that there is less useless code in a codebase..
(i.e. genericGet(object, 'foo.bar') as number is necessary, because it asserts unknown to number, but genericGet<number>(object, 'foo.bar') as number is unnecessary, because the return type is already number).

There isn't a way to do this; the type of the expression really truly actually for real is number, and an unknown is never produced during the inference process for TValue. We don't have any concept of "what would the type have been were it not for the surrounding context of the expression", which seems to be what you'd really need to assess the underlying intent of the rule.
Hopefully this has the end effect of dissuading people from writing functions like genericGet in the first place?

A real world example of this is lodash.get, unfortunately:
interface lodashGet<TObject, TResult> {
  (object: TObject, path: string | string[], defaultValue?: TResult): TResult;
}

const result = lodashGet(object, 'foo.bar') as number;

Overrides are one way to work around that specific one:
function lodashGet<TObject, TResult>(object: TObject, path: string | string[]): unknown;
function lodashGet<TObject, TResult>(object: TObject, path: string | string[], defaultValue: TResult): TResult;
function lodashGet<TObject, TResult>(object: TObject, path: string | string[], defaultValue?: TResult): TResult {
  /* pretend this works. */
  return (undefined as any) as TResult;
}

…but I'm wary of having to patch common libraries when they have generic return types that are optional like that

I was trying to find that definition, but it looks like the types for lodash's get method have been somewhat refined so that it doesn't use the "generic that is used in the return position" pattern.
https://github.com/DefinitelyTyped/DefinitelyTyped/blob/56c1ea26b59ed0e4634b1ba27096ab3b90371875/types/lodash/common/object.d.ts#L1659-L1792

Oh, nice find! I can upgrade my type declarations to mitigate that instance then 👍
Seems likely to come up in other contexts though?


[cloud_functions] Update README and dart docs, remove unused parameters.

Description
The changes introduced in https://github.com/flutter/plugins/pull/1520 resulted in some out of sync documentation. This PR updates attempts to bring everything in sync by:

Updating the README with a working example using getHttpsCallable() and call().
Updating the dartdoc of getHttpsCallable() to make it clear that it now returns a reference to the function but does not execute it.
Removing the unused parameters param from getHttpsCallable as that does nothing, and should be provided to call() directly instead.

Checklist
Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes ([x]). This will ensure a smooth and quick review process.

[x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs.
[ ] My PR includes unit or integration tests for all changed/updated/fixed behaviors (See [Contributor Guide]).
[x] All existing and new tests are passing.
[x] I updated/added relevant documentation (doc comments with ///).
[x] The analyzer (flutter analyze) does not report any problems on my PR.
[x] I read and followed the [Flutter Style Guide].
[x] The title of the PR starts with the name of the plugin surrounded by square brackets, e.g. [shared_preferences]
[x] I updated pubspec.yaml with an appropriate new version according to the [pub versioning philosophy].
[x] I updated CHANGELOG.md to add a description of the change.
[x] I signed the [CLA].
[x] I am willing to follow-up on review comments in a timely manner.

Breaking Change
Unsure if this should be a major version bump/breaking change. It removes an optional parameter from the API, but that parameter was never used[?].

Thanks for the PR!
Since we're removing a parameter, I think a major version bump is appropriate, even though the argument is unused. It's a pre-1.0 plugin so it doesn't make a huge difference either way.


:bug: Fix ignored errors while patching resources

What this PR does / why we need it:
Errors during deferred actions were not reported in the result of the main reconcilers. It may mean that the resource will never
get patched if no other reconcile event is triggered.
Same pattern as https://github.com/metal3-io/cluster-api-provider-metal3/pull/2003
Alternative implementation
To avoid the check on delete, it is possible to remove updateObject in deleteAddress. But then if the patch fails (should be a transient error), the IPPool spec and status have already been modified which can have unintended effects.

/ok-to-test

/test metal3-centos-e2e-integration-test-main
/test metal3-ubuntu-e2e-integration-test-main


RFC: SHARK backend for AI-Render

Describe the feature you'd like to see:
SHARK provides a new way of using compilers to generate fast and retarget -able machine learning code.
We provide a REST API that is backwards compatible with auto1111 that can run AI-Render (Setup instructions are here https://github.com/nod-ai/SHARK/blob/main/docs/shark_sd_blender.md ) but we are enabling our API to include a lot more features like in/out painting, controlnet, upscaling etc.
We demonstrated using AI-Render here
We would like to integrate a new SHARK backend and then start enabling the new features. We would like to know if this is something that is of interest before we try to send PRs.
(And thank you for this project).
Additional information
No response

This looks like a cool project. I'd be honored for you / your team to integrate it with AI Render.
Just so I understand what SHARK does, is the core value proposition the speed that it offers? Or is there a plan later to also allow for easier installation of projects like Automatic1111?
I'd be happy to review PR's, and I can try to be pretty responsive (time-wise). I should probably say right up front that this is a side project, so I won't always have time to review/merge/release everything immediately.

yeah the value prop is speed and retarget-ability so you should be able to use it across AMD, Nvidia, Intel and macOS GPUs (which we support currently at various levels).  It is an easy install -- just download one .exe and double click :)
No worries at all. We can maintain a fork and push changes upstream as they get accepted.

Sounds great. I'll watch for PR's. Let me know if you have any questions as you go through the code!

Added in https://github.com/benrugg/AI-Render/pull/114


Consider splits and merges in tdating

Hi! I've been working on including information on splits and merges of storm cells in tdating. This is a somewhat working version of that. Here currently,

a cell at time t is considered to split, if the advected version of the cell overlaps more than 10% with more than one cell at time t+1
a cell at time t is considered to be merged, if more than one advected cell (advected from t to t+1) overlaps more than 10% with it

The results are stored as additional columns in the cell dataframes:

splitted (bool): cell is considered split
split_IDs (list): list of IDs at next timestep that the cell split to
merged (bool): cell is considered a merge of multiple cells
merged_IDs (list): list of IDs from previous timestep that merged into this cell
results_from_split (bool): convenience attribute that is True if the cell is a result of split (i.e. the ID of the cell is present in the split_IDs of some cell at previous timestep)
will_merge (bool): convenience attribute that is True if the cell will merge at next timestep (i.e. the ID of the cell is present in the merge_IDs of some cell at next timestep). Will of course be empty, if the next timestep is not tracked

Additionally, this PR contains a bug fix in the pysteps.tracking.tdating.match function. As far as I can tell, in this bug the label 0 was included in possible match IDs, even though 0 denotes pixels that are not part of any cell. So there could be cases, where the advected cell would have e.g. 55% of 0 and 45% of some cell and it would not be matched to that cell. In my opinion, this bug needs to be fixed in the codebase even if the merge/split is not.
The code could probably be improved and e.g. it would benefit from some unit tests. But I'm creating this PR already for discussion especially for @pulkkins and @dnerini since this relates to my current work that you're involved in.

Additionally, this PR contains a bug fix in the pysteps.tracking.tdating.match function. As far as I can tell, in this bug the label 0 was included in possible match IDs, even though 0 denotes pixels that are not part of any cell. So there could be cases, where the advected cell would have e.g. 55% of 0 and 45% of some cell and it would not be matched to that cell. In my opinion, this bug needs to be fixed in the codebase even if the merge/split is not.

@ritvje would it be possible to fix this bug in a separate PR?

dear @ritvje, next week @ladc and colleagues are organizing a pysteps hackathon, see https://github.com/orgs/pySTEPS/projects/2
I was thinking that this might be a good opportunity to advance on this PR? what do you think?

Sure, it would be good to finally advance this! I should have time to work on this PR this week on Wednesday or Thursday (most likely evening-time).
Regarding the failing tests, I guess the main issue is the newly-added columns for the cell dataframe. Like @dnerini suggested, those (or the whole splits/merges analysis, since it's irrelevant if the information is not returned?) can be made optional.

I now made the split/merge analysis optional with the output_splits_merges argument in dating function. Also now the overlap fractions required for matching cells are given as arguments match_frac, split_frac and merge_frac. Before, match_frac was hard-coded to 0.4 (which is now the default value), and split_frac/merge_frac are added in this PR.
Regarding the tests, I added a new argument for the option to get the split/merge output and a some test cases to check that the output is correct. But there are no tests to check the actual functionality.

Nice work! Looks good to me.

@ritvje I included a short example and fixed some deprecation warnings. Let me know what do you think. I think this is now ready to be merged and released with the next pysteps version!

@dnerini, thanks for adding the example! I also think it's ready to be merged.


feat: support setting an empty session list

Closes #465.
Setting an empty session list in the noxfile will default to listing the available sessions.

@henryiii LGTM, just thinking maybe there should be a quick mention in the tutorial section of the docs? Probably fits best under the Selecting which sessions to run section. Otherwise looks great, thanks!

See https://github.com/theacodes/nox/issues/465#issuecomment-1000282204

Looking good overall! My only (minor) nit is that if you set nox.options.sessions = [] and run bare nox you get the following:

However if you run nox -l you get the little selected message on the end:

I have two thoughts:

Ideally these two should be consistent with one another
I think all sessions shown when nox.options.sessions = [] should appear as "unselected"

However this could just be my OCD showing so I'm happy to be overruled if we're happy with this as is 🙂

I agree with @FollowTheProcess that we don't need to special-case the listing for the "no default sessions" case. To be precise, the sessions can be displayed with a minus because they are all deselected, and the explanatory sentence at the end can be kept. (Codewise, this would amount to dropping the ˋselectˋ parameter in ˋproduce_listingˋ.)

Also I'm confused, why are there asterisks in the screenshot if all sessions are deselected?

I realize now that you don't filter sessions by name when nox.options.sessions is an empty list. This also explains why nox --list displays all sessions as selected (with an asterisk) even though they're not.
Can we change the condition for this filter to check for None instead of falsiness?
You will need to check for a non-empty manifest after filtering by session name, like for the other filters. If the check fails, you can invoke produce_listing. This would replace the block at the end of the function.
I believe there are three good reasons for this change:

It would make the control flow easier to understand.
It's important that nox --list can be used to debug session selection.
Filtering by Python should not cause sessions to become selected. Currently, your PR changes this behavior (when the session list is empty).

As for selecting sessions by keyword even when nox.options.sessions is an empty list: This already works. The nox.options.sessions setting is ignored when -k is passed, see the function _sessions_and_keywords_merge_func in the _options module.
What do you think?

As for selecting sessions by keyword even when nox.options.sessions is an empty list: This already works.

Ah, this was the piece I didn't know.  I wanted to put the check here, but didn't realize it would not cause an issue with filtering. It's at all not obvious that this will be ignored from the logic in this function! Seems like it should have it in the if statement.

(Haven't tested the recent comment by hand with the noxfile yet)


Bluetooth: L2CAP: Remove use of k_sem for credits

With the changes that introduced a queue k_sem is only used with
K_NO_WAIT which means it is no longer possible to wait/block for credits
so the usage of k_sem is no longer needed and can be safely replaced
with atomic_t just to count the available credits at a given instant.
Fixes #19922
Signed-off-by: Luiz Augusto von Dentz<EMAIL_ADDRESS>

NACK on implementing non-standard atomic APIs using spinlocks

Done.

@andyross it been taken care now, let me know if there are any other concerns.


[BUG]I cannot run use DeepSpeed Chat train my model with enabled "hybrid_engine" in step3

Describe the bug
when i set "hybrid_engine" for making step3 training faster, the training progress is not stabilization, and often errors occur after just running or running a few steps
in step3:

Actor model and Critic model is 7b1 bloom
train dataset size is 4k

I mainly occur the following problems:

RuntimeError: inflight params error when using DeepSpeed for Reinforcement Learning
Illegal memory access CUDA error when using long sequences

when i cancel this parameter， I can run step3 code successfully, but is too slower
System info

GPU count and types:    one machines with x8 A100s each
deepspeed version:        0.10.0

Bug info
!!!! kernel execution error. (m: 16384, n: 1, k: 4096, error: 13)
!!!! kernel execution error. (m: 4096, n: 1, k: 16384, error: 13)
!!!! kernel execution error. (m: 12288, n: 1, k: 4096, error: 13)
Traceback (most recent call last):
File "main.py", line 519, in
main()
File "main.py", line 425, in main
out = trainer.generate_experience(prompts)
File "/mnt/bn/simple-nas/mlx/users/zhangyawei.ywsq/RLHF_framework/DeepSpeed_Chat/DeepSpeedExamples/applications/DeepSpeed-Chat/training/step3_rlhf_finetuning/ppo_trainer.py", line 97, in generate_experience
seq = self._generate_sequence(prompts)
File "/mnt/bn/simple-nas/mlx/users/zhangyawei.ywsq/RLHF_framework/DeepSpeed_Chat/DeepSpeedExamples/applications/DeepSpeed-Chat/training/step3_rlhf_finetuning/ppo_trainer.py", line 75, in _generate_sequence
min_length=max_min_length)
File "/usr/local/lib/python3.7/dist-packages/deepspeed/runtime/hybrid_engine.py", line 266, in generate
generate_ret_vals = self._generate(*inputs, **kwargs)
File "/usr/local/lib/python3.7/dist-packages/torch/autograd/grad_mode.py", line 27, in decorate_context
return func(*args, **kwargs)
File "/usr/local/lib/python3.7/dist-packages/transformers/generation_utils.py", line 1328, in generate
**model_kwargs,
File "/usr/local/lib/python3.7/dist-packages/transformers/generation_utils.py", line 1717, in greedy_search
output_hidden_states=output_hidden_states,
File "/usr/local/lib/python3.7/dist-packages/torch/nn/modules/module.py", line 1130, in _call_impl
return forward_call(*input, **kwargs)
File "/usr/local/lib/python3.7/dist-packages/transformers/models/bloom/modeling_bloom.py", line 868, in forward
return_dict=return_dict,
File "/usr/local/lib/python3.7/dist-packages/torch/nn/modules/module.py", line 1130, in _call_impl
return forward_call(*input, **kwargs)
File "/usr/local/lib/python3.7/dist-packages/transformers/models/bloom/modeling_bloom.py", line 751, in forward
alibi=alibi,
File "/usr/local/lib/python3.7/dist-packages/torch/nn/modules/module.py", line 1130, in _call_impl
return forward_call(*input, **kwargs)
File "/usr/local/lib/python3.7/dist-packages/deepspeed/model_implementations/transformers/ds_transformer.py", line 181, in forward
alibi)
File "/usr/local/lib/python3.7/dist-packages/torch/nn/modules/module.py", line 1130, in _call_impl
return forward_call(*input, **kwargs)
File "/usr/local/lib/python3.7/dist-packages/deepspeed/ops/transformer/inference/ds_attention.py", line 161, in forward
alibi=alibi)
File "/usr/local/lib/python3.7/dist-packages/deepspeed/ops/transformer/inference/ds_attention.py", line 226, in compute_attention
query_layer, key_layer, value_layer = self._split_tensor_along_last_dim(mixed_x_layer, 3)
File "/usr/local/lib/python3.7/dist-packages/deepspeed/ops/transformer/inference/ds_attention.py", line 207, in _split_tensor_along_last_dim
return tuple(chunk.contiguous() for chunk in tensor_list)
File "/usr/local/lib/python3.7/dist-packages/deepspeed/ops/transformer/inference/ds_attention.py", line 207, in
return tuple(chunk.contiguous() for chunk in tensor_list)
RuntimeError: CUDA error: an illegal memory access was encountered
CUDA kernel errors might be asynchronously reported at some other API call,so the stacktrace below might be incorrect.

bro, have you solved it?


Add Webview for Generating a Devcontainer without ansible-creator

Related JIRA - AAP-36648
Add Webview for Generating a Devcontainer from a Template
Description
This PR introduces a webview designed to streamline the creation and customization of Devcontainer configurations from a template. The webview allows users to specify key details and provides the following features:
Features

Destination Path: Automatically defaults to the first folder in the current workspace. Displays an error message for invalid or empty paths.
Container Image Selection: Offers options to select between Auto, Upstream, and Downstream images.
Override Option: If a .devcontainer directory already exists at the specified destination, users can create a new one using the provided form inputs.
Logging: Displays messages within the webview to confirm successful creation or report any errors encountered during the process.

Testing

Implements tests to validate webview elements and ensure the functionality of the "create" feature.
Adds a local pre-commit hook to verify that the extension's devcontainer template matches the ansible-creator devcontainer template.

Codecov patch is failing unexpectedly. These changes are covered by the UI test: "Test devcontainer generation webview (without creator)". The lines changed should be showing as covered.
The relevant tests succeeded:
Test devcontainer generation webview (without creator)
locator=By(xpath, //vscode-text-field[@id='path-url']) found in iframe 165ba3a2-2cb1-4836-8e5d-24715e3f2acb!
    ✔ Check create-devcontainer webview elements

Overriding codecov for this reason. This is a false positive.

Approved, just need the packaging issue to be resolved. Great work @tanwigeetika1618 !


get_script_run_ctx not found - streamlit v1.38

I have installed the newest streamlit version: v1.38 and they have changed the path again of function get_script_run_ctx
To fix it in your state.py file in the fire_state folder, I changed your code to below:
# Try the different possible import paths for get_script_run_ctx
try:
    # Streamlit 1.x and above (latest versions)
    from streamlit.runtime.scriptrunner.script_run_context import get_script_run_ctx
except ModuleNotFoundError:
    try:
        # Streamlit 0.x to 1.x (older versions)
        from streamlit.scriptrunner.script_run_context import get_script_run_ctx
    except ModuleNotFoundError:
        try:
            # Some Streamlit beta or intermediate versions
            from streamlit.runtime.scriptrunner_utils.script_run_context import get_script_run_ctx
        except ModuleNotFoundError:
            # If the function doesn't exist at all in the current version, define a fallback function.
            def get_script_run_ctx(suppress_warning: bool = False):
                """
                Fallback function if get_script_run_ctx is not available.
                Returns None, assuming no context is available.
                """
                if not suppress_warning:
                    print("Warning: ScriptRunContext not available in this Streamlit version.")
                return None

Could you adjust your code to include the get_script_run_ctx? The latest version (v1.38) has it stored under:
from streamlit.runtime.scriptrunner_utils.script_run_context import get_script_run_ctx

Thanks for reporting this, I will make a release today.


Add Concourse to CI/CD

I belive, that Concourse is missing.
https://concourse.ci/
greetings

Hi @trosenkranz thanks for the request and we'll be including Concourse in the new release, coming soon!

Great. Thanks.

Thanks @trosenkranz, closing as this update was included in the most recent version https://github.com/cncf/landscape#current-version


[FLINK-13711][sql-client] Hive array values not properly displayed in…

… SQL CLI

What is the purpose of the change
Fix the issue that SQL CLI doesn't display arrays properly.
Brief change log

Properly handle arrays when converting a Row to String.
Add test case.

Verifying this change
New test case.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): no
The public API, i.e., is any changed class annotated with @Public(Evolving): no
The serializers: no
The runtime per-record code paths (performance sensitive): no
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: no
The S3 file system connector: no

Documentation

Does this pull request introduce a new feature? no
If yes, how is the feature documented? NA

cc @xuefuz @bowenli86 @zjuwangg

The change looks fine. However, I'm wondering if we need to convert recursively because otherwise nested non-primitive types will be still showed as non-meaningful stuff.

@xuefuz Arrays.deepToString will take care of that for us as indicated by the JavaDoc:
     * Returns a string representation of the "deep contents" of the specified
     * array.  If the array contains other arrays as elements, the string
     * representation contains their contents and so on.  This method is
     * designed for converting multidimensional arrays to strings.

@twalthr Better if you can also have a look. Thanks.

The change looks fine. However, I'm wondering if we need to convert recursively because otherwise nested non-primitive types will be still showed as non-meaningful stuff.

@xuefuz Arrays.deepToString will take care of that for us as indicated by the JavaDoc:
     * Returns a string representation of the "deep contents" of the specified
     * array.  If the array contains other arrays as elements, the string
     * representation contains their contents and so on.  This method is
     * designed for converting multidimensional arrays to strings.

in that case, can we add some unit tests to verify that?

@bowenli86 Just added test for nested Integer array.

@twalthr Thanks for the pointer. PR updated accordingly.

@twalthr given this is a bug, I think we can merge it into 1.9.1, what do you think?

@bowenli86 Latest Travis build passed. Please help merge this one if no further comments. Thanks.


Add API Diffs for .Net Core versions earlier than 3.0

We have API diffs for all previews of .Net Core 3.0, starting with 3.0-preview1 vs. 2.2: https://github.com/dotnet/core/tree/master/release-notes/3.0/preview/api-diff. We should add diffs for versions earlier than 3.0, starting with 2.2 vs 2.1 and working backwards. Note that this is different from ApiCompat baselines, which exist in the Standard repo for compatibility of various frameworks (and old .Net Standard versions) with the current version of .NetStandard: https://github.com/dotnet/standard/tree/master/src/apicompat/baselines.
CC @karelz

Hey @wtgodbe you self-assigned this. Have you done any progress on this issue?

@Anipik did this for 2.2 vs 3.0 here: https://github.com/dotnet/core/pull/3411
Will leave this open in case we want to continue backwards later on

@Anipik did you get a chance to look into this?

@carlossanlop i already added the api diff for 2.2 and 3.0. i think that  we need to go back any further as 2.1 and 2.2 are going out of support.

Okay, thanks @Anipik. Let's close this issue.


Updated install-latest.yaml.

Update install-latest.yaml to reflect four changes:

Upgrade Kubebuilder to 1.0.0
New CRD for federatedingresses.core.federation.k8s.io and federatedingressplacements.core.federation.k8s.io
New CRD for dnsendpoints.multiclusterdns.federation.k8s.io

I created this file via the following command
kubebuilder create config --controller-image quay.io/kubernetes-multicluster/federation-v2:latest  --name federation

/cc @marun @shashidharatd

/lgtm
Thanks @gyliu513 !

/approve


[Settings] Tweak app Settings UI

[x] Remove Client title
[x] Remove border
[x] Adjust padding to be form elements aligned with title "Settings"
[x] Adjust Settings container to have a width as same as parent "warning boxes"

Closes #1679


gigablast support added

Fixes #234
Checklist

[x] I have read the Contribution & Best practices Guide and my PR follows them.
[x] My branch is up-to-date with the Upstream master branch.
[x] I have added necessary documentation (if appropriate)

Changes proposed in this pull request:
-Gigablast support added

can someone tell what am i supposed to do? @bhaveshAn

Any update ?? please

@bhaveshAn sorry my exams are nearing. is it okay if i solve this after some time?

It's perfectly fine @starlord1311. Please come back later after you are finished with your exams

@bhaveshAn i am not getting whats wrong with it now.

idk why but its not showing the icon

@bhaveshAn Kindly help @starlord1311. If he wants to know something, provide source link. @starlord1311 Let me know if you need any help. :)
I would suggest to close this PR and open a fresh PR related to it.

@harshit98 the latest pr is running properly on the local server. only the icon of gigablast cant be seen as shown in the ss. what should i do now?

@starlord1311 try a hard refresh, sometimes it fetched static files from browser cache.
You can do a hard refresh by pressing Ctrl + Shift + R
Let me know if this works or not.

can i make a new pr for this?

Sure. @starlord1311

@starlord1311 actually. Don't make a new PR. Update this PR instead please.


Limit recursion of raw_call

In certain situations a misbehaving contract could lead to infinite recursion.  This is possible because executor::allocate function calls into contract’s code.  If a malicious contract calls a host function which calls executor::allocate, it will cause an infinite recursion and eventual crash.
To fix the issue, limit recursion depth to just two passes from host code to contract code.  This is the approach taken by CosmWasm.  See https://github.com/JumpCrypto/security-research/blob/master/advisories/2023-003-cosmwasm.md

PTAL, took me a while but eventually managed to write the test.
Without the fix test crashes:
thread 'semantic::test_recursion' has overflowed its stack
fatal runtime error: stack overflow

with the fix the call gracefully fails with SimpleVMError::Interpreter
error.

Amazing! Feel free to merge it :)


Add signed message when update token info

For example:
https://scan.testnet.tomochain.com/tokens/0x396ba95d2ad8520b8b1ee9d0b81f7318419ecefe/info
Add more two field:

Generate a random message
Signed message above (user uses their private key to sign the message)

Requires:

Support signed message via TomoWallet, using QR code

Implementation pull request:
https://github.com/tomochain/tomoscan/pull/434

Sign message with qr code:
https://github.com/tomochain/tomoscan/pull/467


Timeline should use template branch instead of commit branch to identify job branch

Currently timeline overview and job details pages use job commit branch to identify which branch job belongs to. This behavior causes issues in few cases:

Some jobs does not have commit, but still belongs to branch
/v1/service?branch=master filter jobs by template's branch not commit's branch.

Timeline overview and job details pages should use template branch instead of commit branch

Implemented


profiling: output profile for the default building based on the tcmalloc extention API

Commit Message: profiling: output profile for the default build based on the tcmalloc extention API
Additional Description:
Now the profiling can used only when we build envoy with gperftools.
For the default building, the cpu profiling can use perf as an alternative. But we still cannot use the heap profiling.
This PR try to output heap profile for the default building based on the tcmalloc extention API.
Ref #16506.
Risk Level: Mid.
Testing: Waiting.
Docs Changes: n/a.
Release Notes: Waiting.
Platform Specific Features: n/a.

This PR is under active development. But it can be pre-reviewd by someone needs this feature.

cc @mattklein123

It's ready for review. But it's no ready for merge. I haven't ensure the output heap file can be parsed correctly.

@wbpcode Thanks for this enhancement😀 I'm interested in this feature too and leave some comments. Hope it helps. And I have one question, as mentioned in #16506, cpu profiler is using perf, will gperftools CPU/Heap profilers retire immediately after adding tcmalloc heap profiler? Or will them coexist？

I don't think we will deprecate the gperftools dependency immediately. So they will be coexist for a while.

Thanks for doing this. Beyond testing, can you please:

Add a release note
Document the new endpoint here: https://www.envoyproxy.io/docs/envoy/latest/operations/admin.html
I think also add a FAQ here: https://www.envoyproxy.io/docs/envoy/latest/faq/overview#debugging with pretty explicit instructions on how to generate a dump and maybe also use the perf tools to generate a visual profile?

This comes up often enough that I think we should have very specific instructions to help people give us profile data. This will make it much easier to do support for these cases.
Thank you so much!
/wait

Thanks. I will update the docs after I ensure it can be work correctly.

Looks like the profiling works. But there is no stack info in the result. What I can get just a coarse result.

Is there any wrong in my code or method of use? cc @ckennelly

Does your test build have debug symbols? I'm not sure if that is required or not?

Does your test build have debug symbols? I'm not sure if that is required or not?

Yeah, I didn't strip the debug symbol of test binary.

Hmm yeah not sure we might need to wait for input from @ckennelly. The only other thing I can think of is that some specific type of unwind support has to be compiled in and we aren't doing that for some reason. cc @jmarantz also

@wbpcode Are you providing the binary to pprof?
The addresses in pprof's samples are relative to the offset within the mapping (hence why they appear to not be valid addresses).  The mappings are recorded in a separate set of protobuf fields.

Is that because of ASLR so you need a base address?

@wbpcode Are you providing the binary to pprof?
The addresses in pprof's samples are relative to the offset within the mapping (hence why they appear to not be valid addresses). The mappings are recorded in a separate set of protobuf fields.

Yeah, I provided the binary to pprof. But it seems that pprof get nothing symbol from the binary.

The addresses in pprof's samples are relative to the offset within the mapping

I will calculate new address based on mapping.
Thanks for your reply.

Is that because of ASLR so you need a base address?

Thanks, I will try to check it.

Hmm, I might have misspoken about doing the samples being at relative offsets--it's been a few months since I looked at this closely.  There's even helpfully a test that I wrote in profile_builder_test.cc that tells me that.
If you run TCMalloc's unit tests locally, esp. the ones around profiling, do they pass?  If not, that might indicate a glitch somewhere in how we're getting a stack trace.

If you run TCMalloc's unit tests locally, esp. the ones around profiling, do they pass? If not, that might indicate a glitch somewhere in how we're getting a stack trace.

The unit test is ok.

I also try to disable ASLR, but it still didn't work.

I copied the dwf file to the directory of running binary. The gdb can detects this file by default. But I am not sure if pprof can do this.
I can create a binary with dwf tomorrow to check this possibility.

Yeah I would try without split dwarf just to rule that out and then we can go from there if that fixes it?

I tried without splitdwarf and that didn't help.

cc @keith who might also have some ideas.

If I build my demo with clang and --linkopt="-fuse-ld=gold", this profile also works.

cc @keith any ideas on the compiler/linker findings above? I would really love to get this working.

For diagnostic purposes, it might be worth looking at the unit tests in Abseil (especially around absl/debugging, which is where I think absl::GetStackTrace lives).  TCMalloc relies on that for getting a stack trace.
The other possibility is how the debug info differs between Clang/GCC is being handled by pprof for rendering the symbols.

Finally, this PR can be work for the envoy build with gcc (update build_setup.sh to avoid adding /opt/llvm/bin to $PATH to force the bazel use gold linker) or build with clang (with explicit option --linkopt="-fuse-ld=gold").
It seems that the linker is the key point.

It seems that the linker is the key point.

Hmm interesting. I would really love to get this into the default build as it's a super common support ask. I'm not sure we want to change the default linker though. @keith any thoughts on this?

I think defaulting to gold in the case you're building with gcc is pretty safe, I believe that's pretty common since it often  comes with a speed boost. But for clang, assuming before you were using the default option that sets lld as the linker, and changing that to gold fixes it, I feel like there's a bug we should investigate.

I think defaulting to gold in the case you're building with gcc is pretty safe, I believe that's pretty common since it often comes with a speed boost. But for clang, assuming before you were using the default option that sets lld as the linker, and changing that to gold fixes it, I feel like there's a bug we should investigate.

Yes +1. We want this to work with our default build of clang/lld which is what we ship in the images. @keith any help you could provide with your clang/linker expertise would be appreciated.

https://github.com/google/tcmalloc/issues/132

The reason why pprof cannot get valid heap profile from lld linked binaries is that the binaries will have multiple TP_LOAD segments and only first will be handled by the tcmalloc.
If address range of first TP_LOAD segment is small, then most of stack locations will lost their mapping id and cannot find the correct executable file and symbols.
Some code snippets from tcmalloc/internal/profile_builder.cc.
    // ......
    ProfileBuilder& builder = *static_cast<ProfileBuilder*>(data);

    // Only first load segment will be handled to create a address mapping.
    const ElfW(Phdr)* pt_load = GetFirstSegment(info, PT_LOAD);
    CHECK_CONDITION(pt_load != nullptr);

    // Extract data.
    const size_t memory_start = info->dlpi_addr + pt_load->p_vaddr;
    const size_t memory_limit =
        RoundUpToPageSize(memory_start + pt_load->p_memsz);
    const size_t file_offset = pt_load->p_offset;
     // ......

  // ......
  const perftools::profiles::Mapping& mapping =
      profile_->mapping(mapping_index);
  const int mapping_id = mapping.id();
  ASSERT(it->first == mapping.memory_start());

  // Set mapping id of location (stack frame) based on the mapping address range.
  if (it->first <= address && address < mapping.memory_limit()) {
    location.set_mapping_id(mapping_id);
  }
  // ......

Use my simple demo as example. (All the binaries are build with clang/clang++)
Here is the program header of binary linked by the lld. There are four TP_LOAD segments and only first one will be handled.
 There are two TP_LOAD segments the first one has a large address range.
 This patch will evaluates all the load segments in the executable file.
https://gist.github.com/wbpcode/3a96b8967163c85e1e23b9001efd47cd

Should we wait the upstream to fix it or create a patch file in our bazel/ to make it work as soon as possible?

Wow amazing work @wbpcode! I think we should just upstream the patch. We have been waiting on this for a while. cc @ckennelly

Nice find! I wonder why others don't hit this too? I'm under the impression google probably uses this combo internally some places too? I wonder if there's a flag we can flip around this 🤔, I bet at the very least you could futz with it with some linker script

Nice find! I wonder why others don't hit this too? I'm under the impression google probably uses this combo internally some places too? I wonder if there's a flag we can flip around this 🤔, I bet at the very least you could futz with it with some linker script

Yeah, I am also curious about this question.

Google uses this profiling code in TCMalloc, with LLVM and lld, so I understand the surprise.
We do build with --Wl,--no-rosegment in many places, which might be why this was overlooked.

Google uses this profiling code in TCMalloc, with LLVM and lld, so I understand the surprise.
We do build with --Wl,--no-rosegment in many places, which might be why this was overlooked.

yeap, this will merge first and second loadable segments.

After https://github.com/google/tcmalloc/pull/135 is merged, I will create a new separated PR to update tcmalloc of Envoy to latest version. Then this PR would be ready for a final review.
/wait

cc @mattklein123 friendly ping. This PR should work after merge #22394.

@wbpcode Nice to see it works, thank you so much!


test(nifs): test for protogalaxy

Motivation
Part of #266
Overview
A simple test for protogalaxy folding scheme

Please review mock-design
I'll add other circuits tests only after approve

There are overlap between this PR and PR 313 that caused conflicts. I also saw the vanilla unit test again here, what is the difference between this and PR 313.

That's because squash policy merge PR, I did rebase by hand & push, look again, now only new code is visible here

CI started crashing because of an update to Rust Toolchain (our actions always uses the latest version), so I updated the toolchain in the project and fixed clippy


Add "total size" option

Allow devs to signal total size so progress bars can be displayed before headers have arrived for all resources.

Added in https://github.com/jakearchibald/background-fetch/commit/52bf7437807d2b540697d35f7f5002c09543315d


Audio muted on iOS devices

Some of my users on iOS devices are complaining that there is no sound for them. They are saying that the video starts on mute and the audio icon doesn't show on iphones/ipads. Muted is set to false and it works on my android devices. Unfortunately I don't have an iPhone to test this.
Could anyone test the link below with an iOS device or investigate this problem?
Here is a sample: http://sprintking-cf.stackstaging.com/2017/09/18/hola-test-vjs-16-9/

Fixed in version 1.0.100. Now there should be a mute button on iOS, if mute is supported.


Last Tabs, Current Tabs, Last Session, and Current Session are no longer used

I have not gone over the details yet, but the above file does not currently exist.
Instead, it appears that Session_* and Tabs_* in the Sessions folder will need to be parsed.
You can check the file structure of Chrome following URL.
https://dfir.blog/chrome-evolution/
The above files exist until version 85, but not since version 86.
The latest version (version 112) adopts SNSS v3.

You are correct. The format is not too complicated, I'll try to incorporate it this week.

Now fixed in dbeb1b5. It was a small tweak to support v3. Also changed CHROME to CHROMIUM to support Microsoft Edge (yes, I've seen it on people's mac systems!).
Need to add paths to other Chromium browser folders (Vivaldi, Opera, Brave, ..) to support them all under the same plugin.

I have posted the PR of #93.

Thanks, will merge this one now.


Unity crashes randomly when using this

Hi there,
I'm currently running on Unity 2018.2.x and when using your C# files, the unity editor crashes randomly.
It was very hard for me to pinpoint what went wrong.
It crashed everytime when:

Running multiple unit tests at once (> 50)
Changing some C# code and recompiling via unity
Sometimes after stopping playmode

I stepped back in my git history and found out your C# files are causing this issue.

Did you release the hook again after every activation (and have only one active at a time)?
Just recompiling code can't make the editor crash because of this code. Maybe there still was a hook active and the assembly reload just triggered the crash

Just make an assembly definition file for this, which is disabled in the editor and non windows builds. Stable way of keeping it out of your editor code (readme says it doesnt work there anyways)


Fix Eip712TypedDataV2 for date-type

Hi, the getEip712TypedDataV2 method doesn't work correctly for a Date. As a consequence, a transaction that has Messages with Date type fields cannot be correctly signed. For example for a message of type MsgGrant method generate:

Blockchain expected:

I'm not sure if this patch is good and won't break other Messages that use the Date type.  It may also be better to make this modification on the blockchain

Summary by CodeRabbit

New Features

Enhanced handling of Date objects in transaction data processing to improve accuracy and reliability.

Is this PR still needed?

nice one, will add in the next release


[10.x] Macro traits

I recently tried to add some macros to the Request class, and digging through the code I found the mixin method. It did almost what I expected it to do, except that it's too verbose. Having to write a new function in every method is a bit annoying, and does not improve the DX over using ::macro that much (beyond having the code encapsulated in a different file).
So this PR is a proof-of-concept of the API I'd like to have :).
Note: I've taken the funky magic methods from Caleb/Spatie's invade function. I'm not sure if there's anything already available in core to clean that up.
Example usage
The TLDR of what this new feature would allow can be seen in the updated test in the PR, but here it is again for clarity.
Instead of writing this:
// To set up the mixin...
TestMacroable::mixin(new TestMixin);

// To define the mixin...
class TestMixin
{
    public function methodOne()
    {
        return function ($value) {
            return $this->methodTwo($value);
        };
    }

    protected function methodTwo()
    {
        return function ($value) {
            return $this->protectedVariable.'-'.$value;
        };
    }

    protected function methodThree()
    {
        return function () {
            return 'foo';
        };
    }
}

You'd be able to write this:
// To set up the trait...
TestMacroable::trait(TestTrait::class);

// To define the trait...
class TestTrait extends MacroTrait
{
    public function methodOne($value)
    {
        return $this->methodTwo($value);
    }

    protected function methodTwo($value)
    {
        return $this->protectedVariable.'-'.$value;
    }

    protected function methodThree()
    {
        return 'foo';
    }
}

Alternatives
Something that doesn't sit right with this solution is calling these "traits" and declaring them as classes. I did that because the name mixin was already in use and I couldn't come up with anything better. But now I just realized we could take advantage of the fact that the "trait" solution takes a string argument instead of an object. So an alternative solution would be to use the same API (call them "mixins"), but if we pass a string we assume it's a class name and apply it using this logic.
I do like this better, but I will refrain from changing anything else before I get some feedback. I'm aware that this includes a fair bit of magic and maybe it won't be merged because of that (or other reasons).

@NoelDeMartin seems like tests are failing here. Please make sure tests pass before sending this in. Thanks

Thanks for checking it out @driesvints!
I thought the errors weren't related to my commit, but apparently they were I'm just not familiar with PHPStan and I don't know how to type it properly :(. I've opened a follow-up, but I just disabled PHPStan on the problematic line. Hopefully someone who knows more about it can help me sort it out.
PS: I also broke the actual tests after doing some last-minute changes, so it wasn't only PHPStan complaining. Sorry about that 😅.


Is it possible to have a windows MSVC release?

Can you explain what you mean that exactly?   Are you talking about being able to build wasi programs from with MSVC, or a windows toolchain that was is compiled with MSVC rather than MINGW?  Or something else?

Thanks for the quick reply.
I mean a windows toolchain that was is compiled with MSVC rather than MINGW.

I'm not familiar with the reason why that would be preferable to the one that we already ship built with MINGW.. can you explain why the existing one falls short?

Well, It is not a hard requirement, just curious about the MSVC build because I just build a lldb on Windows and the official document uses the MSVC.
The MINGW release works well. I'll close this issue.
Thanks for your reply !


MP2RAGE can't process magnitude-only INV1 and INV2 images

Expected Behavior

MP2RAGE should be able to fit for T1 when only the magnitude data of INV2 and INV2 are provided (without phase images); this is true for the original repo,
https://github.com/JosePMarques/MP2RAGE-related-scripts/tree/master/data
^ There, the demo INV1 and INV2 data are only magnitude; no phase is provided.
Also, from Marque's original MP2RAGE paper (https://www.sciencedirect.com/science/article/abs/pii/S1053811909010738), there are two ways to calculate the UNI image, using complex images (Equation 3), but also using magnitude-only images (Equation 1), and since the lookup table only uses the UNI image in the end, it shouldn't be a limiting factor that there's missing phase data in a dataset.
Current Behavior

If you provide magnitude-only INV1 and INV2 data, the software does not fit the data
Possible Solution

See this sections:
https://github.com/qMRLab/qMRLab/blob/e8c3312d2aef2c6303a3c4b52e6eaf074fdb32a5/src/Models/T1_relaxometry/mp2rage.m#L118-L135
and this section:
https://github.com/qMRLab/qMRLab/blob/e8c3312d2aef2c6303a3c4b52e6eaf074fdb32a5/src/Models/T1_relaxometry/mp2rage.m#L188-L206
To fix it, one would just need to add an additional magnitude-only boolean condition in the first section above, and in the second code section add a code-block for that condition that copies the availabledata.allbutUNI  block but without the complex exponential terms.
As a side note, the complex calculation of UNI above seems to not be exactly correct according to the paper;

real(INV1.*INV2./(INV1.^2 + INV2.^2)))

^ The first INV1 should actually be a complex-conjugate of itself to match the paper.

@agahkarakuzu tagging you so you're aware, because you wrote those lines of code, but I'll make the changes and just ask for your review

@mathieuboudreau I remember that I adapted this part based on this function from pymp2rage. Can you confirm that the issue exists there as well?

Ah ha, now this makes sense. Yes, both issues seems to be there also (I don't know how big an effect the complex conjugate would have though; I don't have a complex MP2RAGE data at-hand to test). If we want, we could confirm with Jose, but re-looking at his paper I'm fairly confident

See here for the complex MP2RAGE calc done by @jcohenadad https://github.com/neuropoly/mp2rage/blob/95e5be428e305643561663cd29458e4fe8f9d38f/computation.py#L508-L509

There he requires phase data though; maybe I'll touch base in Jose's repo just to make sure that the magnitude only calc is possible (I don't see why not, since he explicitly gave the equation for it in his paper and it was the first equation)

Good catch!

You need the complex data to correctly deal with the signal null.

So, this doesn't mean that you can't get T1 from MP2RAGE with magnitude-only data, just that T1 values that will lead to a null for either INV1 or INV2 will create some increase variance, see Figure 6 in my IR my blog post: https://qmrlab.org/jekyll/2018/10/23/T1-mapping-inversion-recovery.html
And while it's true that some or most vendors output the complex data from their MP2RAGE sequences, I'm helping out a user on a Bruker system who's using a pulse sequence they didn't develop but got from Github, and that sequence only exported magnitude for them, so the choice is going to be either use the magnitude-only data get a T1 map and have voxels that might be sensitive near the null of certain T1 values, or don't get a T1 map at all (they've confirmed that they can't do more experiments, no more specimens).

I forgot that José gave a magnitude only equation, I've always used the complex version.
I think a practical issue is that the commonly chosen TI1 does tend to null at least one tissue - look at figure 4 in José's paper. GM is nulled at 3T, a good chunk of WM is nulled at 7T.
It is now several years since I touched Bruker but I'd encourage double-checking which file format they exported and what is still present on the scanner etc. Retrospective recons are possible on Bruker, albeit fiddly if I recall correctly.

I forgot that José gave a magnitude only equation, I've always used the complex version.
I think a practical issue is that the commonly chosen TI1 does tend to null at least one tissue - look at figure 4 in José's paper. GM is nulled at 3T, a good chunk of WM is nulled at 7T.
It is now several years since I touched Bruker but I'd encourage double-checking which file format they exported and what is still present on the scanner etc. Retrospective recons are possible on Bruker, albeit fiddly if I recall correctly.

Thanks for chiming in @spinicist ! I'll reach out and see if the researchers can help with the re-export, but in the meantime I tried it with magnitude-only using a local fix and the T1 values look on the order of what I expected, so maybe these results can act as a bridge until (or if) I can access the phase data.

I think a practical issue is that the commonly chosen TI1 does tend to null at least one tissue - look at figure 4 in José's paper. GM is nulled at 3T, a good chunk of WM is nulled at 7T.

Good catch! I checked the Bruker data that I have at hand, both in the viewer and histograms, and it appears maybe these researchers got lucky with the animal model and tissue fixation lowering the T1, because it doesn't appear that any of the major tissues are nulled like Marque's in vivo human data from that paper. But to be on the safe side, I agree using the phase data woud be better (noting that we also had a bug in our implementation of that one, stemming from a bug in pymp2rage)


Errors thrown at top level of plugin should be reported as diagnostics

When a plugin throws an uncaught error, it should be reported as a diagnostic rather than causing the standard Swift output.
Motivation:
This is a better user experience than the very technical output that is shown otherwise.
Details
As part of making this work well, we also simplify the way the result code is received from the plugin.  It was a bit awkward to have two result codes (the one from the last message as well as the exit code from the process) so now we just use the exit code.  This is also most robust to any plugin that decides to do "exit(1)" on its own from inside the code.  If/when we have long-running multi-action plugins we can revisit this.
We also make sure that at least one error message is emitted from any plugin that exits with an error code but that does not emit an error diagnostic.
This also reworks the unit test for command invocations to be more scalable.
Modifications:

catch errors thrown by plugins and report them as error diagnostics
get rid of the plugin return message with the separate bool and use the exit code of the process; this is also robust against plugins that decide to do exit(1) instead of treating that as internal error
make sure there is a failure diagnostic when the plugin returns an error code but didn't emit an error
significantly rework the unit test for command plugins — it should be factored out into separate tests but now at least is much more extendable within the test

@swift-ci please smoke test


[3.2] Mono/C#: Add iOS support

Right now, games only work on devices when exported with FullAOT+Interpreter.
There are some issues left that need to addressed for FullAOT alone. Right now,
it's giving issues with the Godot.NativeCalls static constructor.

This PR is against the 3.2 branch. I'll be opening one against master as soon as I get C# working on it again after all the recent breaking changes.
I will be updating the build docs tomorrow.

Updated the docs: godotengine/godot-docs#3265

Hope this will be merged to 3.2.x, so we don't have to wait 4.0 to use it

Yes, this PR is against the 3.2 branch.

Thanks! I merged in a dedicated 3.2-mono-ios branch for now based off the current 3.2, so that I can use it to make a test release and get feedback on the new feature + regression testing.


Exception handling for import entity

Scope
exception handling for undefined apidata
Work Done
Steps to Test
Screenshots

Seems to have a issue on CircleCI


Static files server

How can I serve static files like "express.static"?

Hello, so you have a few options when it comes to this.

Use Express's built-in express.static() middleware as it should be compatible with HyperExpress.
See LiveDirectory for static/file asset serving.
Roll out your own lightweight solution where you map the incoming url path to the local system path securely and stream the file

Hope the above helps, I plan on rolling out a few middlewares native to HyperExpress for basic things like Express-Like body parsing and static asset serving as well in the future.


How to copy the actual component code from Storybook?

Using https://www.npmjs.com/package/@storybook/addon-info or https://github.com/storybookjs/storybook/tree/master/addons/storysource ?

You can click the show code button on the docs tab.

Some components do need more documentation, like how to use the Toast component with the useToast helper.


Node auto-attach: Attach to child processes automaticlly

In order to reach parity with https://github.com/GoogleChromeLabs/ndb we should consider enabling auto attach to child processes, when using the new Node auto attach feature.

This works already:

Very cool @weinand :)


.gitignore removes all vendor directories, even for plugins

.gitignore's vendor line should actually be
/vendor/

and not
vendor/

Otherwise all vendor directories, no matter where they are, are ignored, which results in broken plugins.

Good call; please open a pull request to change it if you get around to it otherwise I'll make the change later this weekend.


Bengali Translation Progress

Maintainer List

@nutboltu
@shakib609

For New Translators
To translate a page:

Check that no one else has claimed your page in the checklist and comments below.
Comment below with the name of the page you would like to translate. Please take only one page at a time.
Clone this repo, translate your page, and submit a pull request!

Before contributing, read the glossary and style guide (once they exist) to understand how to translate various technical and React-specific terms.
Please be prompt with your translations! If you find that you can't commit anymore, let the maintainers know so they can assign the page to someone else.
Work List
(🏃 Work in Progress; 👀 In Review)
For Maintainers
When someone volunteers, edit this issue with the username of the volunteer, and with the PR. Ex:

[ ] Home Page (@tesseralis) #1

When PRs are merged, make sure to mark that page as completed!
Slack Channel
If you get stuck and need help, please join our slack channel click here to join and ask any question in #bn channel
Guidelines
Please follow the wiki page https://github.com/reactjs/bn.reactjs.org/wiki
Core Pages
To do before releasing as an "official" translation. Please translate these pages first.

[x] Home Page (@nutboltu) #4 #10
[ ] Tutorial  #8 #15  (Partially translated) (@tamzidkarim , @oxfordhalfblood )

Basics

[x] Hello World (@sazzadsazib) #9
[x] Introducing JSX (@shakib609) #60
[x] Rendering Elements (@tamzidkarim) #77
[x] Components and Props (@nutboltu) #76
[x]  State and Lifecycle(@shakib609) #13
[x] Handling Events (@shakib609) #19
[x] Conditional Rendering(@nutboltu ) #26
[x] Lists and Keys(@ImranMH) #14
[ ] Forms(@Twaha-Rahman) #18
[x] Lifting State Up (@shakib609) #24
[x] Composition vs Inheritance (@shakib609) #28
[x] Thinking in React  #46 (@JubayerJoy)

API Reference

[ ] React (@ShahadIshraq)
[ ] React.Component (@soumiDeb)
[ ] ReactDOM
[ ] ReactDOMServer
[x] DOM Elements (@nutboltu) #39
[x] SyntheticEvent (@nutboltu) #53
[x] Test Utilities (@shakib609) #42
[x] Shallow Renderer (@Twaha-Rahman) #16
[x] Test Renderer (@shakib609) #45
[x] JS Environment Requirements (@shakib609) #20
[ ] Glossary

Navigation
These are the navigation links that appear in the sidebar. Possibly wait until
the corresponding sections are translated to do these.

[ ] tutorial/nav.yml
[ ] docs/nav.yml

Next Steps
These are the next most important translations, ordered by importance:
Installation

[x] Getting Started(@jamal-pb95) #25
[x] Add React to a Website(@jamal-pb95) #62
[x] Create a New React App (@fmabid) #34
[x] CDN Links (@fmabid ) #36

Hooks
Everyone is hooked on hooks! People are really excited for these and it would be great for them to be translated.

[ ] 🏃Introducing Hooks (@uraniumreza)
[ ] Hooks at a Glance (@rummanhasnayeen)
[ ] Using the State Hook (@sabbir073)
[ ] Using the Effect Hook (@sabbirshawon)
[x] Rules of Hooks (@shakib609) #41
[ ] Building Your Own Hooks (@SourangshuGhosh)
[ ] Hooks API Reference
[ ] Hooks FAQ

Warnings
These are the pages that you get when you click the links in the console (e.g. https://reactjs.org/warnings/dont-call-proptypes.html). People tend to search these, so please don't translate the error message itself.

[ ] dont-call-proptypes
[ ] invalid-aria-prop
[ ] invalid-hook-call-warning
[ ] legacy-factories
[ ] refs-must-have-owner
[ ] special-props
[ ] unknown-prop

Advanced Guides

[ ] Accessibility
[ ] Code-Splitting
[ ] Context
[ ] Error Boundaries (@shakib609)
[ ] Forwarding Refs
[x] Fragments (@shakib609) #54
[ ] Higher-Order Components
[ ] Integrating with Other Libraries
[ ] JSX In Depth
[ ] Optimizing Performance
[x] Portals (@nutboltu) #63
[ ] React Without ES6
[x] React Without JSX (@shakib609) #55
[ ] Reconciliation
[ ] Refs and the DOM
[ ] Render Props
[ ] Static Type Checking
[ ] Strict Mode
[x] Typechecking With PropTypes (@lastsaintcrucified) #69
[ ]  🏃 Uncontrolled Components (@lastsaintcrucified)
[x] Web Components (@shakib609) #56

FAQ

[x] APIs and AJAX (@Twaha-Rahman) #22
[x] Babel, JSX, and Build Steps (@Twaha-Rahman) #17
[ ] Passing Functions to Components
[ ] Component State
[x] Styling and CSS (@Twaha-Rahman) #23
[ ] File Structure
[ ] Versioning Policy
[ ] Virtual DOM and Internals (@Twaha-Rahman)

Contributing
Priority: Low

[ ] How to Contribute
[ ] Codebase Overview
[ ] Implementation Notes
[ ] Design Principles

Components
Components in src/components that have some text in them.

[ ] CodeEditor
[ ] CodeExample
[ ] ErrorDecoder
[ ] LayoutFooter
[ ] LayoutHeader
[ ] MarkdownPage

Additional Translations
These are not the primary translation targets.

[ ] Blog
[ ] Community

@nutboltu, @zahidulmcc please keep this issue updated to track your progress! Please let me know if you need any help getting this translation started. You can also join the slack channel here: rt-slack-invite.herokuapp.com

@tesseralis We already joined the slack and opened a channel where we will discuss  abou our progress.

I started working on Core Pages (Home Page)

Hello, I am interested in translating  "Hello World" page from the list.. later on I will add few more page if I get chance..

I am also interested to involve in this translation process. Let me know how much already done

@sazzadsazib and @ImranMH could you tell us more about your translation or open source background?
So that @tesseralis can approve you guys as maintainers

@sazzadsazib and @ImranMH Please follow this instruction to add yourself in the maintainer list.
Or you guys can tell a brief about your translation or open source background. If @tesseralis approves, I will add you as maintainers.

Hello, I've done open source contribution such as arunghosh/react-heatmap-grid . Ness.css and also have few NPM packages. I am serious about open source contribution and as Bengali I want to help to translate react in Bangla. I translated parital hello-world.md here.. if you think I can help react community to translate in Bangla I will contribute.
Thanks

Hi @nutboltu and @zahidulmcc, I would like to contribute to this effort. My quality as a translator is- I am a native Bangla speaker 😄 . Other than that, I have working experience with React, have a somewhat good understanding of Javascript and contributing to opensource projects on a regular basis. I hope to provide a helping hand.

@sazzadsazib , @zpbappi  I added you guys in this PR https://github.com/reactjs/reactjs.org-translation/pull/61
@ImranMH  Can you please add your background in the PR comment.
@tesseralis Please review this PR

Since @sazzadsazib has already started and partially completed the Hello World, I have taken the next item on the list and updated the list accordingly.

I'll start translating the API Reference > ReactDOM page.
Hopefully, I can do my part to translate React.js Documentation to Bengali. :smile:

@tesseralis and @nutboltu
i want translate  Rendering Elements page

@tanvirraj Please go ahead :)

I will start translating Basics > State and Lifecycle. :octocat:
Assign it to me kindly.

I already completed lists and keys page . Just final check before make a PR

I would like to start with conditional rendering.

Hi @nutboltu, @tesseralis, and @zahidulmcc, I would like to contribute to this project. I am a native Bengali speaker 😄 . Other than that, I have working experience with React, have a somewhat good understanding of Javascript and contributing to opensource projects.

I would like to go with Installation>Getting Started page

I will start translating Basics > Handling Events. :octocat:
Assign it to me kindly.

I am starting to translate API Reference > Shallow Renderer. can anyone kindly assign it to me.

I am starting to translate API Reference > Babel, JSX, and Build Steps. Can anyone kindly assign it to me.

I will start translating API Reference > JS Environment Requirements. :octocat:
Assign it to me kindly.
And @nutboltu vai, I would like to become a maintainer of this project. I have a good understanding of React and Javascript and also I have contributed to this project and plan to keep contributing. I have also contributed to many open-source projects. You can find a list of them here.
Hopefully, I will be added. :)

I have made a pull request for the page "Babel, JSX, and Build Steps" with a translation already. Why is it still not assigned to me on the above list? Am I missing any rules? (I also noticed I got the Shallow Renderer assigned to me....so I am bit confused....) Can anybody point out what I am doing wrong?

I am starting to translate API Reference > Babel, JSX, and Build Steps. Can anyone kindly assign it to me.

Maybe you meant FAQ > Babel, JSX, and Build Steps?

@shakib609 I will add you as a maintainer 🥇

@shakib609  I am starting to translate FAQ > APIs and AJAX. Can anyone kindly assign it to me.

@shakib609  I am starting to translate FAQ > Styling and CSS. Can anyone kindly assign it to me.

Please translate one page at a time as @nutboltu vai suggested here @Twaha-Rahman

Hello @nutboltu bhai, I have submitted my first translation PR Installation>Getting Started Page. please see and merge.

Please me for Installation >  Add React to a Website page translation

Wanna work with Hooks section; starting with Introducing Hooks

@uraniumreza Please go ahead

@shakib609 @Twaha-Rahman , @sazzadsazib , @ImranMH , @zpbappi Let's restart the pace of the translation and finish the translation 😃

Installation

Create a New React App
I just started working on this page.

Hello, @nutboltu and other maintainers. I would love to contribute on the page Thinking in React.
To be honest, I am not an expert. I am a junior software engineer in a software firm named DSi and I have worked on several web projects. But, I aim to contribute to open projects starting with translation.
As a translator, my experiences are translating Bangla poems to English (written by my mother) for an international conference and working on my Bangla book that is going to be published by Prothoma. It is a collection of translated Olympiad problems and solutions.
I hope I'll be let contributing to this project.

@nafistiham Please go ahead. I added you to Thinking in React. page.

I have PRed for the Thinking in React page. Now, I am working on the Components and Props page. Please review my PR and let me know if anything needs to be changed over.

Just completed the Components and Props page and now working on the React page in the API reference.
I have edited each line individually to maintain the addition and deletion ratio this time https://github.com/reactjs/bn.reactjs.org/pull/46/commits/54d3f9302c8a92b1f830ead051267d2f2f2f8c81

Being a native Bengali speaker and react developer, I would like to contribute on the Hooks at a Glance page. It would be great if you could assign this page against my username.

@rummanhasnayeen Thanks for your interest. Please go ahead.

I finished and committed the React API page. The references have been a little tricky to translate. I will be waiting for the reviewers to resolve my mistakes and merge the files.
In the meantime, I will be working on React.Component API page.

I will start Very soon. It will be my pleasure if any maintainer can mention me a page to translate.

I will start Very soon. It will be my pleasure if any maintainer can mention me a page to translate.

@sabbir073 You can start with the API Reference > React.Component page.

I will start Very soon. It will be my pleasure if any maintainer can mention me a page to translate.

@sabbir073 You can start with the Using the State Hook page.

Sure, i started it.

Hello, want to start with React.Component from  API Reference section

Hello, want to start with React.Component from API Reference section

Hello, @ShahadIshraq. Sorry for the inconvenience. We forgot to assign the React.Component page to the previous translator. There's already a PR(#48) for that page. You can start translating the React page instead. Shall I assign it to you?
Again really sorry for the inconvenience.

Hello, want to start with React.Component from API Reference section

Hello, @ShahadIshraq. Sorry for the inconvenience. We forgot to assign the React.Component page to the previous translator. There's already a PR(#48) for that page. You can start translating the React page instead. Shall I assign it to you?
Again really sorry for the inconvenience.

No problem. Please assign the React page to me

@ShahadIshraq  I added you to the React page. 👍

Announcement
As we are planning to accelerate our translation process and to get the core pages done, we should prioritise those pages to finish first.
@zpbappi , @tanvirraj  and @nafistiham if you guys aren't working on the core pages, can you please remove yourselves only from the core pages so that others can pick them up.
If we don't get any response from you guys, we assume you guys aren't working on those pages and assign those pages to other.
Thanks 🇧🇩

@nutboltu sorry for the delay, not getting enough time. I have removed my name from the task. Hopefully, someone will pick it up.

@zpbappi no worries. you can pick any other pages it you want. thanks for you quick reply 😄

Apologies for such inconvenience. Please do remove me from react.component which is open in this PR
But, I have tried doing some contribution in this PR which I was told to close. Please have a look at it. These works haven't been confirmed/merged or corrected yet. I'd defnitely like to help correcting them if needed.

Thanks for replying @nafistiham. I am removing you from these pages for now. On the other hand, you can try correcting your PRs according to the ways @nutboltu vai and I suggested. If you are having problems creating separate PRs for each files. I can help you out.

I'm interest to contribute react github pages here

I'm interest to contribute react github pages here

@sabbirshawon can you kindly point out the page you want to translate so that we can assign it to you?

I'm interest to contribute react github pages here

@sabbirshawon can you kindly point out the page you want to translate so that we can assign it to you?

Using the Effect Hook

@sabbirshawon Using the Effect Hook is assigned to you.

@sabbirshawon Using the Effect Hook is assigned to you.

Thanks brother

I have faced a problem while git push
remote: Permission to reactjs/bn.reactjs.org.git denied to sabbirshawon.
fatal: unable to access 'https://github.com/reactjs/bn.reactjs.org.git/': The requested URL returned error: 403

Building Your Own Hooks

@nutboltu Sorry it took me a while to reply. But now that back..... I would like to translate "Virtual DOM and Internals" page. (Rest assured I am not going to run away again😅)

@Twaha-Rahman Please pick any of the core pages first, as we badly need to finish them first. :) But if you already started, then go ahead!

@nutboltu There seems to be a problem with node v12.16.1 LTS. When I cloned repo and used yarn to install the dependencies, it was constantly running into errors. Then this post in Stack Overflow helped me(https://stackoverflow.com/questions/58149280/fail-to-install-gatsby-starter-because-of-sharp#). After downgrading to node v10.13.0 LTS ,now everything is working fine. Just wanted to know if it was only with me or not. (Before I was using the latest node v12.16.1 LTS)

@Twaha-Rahman this repo has a node version dependency which is lts/carbon
https://github.com/reactjs/bn.reactjs.org/blob/5d6d4ad4b6a60c8cf81fb779a15dc29e526a7b81/.nvmrc#L1
It means we need to use 8.x for node. It's good that it also works for 10.x.
But it's recommended using 8.x.

@nutboltu Sorry for the inconvenience! I have made the pull request for the translation of the page 'faq-internals'.

Am I missing something? Why has the translation process stopped? Has it been cancelled?

@Twaha-Rahman this project still is ongoing. It's an open-source project and we are all volunteers here. When we (the contributors) contribute more it will alive again :)

@nutboltu Oh, sorry.....I was worried cause I didn't see any progress for a while...

@nutboltu Hello. Would like to contribute to the library.
*Glossary page seems the only page from the core pages. Would you assign me to this page?
Other pages I'm interested in:
*Building your own hooks
*Hooks api references
Thanks.
🇧🇩
Let me know if I have to include anymore information.
P. S. Mentioned multiple pages at the same time because saw in the list one person is assigned to multiple pages.

@tamzidkarim really appreciated! few pages are in stale mode.

Rendering Elements
Components and Props
Forms
would you like to pick any of them? if not, I can assign you to the Glossary page

@nutboltu okay. Sounds fine.
*Rendering elements
*Components and props
*Forms

@tanvirraj and @nahidmbstu I am removing your name from Rendering elements and Forms pages as these pages are assigned to you for a long time and there's no update. I hope you understand.
@tamzidkarim, I assigned you to Rendering elements page to get started.

@nutboltu Great. Thanks.

@nutboltu Hey could you add me to the Bengali Slack channel? Facing few errors while running it on the local machine.

@tamzidkarim could you please give me your email address?

<EMAIL_ADDRESS>

I've contributing to this repo for over an year and would  like to thanks everybody for their support, specially @nutboltu and @shakib609 . Really excited to see the translation of the core pages almost finished.
@nutboltu If there's any stale page, can you please assign it to me?

@Twaha-Rahman would you please take Components and Props?

@nutboltu How about the Forms and then Components and Props?  Cause the translation of Forms is so close to finished and it's stale...

@ShahadIshraq any update regarding React page translation? It seems the page is pretty long to translate. if you want I can help you on that.

@nutboltu let me know if any of the core pages is stalled or need help. If not then assign me building your own hooks

@tamzidkarim Tutorial and Thinking in React are still not translated. would you like to take any of them?

I have updated Using the Effect Hook but it still not approved yet. Have a take a look @nutboltu

@nutboltu okay. assign me Tutorial

@ShahadIshraq any update regarding React page translation? It seems the page is pretty long to translate. if you want I can help you on that.

Honestly, I have made very little progress and I am extremely sorry about that. Would you mind taking the lead on this? I'd appreciate if you take it up and assign a small part of it at a time to me.

@ShahadIshraq you can open a PR with the small changes you made. It's really a huge page. we can work together. for more conversation, I would request to join our slack channel.
https://rt-slack-invite.herokuapp.com

Hi, I would like to contribute to this project. I am a native Bengali speaker. Other than that, I have working experience with react.

Hello @soumiDeb. You can choose any of the un-assigned pages from the list and let us know which one you want to translate.

Hi, @shakib609  I would like to translate API Reference->react.component. Assign it to me kindly.

@soumiDeb assigned to you. feel free to join our slack channel (#bn) for more collaboration
https://rt-slack-invite.herokuapp.com/

Hi, @shakib609 I would like to translate the documents into Bengali. can you please kindly assign this issue to me

@SourangshuGhosh  can you please pick any of the page from the core pages so that we can assign the page to you.

@nutboltu All the documents in the docs folder

@SourangshuGhosh Please read the issue description first. Then pick any of the pages which are not assigned to any (e.g: Thinking in React). I think it would be too much hard work for one person to translate all the pages.
Also please join the slack channel (https://rt-slack-invite.herokuapp.com/) for further discussion.

Okay @nutboltu  to start with I will take "Building Your Own Hooks"  "Hooks API Reference" and "HooksAPI"

@SourangshuGhosh  I assigned you to Building Your Own Hooks. Let's finish it first then we'll move to the next page.

Hi @nutboltu, @shakib609 I am contributing to other open sources and would love to contribute to React.
I would love to work on "Hooks API Reference" and "Hooks FAQ".
Cheers! 🚀

Hello @JubayerJoy. Thank you for your interest. We are trying to finish all the core pages first. Would you be interested in translating the Thinking in React part of the documentation?(There's already an incomplete PR from where you can reuse some translations) If not I can assign you to the pages you mentioned.

@shakib609, Sure! I would love that.

Thanks. Assigned to you @JubayerJoy :rocket:

@shakib609, I have reviewed the previous PR #47 of Thinking in React. The author did a lot of work but it has some issues and I think its best to start fresh.
I am working on it.
Cheers! 🚀

@nutboltu I'd love to contribute to React Bn translation. Could I translate step-2 of Tutorial page, if that's feasible?
I see it was assigned to tamzidkarim, presumably not started yet as I can't see any PR on that yet.

@oxfordhalfblood it seems the progress of this page is in stale status. Feel free to start translating. I am going to assign you to this page as well.

hi @nutboltu and @shakib609  can u assign me this issue. I want to contribute.

Hello @srishti666 , please select an incomplete page from the description that you want to translate. We can assign it to you.

Hello @nutboltu I want to contribute in documentation, but this repo seems very innactive, Will you merge pull request?

Hey @shakib609, is the work still going on? I was wondering if I could get involved.

It looks like this translation has stalled, and is now very outdated.
I'm going to archive this repo, but if someone wants to pick up, please start a new effort.


Tackle-196 landscape report

Issue : https://github.com/konveyor/tackle-pathfinder/issues/66
Features covered

New endpoint "landscape" that will answer with a List of assessmentIds + assessment risk based on the answers
Only considers assessments Complete

Unit , Integration and End2End Tests cases covered

Unit Test ( AssessmentSvcTest.java )

given_AssessmentWithNoRedAnswersSeveralAmber_When_landscape_Then_ResultIsAMBER
given_AssessmentWithNoRedAnswersFewAmber_When_landscape_Then_ResultIsGREEN
given_AssessmentWithRedAnswers_When_landscape_Then_ResultIsRED

Integration Test ( AssessmentsResourceTest.java )

given_ApplicationsAssessed_When_LandscapeRequested_Then_ExpectedJSONIsReturned

End2End Test on minikube with native image ( check_api.sh )

Tests 15

Pre steps Minikube:

Install minikube : https://minikube.sigs.k8s.io/docs/start/
Start minikube : minikube start --kubernetes-version=v1.20.2 --cpus 4 --memory 12000
Enable ingress addons : minikube addons enable ingress
Create tackle namespace

kubectl create namespace tackle

Deploy tackle ( to have the keycloak instance running ) on your K8s cluster

$ kubectl apply -f  https://raw.githubusercontent.com/konveyor/tackle/main/kubernetes/kubernetes-tackle.yaml -n tackle

Edit the Ingress object to allow direct request to Pathfinder API

$ kubectl edit ingress tackle -n tackle

Add this below paths:
     - backend:
          service:
            name: tackle-pathfinder
            port:
              number: 8080
        path: /pathfinder
        pathType: ImplementationSpecific

Build and push

$ ./mvnw -U -B package -Dquarkus.container-image.push=true -Dquarkus.container-image.group={your quay user} -Dquarkus.container-image.registry=quay.io -Dquarkus.container-image.username={your quay user} -Dquarkus.container-image.password={your quay pwd} -Pnative

Change the image in the deployment tackle-pathfinder to be the one you have pushed
Rollout to update the image

$ kubectl rollout restart deployment tackle-pathfinder -n tackle

Test case with Minikube : Do the full API test
$ .github/scripts/check_api.sh

Expect

+++++ API CHECK SUCCESSFUL ++++++

Pre steps non containerised local test:

run keycloak

podman run -it --name keycloak --rm \
            -e KEYCLOAK_USER=admin -e KEYCLOAK_PASSWORD=admin -e KEYCLOAK_IMPORT=/tmp/keycloak/quarkus-realm.json \
            -e DB_VENDOR=h2 -p 8180:8080 -p 8543:8443 -v ./src/main/resources/keycloak:/tmp/keycloak:Z \
            jboss/keycloak:12.0.2

run postgresql

podman run -it \
            --name postgres-pathfinder -e POSTGRES_USER=pathfinder \
            -e POSTGRES_PASSWORD=pathfinder -e POSTGRES_DB=pathfinder_db \
            -p 5433:5432 postgres:10.6

run application

./mvnw quarkus:dev

Test case with local non containerised : Do the full API test
$ .github/scripts/check_api.sh localhost:8085 localhost:8180

Expect

+++++ API CHECK SUCCESSFUL ++++++

Adding some notes after an internal chat with @jonathanvila  :

The endpoint GET /assessments/landscape will NEVER return a risk whose value is UNKNOWN even if the enum used in the model includes it.
The "unassesed" application will need to be calculated in the UI rather than the backend: the number of unasseed application is equal to the total number of applications sent to the endpoint minus the length of the response of the current endpoint => totalAppsRequestedInUI - response.length

@jonathanvila I just want to clarify/summarize all my previous comments:

About the 4th donut chart "Unassesed": This is something the UI can do with the current data the backend is providing => this PR doesn't need extra action on this topic.
About risk UNKNOWN: The endpoint GET /assessments/landscape will NEVER return a risk whose value is UNKNOWN even if the enum used in the model includes it => this PR doesn't need extra action on this topic.
About whether or not the landscape totals should be calculated in the backend or in the UI: The current response of the backend is enough for the UI to create the donut charts. However, I think there is still a minor decision we need to make in this topic. I have 2 options we can choose:

Option 1: Currently the backend is returning an array. Can the response return an object containing the total values?. E.g.

{
   "low": 1,
   "medium": 0,
   "high": 1
}

Option 2: Let's keep the endpoint as it is but change the name of the endpoint from /assessments/landscape to something like /assessments/assessment-risks (the name is up to you) since the endpoint itself is not creating the Landscape but providing data that will be processed/converted to the landscape report. If you ask me, I would go for this option but I'd like to know your opinion.

About the Rest endpoint GET: As discussed in the internal meetings, changing the verb GET to POST is something we can do in order to reduce the risk of having a big URL calling the endpoint.

@carlosthe19916 :

Calculation : I agree with Option 2. Endpoint = /assessments/assessment-risks
Verb, changing to POST + body

Thanks @jonathanvila, this PR looks good to me.


add Emacs version to MELPA

I am dumb, I see it's already there.

No problem :)
On the topic of the emacs package, there is one thing that I didn't open an
issue for, and that is printing the links, in addition to the
header/status/etc. short explanation. If you want to do this improvement
(which means just changing an emacs file and a coffeescript one in the
generator branch), I'd happily take in a PR.
On Mon, May 30, 2016 at 8:22 AM, JasonM23<EMAIL_ADDRESS>wrote:

Closed #47 https://github.com/for-GET/know-your-http-well/issues/47.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/for-GET/know-your-http-well/issues/47#event-675683430,
or mute the thread
https://github.com/notifications/unsubscribe/AArOQWvcphWgfSKlq3gosVQDMBfhWzGmks5qGoIsgaJpZM4Ipeuy
.

--
andreineculau.com http://www.andreineculau.com


Generate analytics snippet as template tag

Perhaps you could have a template tag like:
{% load wagalytics %}
{% ga_snippet %}

This could benefit #8 since it seems that there's otherwise no way to directly control whether or not it displays.
The dynamic part of the snippet appears to be the property ID which you could pass directly into the tag (ex. {% ga_snippet property_id="XXXXX" %}), or perhaps as a setting (GA_PROPERTY_ID = "XXXXX"). I think it would be better to pass it directly into the tag, but that would prevent you from having different settings between dev and prod.

There are several existing GA template tags for Django. Best practice for GA snippets seems to be a moving target (in the <head>, before </body>, using Google Tag Manager?) and I think it's better if this module doesn't try to solve that problem.


[Bug]: Exposed Port

Is there an existing issue for this?

[X] I have searched the existing issues

Example public repository
coolify
Description
Dear Andras Bacsai,
I hope this message finds you well. I wanted to bring to your attention an issue I've encountered while using the Coolify.
The exposed port specified in the Dockerfile is not working as expected. I'm unable to access the application running inside the container through the specified port. I got this error in some services too like "MinIO" .
Here's a screenshot of the error I encountered:

I've tried to resolve the issue on my own, but I wasn't able to find a solution. I would be grateful if you could help me with this.
Thank you for your time and assistance with this matter. I look forward to hearing back from you soon.
Best regards,
Ardin
Steps To Reproduce
...
Version
v3.12.17

I'm closing this issue, because tracking features will be moved to GitHub discussions. Github issues will be only for bugs.
Version 4 is in full focus. v3 related issues will be closed, if it is not a critical bug.
Thanks for your understanding.


Contributing my Titanic Project to Open-Source

It's Hacktober,
I've changes almost everything here, pasted my own project and removed my links and stuff.
There is no other changes made except Machine Learning/Titanic Survival Prediction
All the files are working properly, and are open for anyone to use.
Please make sure to put 'hacktoberfest-accepted'.

hey, check #1429


Steps to Reproduce:

Enable Debugger in node socket code
Stop the debugger and try to modify the code, the caret keeps on moving to the end of the file.

Reproduces without extensions: No

Figured it out. Its the Beautify Extension which was creating the trouble after debugger was turned on.
https://github.com/HookyQR/VSCodeBeautify
This extension.