src-ip based routes take precedence and breaks NodePort

Say, the cluster network cidr is <IP_ADDRESS>/16 and that we have three node
k8s cluster. All the nodes are assigned with /24 prefixlen subnet. Following
static routes will be added to the OVN Cluster Router
$ ovn-nbctl lr-route-list ovn_cluster_router
IPv4 Routes
           <IP_ADDRESS>/24                <IP_ADDRESS> src-ip
           <IP_ADDRESS>/24                <IP_ADDRESS> src-ip
           <IP_ADDRESS>/24                <IP_ADDRESS> src-ip
                <IP_ADDRESS>/0                <IP_ADDRESS> dst-ip

Following, logical flows will be added by ovn-northd for ovn_cluster_router
$ ovn-sbctl lflow-list ovn_cluster_router |grep  lr_in_ip_routing |cut -f3,4 -d,

1. match=(ip4.src == <IP_ADDRESS>/24), action=(ip.ttl--; reg0 = <IP_ADDRESS>; reg1 = <IP_ADDRESS>; eth.src = 00:00:00:ac:bf:ed;...)
2. match=(ip4.src == <IP_ADDRESS>/24), action=(ip.ttl--; reg0 = <IP_ADDRESS>; reg1 = <IP_ADDRESS>; eth.src = 00:00:00:ac:bf:ed;...)
3. match=(ip4.src == <IP_ADDRESS>/24), action=(ip.ttl--; reg0 = <IP_ADDRESS>; reg1 = <IP_ADDRESS>; eth.src = 00:00:00:ac:bf:ed;...)
4. match=(ip4.dst == <IP_ADDRESS>/16), action=(ip.ttl--; reg0 = ip4.dst; reg1 = <IP_ADDRESS>; eth.src = 00:00:00:ac:bf:ed;...)
5. match=(ip4.dst == <IP_ADDRESS>/0), action=(ip.ttl--; reg0 = <IP_ADDRESS>; reg1 = <IP_ADDRESS>; eth.src = 00:00:00:ac:bf:ed;...)

In the above output, logical flows 1, 2, 3, and 5 reflect the corresponding
static routes from the lr-route-list above.
Logical flow 4, due to longest prefix match, gets pushed down in favor of the
src-ip based routes.
This causes an issue for NodePort, and this has existed all along. However,
with the move to /16 subnet for join logical switch the issue has become more
promininent
Path of a NodePort packet:
A packet to a NodePort hits the L3 gateway, say with IP <IP_ADDRESS>, and gets
Load Balanced and is forced SNAT'ed to that IP. The packet arrives at the POD
(on another Node) and is serviced. On its return path, the destination IP now
is <IP_ADDRESS>. Instead of making its way to the L3 gateway where it got
SNAT'ed, it will hit the src-ip based static routes (longest match prefix) and
will be forwarded to the wrong L3 gateway. Things start fo fail.

Fix:
The fix is to add a /32 static route to each of the lb_force_snat_ip IP
addresses. For example: In the above case,

ovn-nbctl lr-route-add ovn_cluster_router <IP_ADDRESS> <IP_ADDRESS>
ovn-nbctl lr-route-add ovn_cluster_router <IP_ADDRESS> <IP_ADDRESS>
ovn-nbctl lr-route-add ovn_cluster_router <IP_ADDRESS> <IP_ADDRESS>

This causes an issue for NodePort, and this has existed all along. However,
with the move to /16 subnet for join logical switch the issue has become more
promininent

Can you explain this a little more. I remember thinking about this and then coming to the conclusion that it will work fine (can't remember why. May be because <IP_ADDRESS> is a OVN IP and it will always have higher priority). Does this work when <IP_ADDRESS> is a /24 subnet? If so, why?

@shettyg from ovn-nb(5) manpage we have
       When  multiple  routes match a packet, the longest-prefix match is cho‐
       sen. For a given prefix length, a dst-ip  route  is  preferred  over  a
       src-ip route.

For a given set of static routes the longest-prefix match has precedence and then for the same given prefix length dst-ip has precedence. Now with <IP_ADDRESS>/24 and all the K8s node subnet having /24,  the prefix length is same and  since dst-ip is preferred over src-ip the reply packets from the POD with destination IP set to forced-SNAT LB IP, we will always hit <IP_ADDRESS>/24 route and packets are forwarded to the right next hop.
Note that if the join subnet is <IP_ADDRESS>/24 and the deployment selected the cluster network CIDR to be <IP_ADDRESS>/16/28, then each of the node will have /28 and since the prefix length is longer than the <IP_ADDRESS>./24 the src-ip route will be preferred and NodePort will not work.

okay.


More artifact effects

About the PR
3 new emergent effects:

Wanderer, random walks like the singularity
Fixture clearing, lets the artifact phase through everything
Sentience

also an ancillary (but relevant) feature, artifacts get an action that lets them activate themselves on a 60s cooldown, for use with sentience. also nerfs mitosis since it was exclusive in depth 4
Media

[x] I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

wanderer + phasing
https://user-images.githubusercontent.com/19853115/210297631-6eca836b-9f68-4cb2-92cc-646e5901360c.mp4
sentience
https://user-images.githubusercontent.com/19853115/210297667-9b0300c8-4a76-4e65-8633-c4a6b15219f9.mp4
Changelog

:cl:

add: Several new, !!fun!! artifact effects have been added.

Idea - make artefact to spawn portals in random places


make it easier to detect divergence between TransactionPlan::build and TransactionPlan::build_concurrent

Is your feature request related to a problem? Please describe.
Right now we have both TransactionPlan::build (for wasm) and TransactionPlan::build_concurrent (async for pcli). They have very similar functionality and it is easy during development to accidentally update one without updating the other. Right now this can be caught by the plan_effect_hash_matches_transaction_effect_hash test which checks that the effect hash from both TransactionPlan::build and TransactionPlan::build_concurrent is the same. However, that test only includes the spend, output, swap, memo and clue plans.
Describe the solution you'd like
Some ideas to resolve:

Ensure the plan_effect_hash_matches_transaction_effect_hash test to cover all actions, this way the divergence will always be quickly caught.
Factor out the common functionality of TransactionPlan::build and TransactionPlan::build_concurrent  into helper functions. This could get a bit messy.
Something else?

An alternate strategy could be to reduce the complexity of the build methods. Currently they're responsible for carefully aligning the order of the actions, but instead, we could define an ordering on transaction actions and then sort them.

Less relevant after build refactoring.


fix: 3042 - saving explicitly product name in the correct language

What

Now the lang field of product is set explicitly for each server update.
As a result, when we set productName, we set it just for that language. The other translations are not impacted.
That should also impact ingredients, but I haven't double-checked yet.

Fixes bug(s)

Fixes: #3042

Codecov Report

Merging #3862 (e799b86) into develop (6eba351) will decrease coverage by 0.01%.
The diff coverage is 0.00%.

@@             Coverage Diff             @@
##           develop    #3862      +/-   ##
===========================================
- Coverage    10.73%   10.73%   -0.01%
===========================================
  Files          273      273
  Lines        13478    13479       +1
===========================================
  Hits          1447     1447
- Misses       12031    12032       +1

Impacted Files
Coverage Δ

...th_app/lib/background/background_task_details.dart
0.00% <0.00%> (ø)

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

It should also impact packaging text.

Probably. Something like "whatever text I'm writing is in this language" (at the product level), in addition to the language and country we already define (at the query level).

But I'm not sure we use packaging text that much any more. We rather use the "new" packaging items, don't we?

Yes @monsieurtanuki . We however have to ensure image upload selection/deselect/crop is present in the new system (which it isn't)

Codewise it looks good to me, though I don't know which side effects could happen when having a just partly multilingual app

Thank you @M123-dev for your review!
I don't know either if there will be side-effects, but it sounds fair to explicitly set the language anyway.
Here it's about monolingual texts; there will soon be changes regarding multilingual texts.


Assignment

What changes are you trying to make? (e.g. Adding or removing code, refactoring existing code, adding reports)
Added code to answer questions.
What did you learn from the changes you have made?
Was there another approach you were thinking about making? If so, what approach(es) were you thinking of?
Were there any challenges? If so, what issue(s) did you face? How did you overcome it?
How were these changes tested?
A reference to a related issue in your repository (if applicable)
Checklist

[ ] I can confirm that my changes are working as intended

You have unfortunately made a pull request to the wrong repo. You shouldn't be making a pull request to uoft-dsi/shell, but rather your own forked shell repo. Please read the instructions on your onboarding Assignment Submission Guide more carefully.


Javascript compile makes debugging difficult

The JS.js gulp task globs all the JS into a single huge file which is difficult to debug. For now I'm leaving this version of the task on the es6 branch, and applying a simplified js.js task which globs only the js in components. Global JS should be manually added into pattern lab, and your CMS.

At some point we'll revisit the version on ES6 branch, but for now the version on the simple-js branch will be rolled into master.


Add Profile:

Profile Submission

Profile Category
Please select one or more categories for your profile:

[ ] Badge 🎖
[ ] Minimalistic ✨
[ ] Dynamic 🔄
[ ] Icons 🎯
[ ] Backgrounds 😎
[ ] GIFS 🖼
[ ] Game Mode 🚀
[x] Code 👨💻

Next Steps
Once you've filled out the information, please comment below:
@all-contributors please add @Jisha-tr for review

@all-contributors please add @Jisha-tr for review


Add structref as a mutable struct that is pass-by-ref

Closes https://github.com/numba/numba/issues/5397
Add structref to support mutable structure that can be extended like typical custom types (i.e. with @overload and friends). Also, support some nice default to minimizing work; i.e. default boxer/unboxer, default getter/setter, default constructor.
TODOs:

[ ] add docs.

Thanks for the fixes, I think the only remaining this is the f-string problem here https://github.com/numba/numba/pull/5978#discussion_r455201605 else this looks good to go.


💡[Feature]: Cervical Cancer Classification

Is there an existing issue for this?

[X] I have searched the existing issues

Feature Description
The jupyter notebook helps in classification of cervical cancer. Cervical cancer develops in a woman's cervix (the entrance to the uterus from the vagina).
Use Case
The Logistic Regression model and Support Vector Classifer model performed have well with an accuracy score of 99.4%
Benefits
There are many reasons why a cancer can go misdiagnosed, these include:

The symptoms, especially in the early stages being mistaken for some other type of less serious illness.
The actual test adminstered by a healthcare professional may give the wrong diagnosis

It is clearly important and evident that a correct diagnosis and early treatment is the best possible way to ensure that a patient has a high chance of surviving.
Dataset: (https://www.kaggle.com/datasets/loveall/cervical-cancer-risk-classification)
Priority
High
Record

[X] I have read the Contributing Guidelines
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

Hello @Avdhesh-Varshney @TAHIR0110 sir,
Could you please assign me this issue with the required GSSOC labels?
Thank You.

@navyabijoy assigned!


Features/gpu embedding fusion

Added the Python API of the fused embedding.
Add fill_empty_row and prune_invalid_id to fused embedding lookup
Add fused embedding modelzoo perf test benchmark

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 9 committers have signed the CLA.:white_check_mark: zonghua94:x: nvzhou:x: RandyInterfish:x: fuhailin:x: shanshanpt:x: liutongxuan:x: lixy9474:x: changqi1:x: marvin-YuYou have signed the CLA already but the status is still pending? Let us recheck it.


Inception_v3 model, the mean in batch norm parameters of the pretrained model is negative??

Hi all,
Just tried the inception model and couldn't get it to work. It always gives a very low accuracy.
1, I checked the prerained weights, and there are negative values in the mean of batch norm. However, batch norm is after the convolution layer with ReLU units which always produces nonnegative values. So the mean should be always nonnegative. Why the mean in the pretrained weights is negative?
2, In the Lasagne document shown as the following, batch norm should be used after the convolution and before ReLU. Is this the case or should it be used after ReLU and before convolution of next layer? Because going through ReLU will always suppress the negative values, it would not make much sense in inserting between convolution and ReLU?
"This layer should be inserted between a linear transformation (such as a DenseLayer, or Conv2DLayer) and its nonlinearity. The convenience function batch_norm() modifies an existing layer to insert batch normalization in front of its nonlinearity."
3, There are 1008 output units in the model, while there are only 1000 classes in ImageNET. From this line (https://github.com/soumith/inception.torch/blob/master/googlenet.lua#L113), I found that only the 2-1001 classes are used for ImageNET. Is this true? The I used the following operation. Just want to check with you guys that this is true.
T.set_subtensor(net['softmax'].W[0:1000], inceptionmodel_param_values[470][1:1001])
T.set_subtensor(net['softmax'].b[0:1000], inceptionmodel_param_values[471][1:1001])
Thanks a lot.

I just found that the main issue about low accuracy is labels (synset) used for inception different from the one used in VGG model. After a label transfer, the accuracy on validation set is  0.674479166819 (top1) and 0.887960737027 (top5). This is still far from the reported performance. Anybody has the same issue?
By the way, the weights are set as following.
inceptionnet['softmax'].W.set_value(inceptionmodel_param_values[470][:,1:1001])
inceptionnet['softmax'].b.set_value(inceptionmodel_param_values[471][1:1001])


Initial typescript

I have added typescript, split up 1 file into multiple files, made all the triggers load up to a Discord Collection for faster search and response, added better logging, ability to change prefix, updated many packages, removed 0.7 triggers and made OCR (hopefully) work better. Also made that if text includes more then 1 trigger they would all be added to message. And lastly, I have replaced normal messages with Embeds!
This is not a drop in replacement, because the API token in stored in a different location. The npm i --production will ask for the TOKEN and PREFIX.

Great!

One thing though, many people still prefer 0.7, I don't think there's a need to remove this backwards compatibility

Is dist supposed to be included in versioning?

Everything should work now. It should be ready for merging. Just waiting for @vilhelmprytz approval.

Cool, very nice work!

Nice work! Is the project supposed to run inside Pterodactyl now (I saw the egg files)? Would it be possible to add a Dockerfile so I can run it using docker-compose (just a normal Docker image)?

Sorry, I just did some very annoying conflicts I realize. My plan is to merge #7. Once it's merged, can you resolve the conflicts and whatnot? The GitHub actions must be updated to work with TypeScript.

Sorry, I just did some very annoying conflicts I realize. My plan is to merge #7. Once it's merged, can you resolve the conflicts and whatnot? The GitHub actions must be updated to work with TypeScript.

The conflicts are now resolved and merged, the GitHub workflow issues are also resolved now and the build passes without errors/warnings.


Parse Error in Wireshell

When running wireshell on the command line we get the following error:
Parse error: parse error in /Users/Stan/.composer/vendor/wireshell/wireshell/src/Helpers/PwUserTools.php on line 23
The Line is this:
public function init(OutputInterface $output, InputInterface $input) {     parent::setOutput($output)::setInput($input)::bootstrapProcessWire();   }
Php version is 5.6.28.

Which ProcessWire/wireshell version do you use?

PHP version issue :/

All occurrences have been replaced, I just released a new version (1.0.2). Should be working now.


Minor bug fix and code migration to Python 3

See commit messages for detailed info.

@h314to done


Revert "Bump black from 19.10b0 to 20.8b1"

Reverts yuval9313/FastApi-RESTful#12

Mistake pull due to failed workflow caused because depndabot deleted the branch before rerunning the workflow

Mistake pull due to failed workflow caused because depndabot deleted the branch before rerunning the workflow


An idea of using explicit YAML files for configurations

Motivation
Currently configurations are hard-coded in bash script via command-line arguments. Since YAML files offer much more structured configuration format, a better and more clear way would be to encode arguments in yaml files (as the major way for specifying configuration) and meanwhile allow users to manipulate arguments via command line (as the minor way).
What's the intention of this PR
I don't intend this PR to be merged. Rather, I use it to showcase how to achieve the proposed way with minimal changes with the help of draccus (a fork of Pyrallis). I'd like to have maintainers to give a review and see if they are willing to incorporate such change into the codebase.
 When one wants to do pretraining with Phi, some specific arguments are coded in train_phi.sh.
The new way of specifying arguments
My idea is instead to have a few yaml files for these arguments. In this PR, specifically there are

With which one simply needs to call
deepspeed --include localhost:4,5,6,7 --master_port 29501 tinyllava/train/train.py \
    --config_path ./configs/training/phi-pretrain.yml \
    --deepspeed ./configs/zero3.json

to initiate Phi pretraining specified by configs/training/phi-pretrain.yml. Inside phi-pretrain.yml, besides training-related arguments, it includes the model and data config by linking to configs/model/phi.yml and configs/data/llava-v15-pretrain.yml. All argument names are taken from the defined dataclasses in tinyllava/utils/arguments.py.
A test comparing specified arguments of current method and proposed method
scripts/test_args.sh will initiate two dummy runs of loading arguments, one with the current method and the other with the proposed method, and output two files config_original.yaml and config_new.yaml that contain all specified arguments. The run with the current method would be exactly the same as scripts/train/train_phi.sh in terms of the arguments. Here is the diff of config_new.yaml w.r.t. config_original.yaml. One can see that the only diffs are like directory names or local rank which don't matter. All other arguments match perfectly, meaning that this new way of providing configurations is valid.
Overwrite yaml arguments via command line
This new method still allows user to specify arguments via command line input, which will overwrite the corresponding one specified in the yaml. For example, suppose one wants to change the vision tower and the learning rate, he/she can simply do so by:
deepspeed --include localhost:4,5,6,7 --master_port 29501 scripts/test_new_args.py \
    --config_path ./configs/training/phi-pretrain.yml \
    --deepspeed ./configs/zero3.json \
    --learning_rate 5e-4 \
    --model.vision_tower openai/clip-vit-large-patch14-336

Further tests show that this method will cause weird hanging of deepspeed... Closing now.


rive.wasm file size: >3x increase on 2.x.x versions

1.2.4 - 204 kB (~90kB gzipped)
https://www.npmjs.com/package/@rive-app/canvas/v/1.2.4?activeTab=code
2.1.1 - 653 kB (268kB gzipped)
https://www.npmjs.com/package/@rive-app/canvas/v/2.1.1?activeTab=code
There's no info in the changelog https://github.com/rive-app/rive-wasm/blob/master/CHANGELOG.md

Tiny file size
Rive files are a fraction of the size of videos, GIFs, image sequences, or JSON-based formats. Whether you bundle your animations or deliver them remotely, our optimized format helps keep your app small.

Yup. Rive files are tiny, but the runtime is huge ;)
Is it a bug (eg. bad/unused imports)?
Is there smething that can be done to reduce the runtime size?

Hi @tomek-f ! Something went up in the release process for automating the CHANGELOG so thanks for pointing this out, we'll get this fixed up.
Regarding the runtime size, you're right, the WASM runtime got a major version bump from v1 to v2 due to a size increase for having a quite complex text engine compiled into the .wasm that powers the runtime. We're actively looking to optimize this such as determining which WASM to load when you instantiate Rive (i.e. detecting if you need a version with the text engine), loading the text engine on demand if needed, or even a more pared-down version to cut down on the size. We can keep this issue up until we have a solution released for this in the meantime.
If you don't have a need for Rive Text, you should use v1.2.4 and you'll have a much smaller dependency size from @rive-app/canvas

Thanks, @zplata

Have there been any updates in regard to this issue? We tried using v1.2.4 but with the latest version of rive-app/react-canvas (4.3.3) our animations were breaking, and we had to bump to v2.4.3. When working within Next.js (next.config.js) it causes our maxAssetSize to nearly 4x in size.

Hi - we should have a version coming out pretty soon here barring any complications in our testing! It will look something along the lines of consuming either a @rive-app/canvas-lite / @rive-app/canvas-advanved-lite and probably a React one as well. It should be about a third of the size it is today.

Hey all! We just released the packages mentioned above, @rive-app/canvas-lite and @rive-app/canvas-advanced-lite as v0.1.1. After we do some testing and validation, this should shortly align with the other web runtime versions. But feel free to use v0.1.1 now!
Note that this package will not have the text engine dependencies needed to render Rive Text, so if you have any .riv assets that have that, it will not render (but it will also not break your app if it does have it, or if you use the text APIs). Let us know if you run into issues with this.
Once this is validated, we'll likely make a @rive-app/react-canvas-lite or something of the sort.

@rive-app/react-canvas-lite is available and updated alongside the regular js/wasm runtimes! You should hopefully see a noticeable package size drop if you integrate either the @rive-app/canvas-lite or @rive-app/react-canvas-lite packages. Closing for now but feel free to open a new issue if you run into issues with it.

Thank you, @zplata


Create intro

My name is Fabian Gallardo, I am 34 years old and I am from the Canary Islands-Spain. Since I was very young I have always been interested in the Tech world and this year I have finished a professional training in Web Application Development while working in another sector. I didn't know the Binary Studio Academy course but as soon as I saw it I wanted to try to enter to improve my training,  change my job and hopefully my life as well.

Just a bit of me 🛩


New SpuriousMismatch filter

A contig/refrtarget mapping classified as an indel may also have SNVs in the "match" blocks flanking the indel. If no interesting k-mers span these SNVs they are labeled as "passenger" variants, or vice versa if no interesting k-mers span the indel.
This PR introduces a new filter that marks SNVs near indels as "spurious mismatches" if 1) they are more than k nucleotides away from the indel, and 2) if they have few supporting k-mers.
I'm not 100% sure this is a good idea, but it provides a slight improvement in accuracy for a data set simulated on chr17.

Depends on #255.

Turns out this was a Bad Idea.


Custom Markdown Engine first line not being rendered: MultiMarkdown.exe

Hey there, i recently discovered that Markdown Edit supports custom markdown engines and at first I was overjoyed since this means that I can use MultiMarkdown whenever I need footnotes :D
But sadly I discovered an issue:
The first line that is written in Markdown Edit is not parsed in the live preview. Please see the images below for reference:

The first line of the file I am editing is not parsed by into the live preview. No matter what kind of markdown is used.
Versions I am using:

Markdown Edit Version 1.35
MultiMarkdown Version 6.4.0

Output of MultiMarkdown.exe --version:
MultiMarkdown 6 v6.4.0
Copyright ┬® 2016 - 2018 Fletcher T. Penney.
...

My multimarkdown configuration file (relevant lines only):
"CustomMarkdownConverter": "D:\\Program Files\\MultiMarkdown 6.4.0\\bin\\multimarkdown.exe",
"CustomMarkdownConverterArgs": "",

Additionally, if I parse a file which has markdown in the first line with MultiMarkdown manually it works just fine. # Heading 1 turns into
Heading 1

If I copy the HTML output out of Markdown Edit it is exported as
# 1
.  Apparently the first line is Always rendered as regular text, regardless of the markdown tags that are present.
If I, on the other hand, put the Markdown on the second line and copy the HTML the following is my output:

1

It appears that Markdown Edit puts a single, empty

 tag around the contents of the first line, regardless of what the actual content of the line is, only starting the actual parsing afterwards.

UPDATE:
So, out of pure curiosity I tried to use HTML Tags to try and see what would be generated by ME and MM.exe.

Input
MarkdownEdit
Multimarkdown.exe

test

test

test

This reaffirmed my suspicion that ME simply puts
 tags around whatever it receives as the response for the first line instead of sending it to the Custom Markdown Engine.
Additionally, I tried the following:

Input
MarkdownEdit
Multimarkdown.exe

as well as an empty first line:

Input
MarkdownEdit
Multimarkdown.exe

As you can see even though there should be no output at all the
 tags are there.

No answer to this after almost two years?

See README.MD


Deployment data source should treat stopped deployments consistently to the deployment resource.

Description

This prevents a provider crash when dereferencing a nil DeploymentTemplateID, which is only possible in stopped deployments.
Related Issues

Fixes https://github.com/elastic/terraform-provider-ec/issues/673
Motivation and Context

How Has This Been Tested?

Types of Changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Refactoring (improves code quality but has no user-facing effect)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Documentation

Readiness Checklist

[x] My code follows the code style of this project
[ ] My change requires a change to the documentation
[ ] I have updated the documentation accordingly
[ ] I have added tests to cover my changes
[x] All new and existing tests passed

Acceptance test failure appears unrelated.


delayed_job plugin not rescuing exceptions

We currently wrote our own plugin to catch and log exceptions on Rollbar.
I noticed the previous version was rescuing exceptions. But the latest version changed to only catching errors. Is there a reason for such a change?

Hey there. Which "previous" version are you talking about? A quick search of the commit history for this gem doesn't show any commits like that.

Thanks for following up. 3fb2536538f6e58688dc360d1640014c4a2ee597 is the one.
But regardless, just wonder why you wouldn't want to log exception.

@EdmundLeex I think I don't understand exactly what you mean. We are reporting the errors for DelayedJob. Maybe I'm missing something.

Before this commit 3fb2536538f6e58688dc360d1640014c4a2ee597, self.wrap_worker method was rescuing exceptions.
But the commit changed it to only rescue ruby StandardError (line 25). Because of this change, exceptions within delayed job are not reported on Rollbar.
My question was, why are exceptions not reported? The commit is titled as 'Fix delayed_job crash reports.'. I wonder if reporting exceptions would cause the crash?

@EdmundLeex in that commit we rescue all exceptions inheriting StandardError, that are, in general, most of them except few ones.
Except signals, so, and syntaxis exceptions, all the other inherit from StandardError, what should be enough. I think we can change it to rescue Exception as we did before. But I'm wondering which kind of exceptions you are missing in Rollbar.
Thanks

That'd be great. Thanks.
We initially wanted to catch out of memory exception. But that ended up to be impossible on Heroku. But it prompted me that there might be other exceptions we might want to catch and log onto Rollbar.
Edmund Li
Sent from my iPhone

On Apr 15, 2016, at 1:13 PM, Jon<EMAIL_ADDRESS>wrote:
@EdmundLeex in that commit we rescue all exceptions inheriting StandardError, that are, in general, most of them except few ones.
Except signals, so, and syntaxis exceptions, all the other inherit from StandardError, what should be enough. I think we can change it to rescue Exception as we did before. But I'm wondering which kind of exceptions you are missing in Rollbar.
Thanks
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub

@jondeandres what are the next steps for this?

We need to change https://github.com/rollbar/rollbar-gem/blob/master/lib/rollbar/plugins/delayed_job/plugin.rb#L36 so we do rescue Exception => e


Added torch.nn.utils.rnn

torch.nn.utils.rnn.pack_padded_sequence
torch.nn.utils.rnn.pad_packed_sequence
torch.nn.utils.rnn.pad_sequence
torch.nn.utils.rnn.pack_sequence

I added a couple of comments/question, LGTM otherwise.

The compiler is not liking your sealing a class with a virtual member, I guess.


Kotlin sourceset is not recognised

In a mod's build.gradle (for example https://github.com/mineblock11/example-stonecutter-project) add
plugins {
    id "org.jetbrains.kotlin.jvm" version "1.9.20"
}

After reloading gradle, IDEA doesn't recognize src/main/kotlin as a sourceset and doesn't compile it.
Same result with adding kotlin in settings.gradle and later applying in build.gradle.

https://github.com/SHsuperCM/Stonecutter/blob/d39c7fbefbb2774cfbc4613d027d7920a0344571/src/main/java/io/shcm/shsupercm/fabric/stonecutter/StonecutterBuildGradle.java#L56-L57
https://github.com/SHsuperCM/Stonecutter/blob/d39c7fbefbb2774cfbc4613d027d7920a0344571/src/main/java/io/shcm/shsupercm/fabric/stonecutter/StonecutterBuildGradle.java#L64-L65

org.gradle.api.tasks.SourceSet only had Java and Resources iirc.
I'mma be honest.. it'd be a miracle if it worked on kotlin even if it set the sourceset correctly. And I am definitely not looking to support kotlin tho 😅 everything about it is cursed af and the maintenance is not something I'm looking to do.
Ofc, if you or anyone is interested, feel free to fork. but this is not going to be officially supported as far as I can tell.


Failed to load datapack error in 1.18.2

I just built my own modpack but when I create a new world I get Datapack error while creating a new world. After removing Babel and Just Enough Piglin Bartering world creates fine.
Latest.log:
https://paste.ee/p/3eWOm
Note the line 1358
https://paste.ee/p/3eWOm#s=0&l=1358

This seems to be related to a breaking change in Forge Events in 1.18.2
net.minecraft.server.ServerResources net.minecraftforge.event.AddReloadListenerEvent.getDataPackRegistries() This method no longer exists, but babel seems to be calling it


Fontawesome showing blank squares when using foreignObjectRendering

I want to take screenshot of website which is using bootstrap, so i need to use foreignObjectRendering: true, because normally bootstrap buttons are not rendered correctly on canvas. This happens only in chrome (tested only on chrome and edge, I don't have currently installed anything else). Normally this would not be such a problem because the app I am building will be only for me so I could switch to another browser, problem is that the app is based on electron, which is based on chrome and the app can't run in standard browser. Any help please?
Example:
Original content in browser:

Rendered without foreignObjectRendering (button without outline is messed up):

When using foreignObjectRendering (icons not showing):

When using foreignObjectRendering with Fontawesome as SVG:

Code that I am using to capture the screenshot
function takeScreenshot(path) {
    html2canvas(document.querySelector("section"), {
        allowTaint: true,
        height: $("body").height(),
        foreignObjectRendering: true,
    }).then(function (canvas) {
        const imageHash = canvas.toDataURL()

        const base64Data = imageHash.replace(/^data:image\/(png|jpg);base64,/, "")
        console.log(imageHash)

        fs.writeFile(path.split('.')[path.split('.').length - 2] + ".jpg", base64Data, 'base64', (err) => {
            console.log(err)
        })
    })
}

My temporary solution is to put data-html2canvas-ignore="true" attribute on the div containing fontawesome icons. For example :

But I'd like to find a better solution to display the icons.

Same problem here.

same in a pwa

if anyone still has this problem - converting the svg fontawesome icons to canvas elements fixes it for me.
Here's the code:
var ratio = window.devicePixelRatio || 1;
[...document.querySelectorAll("svg.svg-inline--fa")].map(svgElement => {`
  // create a new canvas
  const canvas = document.createElement("canvas");

  // multiply the dimensions by the ratio (important for retina displays)
  canvas.width = svgElement.getBoundingClientRect().width * ratio;
  canvas.height = svgElement.getBoundingClientRect().height * ratio;

  // force the canvas css to have the same width and height as the original svg icon
  canvas.style.width = svgElement.getBoundingClientRect().width + "px";
  canvas.style.height = svgElement.getBoundingClientRect().height + "px";

  // hide the original svg icon and append the newly created canvas
  svgElement.style.display = "none";
  svgElement.parentNode.appendChild(canvas);

  // draw the original svg icon onto the new canvas
  var ctx = canvas.getContext("2d");
  var DOMURL = self.URL || self.webkitURL || self;
  var svgString = new XMLSerializer().serializeToString(svgElement);
  var img = new Image();
  var svg = new Blob([svgString], { type: "image/svg+xml;charset=utf-8" });
  img.src = DOMURL.createObjectURL(svg);
  img.onload = function() {
    ctx.drawImage(img, 0, 0);
  };
});

I'm having this issue with just regular "fa-pencil" icons not using SVG. I tried the above code and got the same result of no icons.

Any chance you guys have your font awesome css in a file named differently than it was distributed?

I have the same issue, is there any chance it will be fixed?

Same issue, @niklasvh is there a workaround for this ? Or maybe you can tell us what is the problem so maybe we could do a pr about it ?

This fix solved my problem. Maybe it can help you https://github.com/niklasvh/html2canvas/pull/1948/files

I am using these font-awesome icons:

fa fa-check-circle
fa fa-exclamation-circle
fa fa-clock

In the PDF i generate, its showing as small squares and I am having issue in chrome. Is there a workaround for these icons, Please let me know if there is workaround

Same here.
I am using 'Font Awesome 5 Free' installed with npm @fortawesome/fontawesome-free
All these icons are not rendered, only a square appears.
Thanks!

I have a similar issue when trying to take a screenshot of a graph using alchemyjs. Only squares appear for icon inside svg foreignObject.

If anyone has time, I'd appreciate feedback on whether https://github.com/niklasvh/html2canvas/pull/2219 resolves this rendering issue (it does seem to affect fonts that contain a space in the font name; Font Awesome 5 Free falls into that category).

Update: the fix in #2219 only affects CSS-based font icon rendering; SVG / foreign object rendering is not affected.  I'll resolve/hide these comments to avoid distracting others.

There is a CSS workaround for this. Per @jayaddison PR the issue seems to arise from the fact that the font awesome icons have the font 'Font Awesome 5 Free' which html2canvas doesn't parse correctly.
The solution in CSS is to save the font awesome font files locally and then use a @font-face css directive to rename it to something that html2canvas will parse properly (i.e. no spaces and no numbers). Here is what I used:
@font-face {
	font-family: 'fontawesome';
	src: url('../font/fa-solid-900.woff') format('woff');
}

.fa, .far, .fas {
  font-family: 'fontawesome';
}

Hope this helps someone

hope this helps someone. If you're using the svg icons you can do something like this:
var svgElements = document.body.querySelectorAll('svg.svg-inline--fa'');
svgElements.forEach(function(item) {
    item.setAttribute("width", item.getBoundingClientRect().width);
    item.setAttribute("height", item.getBoundingClientRect().height);
    item.style.width = null;
    item.style.height= null;
});

height and width attributes are required on the svg element for them to show up https://stackoverflow.com/a/59162619/237917

I was experiencing the same problems with version 1.0.0-rc.5. Upgrading to 1.0.0-rc.7 fixed it for me. Font Awesome 5 Free icons now work flawlessly.

1.0.0-rc.7 doesn't render Font Awesome 4 Icons

Not including the font awesome icon is any one fined any solution. or is there is any alternative?


Add versions list

This PR adds a Versions list which shows which versions are available to the user with a short description.
The version list is accessible by going to /Versions or using the 'Change version' link at the top of the map.
Versions can be 'Featured' which will promote them to the top of the list in their own section. Versions can also be hidden to keep them from appearing in this list.
Users who are logged in will be shown versions they have permission to view. These will be indicated with a small padlock icon in the version card.
Closes #156

Planned additional functionality - Change the 'Change Versions' link to be a dropdown with the following:

If not logged in

Most recent 3 visited versions (tracked in localStorage), or
Top 3 (how to define?) 'featured' versions (not including the one you are currently on)

If logged in

Most recent 3 visited versions (tracked in database to allow it to follow users across devices), or
Top 3 'featured' versions, with a preference for a featured version that is ALSO a log-in version

If time permits, the ability for users to 'favourite' versions manually (may be a future enhancement)


Asset ids must end with -test on testnets

TODO

Considering extending the signature template with additional information which would also prevent replay attacks across chains, see #33.


feat: store profile to configmap or home dir and merge profiles to upgrade and uninstall

Ⅰ. Describe what this PR did
store profile to configmap or home dir and merge profiles to upgrade and uninstall
Ⅱ. Does this pull request fix one issue?

#570 #641
Ⅲ. Why don't you add test cases (unit test/integration test)?
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews

Codecov Report

Merging #649 (42ce047) into main (57b8cb1) will increase coverage by 0.31%.
Report is 8 commits behind head on main.
The diff coverage is 0.00%.

Additional details and impacted files

@@            Coverage Diff             @@
##             main     #649      +/-   ##
==========================================
+ Coverage   35.41%   35.72%   +0.31%
==========================================
  Files          71       73       +2
  Lines       10244    10412     +168
==========================================
+ Hits         3628     3720      +92
- Misses       6331     6405      +74
- Partials      285      287       +2

Files
Coverage Δ

pkg/cmd/hgctl/install.go
0.00% <0.00%> (ø)

pkg/cmd/hgctl/uninstall.go
0.00% <0.00%> (ø)

pkg/cmd/hgctl/upgrade.go
0.00% <0.00%> (ø)

... and 11 files with indirect coverage changes

@2456868764 I think we should inform users more clearly that the profile has been converted to k8s configmap and prompt them to provide the kubectl edit cm command for editing.

@2456868764 I think we should inform users more clearly that the profile has been converted to k8s configmap and prompt them to provide the kubectl edit cm command for editing.

after install or upgrade , it will prompt kubectl edit profile configmap command which is captured as bellow:


Hide on page load

Currently, the element starts off fully rendered, then reduces its height if there's more content.
A quick solution would be to hide the entire text on first render.

This sounds bad for SEO when doing server-side rendering. And of course, you definitely can't measure the text up front on the server.

If it’s done via CSS, there isn’t any impact on SEO or SSR

"If it’s done via CSS, there isn’t any impact on SEO or SSR" - that's not true, major search engines can tell if text is hidden via CSS.

You’re right and i was wrong. Regardless, It’s up to me if I want to sacrifice SEO. Now there is no event that tells me when the module is ready, so i can change class of the text blocks.


Type conversions C++ vs Postgresql

Hi @mshepanski,
I'm looking for a ORM tool in C++ and interested in your Quince library.
After read quince's doc site, I build and code some examples, It work well. Many thanks for you, Quince seem is what I need.
But, I opposite a issue of type conversions. That's a property has type of std::time_t (expect to map with timetstamp in postgresql) but Quince not mapping it.
I look at Basic conversions page (http://quince-lib.com/quince_postgresql/basic.html), Quince converts most of basic types but abstract data types (eg: std::time_t) is not.
Can you instruct me about convert and mapping not-basic types or how to insert new mapper modifiers into Quince source code?
Thanks and best regards.

On 13/05/2015 12:51 AM, trinhthethanh wrote:

Hi @mshepanski https://github.com/mshepanski,
I'm looking for a ORM tool in C++ and interested in your Quince library.
After read quince's doc site, I build and code some examples, It work
well. Many thanks for you, Quince seem is what I need.
But, I opposite a issue of type conversions. That's a property has
type of std::time_t (expect to map with timetstamp in postgresql) but
Quince not mapping it.
I look at Basic conversions page
(http://quince-lib.com/quince_postgresql/basic.html), Quince converts
most of basic types but abstract data types (eg: std::time_t) is not.
Can you instruct me about convert and mapping not-basic types or how
to insert new mapper modifiers into Quince source code?
Thanks and best regards.

Hi trinhthethanh,
Thanks for your interest in quince. Great to hear that it's working out
for you.
I've had a quick look into what would be involved in providing a mapper
for std::time_t. I think the best way would be if I did it, then the
code additions would serve as a guide for the next person who wants to
add a mapper for some type.
Could you give some indication of how urgent this is for you?
Cheers,
--- Michael
--
Michael Shepanski
Be a philosopher for a day: visit http://stepbackstepforward.com

Dear @mshepanski, thank for reply me.
I''m seting up project skelaton for my company and Quince will used in all of projects.
If you can, please give me some quick guide to add new mappers for me.
Thank you very much.

On second thoughts, it isn't possible to do /exactly/ what you ask, because std::time_t is just a typedef name for some integral type.
I think the right thing to do is provide a mapper for boost::posix_time::ptime. I'm looking into that now. I hope that will suit your purposes.

I see, for the time type, it can either tm (in <time.h>) or boost::posix_time::ptime as you suggested. Yesterday, I try to add new column_type tm into <column_type.h> and modified mapping sections in database.h and session.h in quince_postgresql. After that, I create a struct with tm type property and add to QUINCE_MAP_CLASS macro, but it compile errors in user_defined_class_mapper.h which's "most cryptic class" as you commented :D

Hi,
After deeply ""hack" your Quince source code, I can add some mapper code sections for time type. Well, It builds ok and successfully to inserts into postgresl timestamp column.
In Cell class, I convert time to std::string and get__data by std::string.c_str() function. I choose std::chrono::system_lock::time__point for my solutions.
But, in the case of SELECT statement, when we get timestamp data throught libpq C++ library, you  get by binary way. In primary types and std::string cases, it's ok but for timestamp data, has occur a happen. I can't parse data get by PQgetvalue of timestamp column.
Do you know the way to parse timestamp binary data?
This issue only remain that happen, please intruct me if you can do that. When we resolved mapper abstract types, I think that Quince will give more power and useful.
Many thanks.

I have been working on something similar. I use TIMESTAMP as the postgresql column type, and I have a mapper that converts to/from boost::posix_time::ptime. On sqlite I will have to map it differently, so I'm treating boost::posix_time::ptime as a polymorphically mapped type.
So far I'm just sketching out code, so I don't know whether I will hit the same problem as you did with binary formats. I'll let you know when I find out.

I have made a first attempt at the code. You can get it by checking out the dev branch of each of my repositories. So you should checkout the dev branches of quince and quince_postgresql. Anyone who uses sqlite should checkout the dev branches of quince and quince_sqlite.
This lets you use boost::posix_time::ptime as a polymorphically mapped type, in the same way you use int32_t or std::string. On postgresql, ptime is mapped to TIMESTAMP, and on sqlite it's mapped to TEXT.
I followed advice from the postgresql forums and always made sure that timestamps are sent as strings (not binary) in communication between the client and the postgresql server. (On sqlite there is no choice: datetimes are always represented as strings.)
No documentation yet. I'll do that at the same time as merging the changes to the head branch. But first I would like to know whether this code does what you need.

Ok, new dev version is good! Thanks you very much.
So if you have free time, you should write a little document to guild for mapper abstract types.
Thanks again.

I have merged the change to the main branch, and I've documented the mappings for boost::posix_time::ptime.
For now I'm not documenting the general technique for writing new mappers, because I'm not yet certain that that API is stable. But for anyone does want to implement a mapper for a new class, using the API as it currently stands, I can suggest that you look at the implementation of quince_sqlite::ptime_mapper (in quince_sqlite/src/database.cpp) as an example. Then, when you've written your mapper class, you can deploy it by following the documentation at http://quince-lib.com/custom/deployment.html .
(Note the change I have made is somewhat more complicated, because, for postgresql, I also added a new SQL column type.)


tikv can't connect to PD when enabling TLS, error is "tls_process_server_certificate:certificate verify failed"

Bug Report
tikv can't connect to PD when enabling TLS, error is "tls_process_server_certificate:certificate verify failed"
What version of TiKV are you using?
tikv:v5.2.2
pd:v5.2.2
What operating system and CPU are you using?
docker, the hosted OS's kernel is 5.4.0-90-generic
Docker: version 20.10.7, build 20.10.7-0ubuntu5~20.04.2
Host: Ubuntu 20.04.3 LTS
Steps to reproduce
1.add pd.config
[security]
cacert-path = "/tidb/openssl/root.crt"
cert-path = "/tidb/openssl/pd.crt"
key-path = "/tidb/openssl/pd.key"
2.add tikv.config
[security]
ca-path = "/tidb/openssl/root.crt"
cert-path = "/tidb/openssl/tikv.crt"
key-path = "/tidb/openssl/tikv.key"
3.generate CA and pd/tikv certifications, according the https://docs.pingcap.com/zh/tidb/stable/generate-self-signed-certificates, and the certifications are all in the following file:
openssl.tar.gz
4.start pd and tikv
docker run -d --name pd1
--network=host
-v /etc/localtime:/etc/localtime:ro
-v /data/tidb:/tidb
pingcap/pd:v5.2.2
--name="pd1"
--data-dir="/tidb/pd1"
--config="/tidb/config/pd.config"
--log-file="/tidb/pd1.log"
--client-urls="https://<IP_ADDRESS>:2379"
--advertise-client-urls="https://<IP_ADDRESS>:2379"
--peer-urls="https://<IP_ADDRESS>:2380"
--advertise-peer-urls="https://<IP_ADDRESS>:2380"
--initial-cluster="pd1=https://<IP_ADDRESS>:2380"
docker run -d --name tikv1
--network=host
--ulimit nofile=1000000:1000000
-v /etc/localtime:/etc/localtime:ro
-v /data/tidb:/tidb
pingcap/tikv:v5.2.2
--config="/tidb/config/tikv.config"
--log-file="/tidb/tikv1.log"
--addr="<IP_ADDRESS>:20160"
--advertise-addr="<IP_ADDRESS>:20160"
--data-dir="/tidb/tikv1"
--pd="https://<IP_ADDRESS>:2379"
What did happened?
tikv can't connect to PD. PD log says [WARN] [config_logging.go:279] ["rejected connection"] [remote-addr=<IP_ADDRESS>:36972] [server-name=<IP_ADDRESS>] [error=EOF], and tikv log says [ERROR] [] ["Handshake failed with fatal error SSL_ERROR_SSL: error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed."]
the details logs are in the following file:
log.tar.gz
Thank you, and look forward to response.

Might be related to https://github.com/pingcap/tidb-binlog/issues/1049#issuecomment-856081837.


Don't Merge! PR real time test for source branch full build

Docs Build status updates of commit 3e87fec:
:clock10: Pending: waiting for processors (26 builds ahead of you)
:warning: Docs Build is busy, currently there are 26 builds ahead of this one, for more information you can view the Build queue graph on the Docs Portal.

Docs Build status updates of commit 3e87fec:
:clock10: Full build: the average full build time is 7 min(s) 45 sec(s), this is based on the last 30 build(s) for this repository.

Docs Build status updates of commit 3e87fec:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docfx.json
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


Fix dynamically import Modal component

fixes error "document is not defined" if developers decide to display a modal at the beginning (for ads, promotions, etc...)

Hey @luisorbaiceta, thanks for the PR. This still has the import, which will collide with the variable declaration

Hey @luisorbaiceta, thanks for the PR. This still has the import, which will collide with the variable declaration

My bad. Fixed


Optimize Dart_NotifyLowMemory when a system channel message is sent to the framework

If possible, it would be best to call Dart_NotifyLowMemory after the framework channel message has been handled so that any resources released by the Flutter application can be garbage collected to the fullest extent.
Some more discussion in https://github.com/flutter/flutter/issues/59182
Challenges:

The platform channel message is async. It may take too long to complete.
Actually benchmarking this is going to be very timing sensitive and difficult to measure.
There is currently no evidence this actually causes a problem. We should bump priority on this if we find evidence this signfiicantly helps things for a customer.

/cc @xster @a-siva @rmacnak-google @chinmaygarde @jason-simmons @liyuqian

Minor variation: we should probably run both before the Flutter signal to pick up already orphaned references and after to "commit" Flutter's reaction to the signal.
Also cc @gaaclarke. Once we have a comparative scenario suite, we can better quantify the relative importance of this by patching this in locally and see the native memory behavior scrolling a big image list for instance, then Flutter's behavior with a cleanup on already orphaned references and a new Flutter behavior where Flutter flushing the Dart-side image cache will also be reflected in the same "transaction"

Duplicate of https://github.com/flutter/flutter/issues/69973


TjahziInitializer causing Out of Memory Error, when running in Docker Container

When running project in Docker Container, following are the error logs:
Setting Active Processor Count to 8
Calculating JVM memory based on 18761956K available memory
Calculated JVM Memory Configuration: -XX:MaxDirectMemorySize=10M -Xmx18103971K -XX:MaxMetaspaceSize=145984K -XX:ReservedCodeCacheSize=240M -Xss1M (Total Memory: 18761956K, Thread Count: 250, Loaded Class Count: 23360, Headroom: 0%)
Enabling Java Native Memory Tracking
Adding 128 container CA certificates to JVM truststore
Spring Cloud Bindings Enabled
Picked up JAVA_TOOL_OPTIONS: -Djava.security.properties=/layers/paketo-buildpacks_bellsoft-liberica/java-security-properties/java-security.properties -XX:+ExitOnOutOfMemoryError -XX:ActiveProcessorCount=8 -XX:MaxDirectMemorySize=10M -Xmx18103971K -XX:MaxMetaspaceSize=145984K -XX:ReservedCodeCacheSize=240M -Xss1M -XX:+UnlockDiagnosticVMOptions -XX:NativeMemoryTracking=summary -XX:+PrintNMTStatistics -Dorg.springframework.cloud.bindings.boot.enable=true
[
Exception in thread "main" java.lang.reflect.InvocationTargetException
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.base/java.lang.reflect.Method.invoke(Unknown Source)
	at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:49)
	at org.springframework.boot.loader.Launcher.launch(Launcher.java:109)
	at org.springframework.boot.loader.Launcher.launch(Launcher.java:58)
	at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:88)
Caused by: java.lang.OutOfMemoryError: Direct buffer memory
	at java.base/java.nio.Bits.reserveMemory(Unknown Source)
	at java.base/java.nio.DirectByteBuffer.<init>(Unknown Source)
	at java.base/java.nio.ByteBuffer.allocateDirect(Unknown Source)
	at pl.tkowalcz.tjahzi.TjahziInitializer.allocateJavaBuffer(TjahziInitializer.java:97)
	at pl.tkowalcz.tjahzi.TjahziInitializer.createLoggingSystem(TjahziInitializer.java:29)
	at pl.tkowalcz.tjahzi.log4j2.LokiAppenderBuilder.build(LokiAppenderBuilder.java:137)
	at pl.tkowalcz.tjahzi.log4j2.LokiAppenderBuilder.build(LokiAppenderBuilder.java:31)
	at org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.build(PluginBuilder.java:122)
	at org.apache.logging.log4j.core.config.AbstractConfiguration.createPluginObject(AbstractConfiguration.java:1002)
	at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:942)
	at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:934)
	at org.apache.logging.log4j.core.config.AbstractConfiguration.doConfigure(AbstractConfiguration.java:552)
	at org.apache.logging.log4j.core.config.AbstractConfiguration.initialize(AbstractConfiguration.java:241)
	at org.apache.logging.log4j.core.config.AbstractConfiguration.start(AbstractConfiguration.java:288)
	at org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:618)
	at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:691)
	at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:708)
	at org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:263)
	at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:153)
	at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:45)
	at org.apache.logging.log4j.LogManager.getContext(LogManager.java:194)
	at org.apache.commons.logging.LogAdapter$Log4jLog.<clinit>(LogAdapter.java:155)
	at org.apache.commons.logging.LogAdapter$Log4jAdapter.createLog(LogAdapter.java:122)
	at org.apache.commons.logging.LogAdapter.createLog(LogAdapter.java:89)
	at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:67)
	at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:59)
	at org.springframework.boot.SpringApplication.<clinit>(SpringApplication.java:196)
	at com.sara.extractservice.ExtractServiceApplication.main(ExtractServiceApplication.java:36)
	... 8 more

I am using Ubuntu 20.04.2 LTS, with 32 GB RAM. The Docker Image was created using mvn spring-boot:build-image. Could you share what changes I need to make for fixing this issue? Thanks.

Hi,
I am not very versed in Docker usage, but according to your output I think this is what happens:

You have 18761956K (~18GB) of available memory.
JVM old gen will take 18103971K (17,2GB) out of it.
Metaspace and code cache will take ~382MB
Thread stacks (-Xss1M) will take 250MB (Thread Count: 250 * 1M)

If I am correct this totals to 18751715K so the container has about 10MB of free memory.
This lines up nicely with -XX:MaxDirectMemorySize=10M setting that allows the java app to allocate at most 10M of
off-heap data.
To fix this you need to increase MaxDirectMemorySize while decreasing other settings OR set Tjahzi to allocate less than 10M of off-heap data.
Let me elaborate on that last option. While configuring Tjahzi you can set useOffHeapBuffer=false so that data structures used by Tjahzi will be part of a regular Java heap. I do not expect that this would have significant performance impact on the application.
You can also set bufferSizeMegabytes to value lower than 10M from its default value of 32M. This can impact log delivery if Tjahzi cannot keep up sending data to Loki while application produices the logs into the buffer.

Hi,
I am not very versed in Docker usage, but according to your output I think this is what happens:

You have 18761956K (~18GB) of available memory.
JVM old gen will take 18103971K (17,2GB) out of it.
Metaspace and code cache will take ~382MB
Thread stacks (-Xss1M) will take 250MB (Thread Count: 250 * 1M)

If I am correct this totals to 18751715K so the container has about 10MB of free memory.
This lines up nicely with -XX:MaxDirectMemorySize=10M setting that allows the java app to allocate at most 10M of
off-heap data.
To fix this you need to increase MaxDirectMemorySize while decreasing other settings OR set Tjahzi to allocate less than 10M of off-heap data.
Let me elaborate on that last option. While configuring Tjahzi you can set useOffHeapBuffer=false so that data structures used by Tjahzi will be part of a regular Java heap. I do not expect that this would have significant performance impact on the application.
You can also set bufferSizeMegabytes to value lower than 10M from its default value of 32M. This can impact log delivery if Tjahzi cannot keep up sending data to Loki while application produices the logs into the buffer.

@akhilvpsharma doe this explanation help and fixes the issue or do you need any more assistance?

@tkowalcz Thanks a lot for the explanation. Sorry for the late reply, took a while to test. It's working as expected now. Closing the ticket. Thanks again :)


Size Limits on Universal Packages?

This page mentions that universal packages up to 4 TB can be published to Artifacts, but the "limits on package sizes..." page mentions that the limit is 1 TB.     Seems like one page or the other is incorrect.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 2a8d339f-11e6-7474-b24f-6f5b6866d75a
Version Independent ID: 00679a6a-3c45-afd8-cb70-33198412cee5
Content: Publish and download universal packages with Azure Artifacts - Azure Artifacts
Content Source: docs/artifacts/quickstarts/universal-packages.md
Product: devops
Technology: devops-artifacts
GitHub Login: @ramiMSFT
Microsoft Alias: rabououn

@jdavis-prgs Thank you for your feedback! Its up to 4 TB. I'll update the article shortly


MLDB-1599 add clamp function

Missing documentation and the test case seems to fail.  Once issues are addressed I'm +1.

DoD got expanded.


[WIP] Code improvements

Fixed pylint errors.
Partially addressed previous code changes.

related to the pathlib suggestions, i have investigated more. The places where we use os.walk would be very hard to implement the same functionality and the benefit of using pathlib for these particular scenario is, in my view, minimal.
If anyone wants to help transition to pathlib i am open to this but i will not do those changes personally.


crypto/tls: cannot send TLS_FALLBACK_SCSV

version: go1.4.1
Because the ClientHello's cipher suites are constructed in tls.Conn.clientHandshake() (crypto/tls/handshake_client.go:31) from the cipherSuites slice defined at crypto/tls/cipher_suites.go:69, which doesn't contain an entry for TLS_FALLBACK_SCSV, it's impossible for the package to send the SCSV.
The relevant code is as follows:
65		possibleCipherSuites := c.config.cipherSuites()
66		hello.cipherSuites = make([]uint16, 0, len(possibleCipherSuites))
67
68	NextCipherSuite:
69		for _, suiteId := range possibleCipherSuites {
70			for _, suite := range cipherSuites {
71				if suite.id != suiteId {
72					continue
73				}
74				// Don't advertise TLS 1.2-only cipher suites unless
75				// we're attempting TLS 1.2.
76				if hello.vers < VersionTLS12 && suite.flags&suiteTLS12 != 0 {
77					continue
78				}
79				hello.cipherSuites = append(hello.cipherSuites, suiteId)
80				continue NextCipherSuite
81			}
82		}

Since TLS_FALLBACK_SCSV is not in cipherSuites, line 72 above will skip over any entries of TLS_FALLBACK_SCSV in the tls.Config. The following patch would resolve the issue:
--- a/src/crypto/tls/handshake_client.go
+++ b/src/crypto/tls/handshake_client.go
@@ -67,6 +67,10 @@ func (c *Conn) clientHandshake() error {

 NextCipherSuite:
        for _, suiteId := range possibleCipherSuites {
+               if suiteId == TLS_FALLBACK_SCSV {
+                       hello.cipherSuites = append(hello.cipherSuites, suiteId)
+                       continue
+               }
                for _, suite := range cipherSuites {
                        if suite.id != suiteId {
                                continue

Another one for @agl.

The Go client does to fallback so doesn't need to send TLS_FALLBACK_SCSV. Why do you think that you need to send it?

I wanted to check whether my server is handling TLS_FALLBACK_SCSV correctly and using crypto/tls seemed the easiest option. It's not the most important feature but it would be nice.

On the fence about whether we want to support this, but dropping for 1.5 at least.
You would probably be better off constructing a little ClientHello message yourself for this sort of testing.

I'm going to call this one: I don't think that supporting this option is worthwhile in the standard library. The use-case is pretty obscure and there are lots of testing needs that can only be met by crafting ClientHellos already.


About Us Page Fixed

bg color updated
font size updated
new img added

script.js changes were unnecessary! Rest good :+1:
Merged


Better error for unsupported Python version

Fixes #3371
It seems like uv doesn't proactively enforce 3.8+ and in most cases just issues a warning. This PR keeps that property, only adding the new check when it is known to fail. I checked the imports in this file and the other ones seem fine.

I've confirmed that this fixes centos 7 (by failing with the correct error), thanks!


Internal container registry secret doesn't update when API variables change

Describe the bug
When the internal_container_registry variables in the API are created initially, the lagoon-internal-registry-secret in kubernetes is created with these variables.
If the variables in the API are updated, it doesn't also update the secret in kubernetes.
This could result in images encountering imagepullbackoff condition.
Expected behavior
If the variables in the API are update, the kubernetes secret should be updated too.
Additional context
The logic for creating the secret is here, there should be a check that maybe

decodes the secret and compares
or just deletes and recreates the secret
https://github.com/amazeeio/lagoon/blob/master/images/kubectl-build-deploy-dind/build-deploy.sh#L57-L68

Further investigation, this does update the secret, but only when a deployment occurs.
This is still a problem for environments that have not had a deployment and the registry changes for other environments.
Maybe there needs to be another mechanism that can update the kubernetes secret without having to do a deployment?


Test Hardhat with EDR in community modules

Depends on

[x] #48

Definition of Done
Test for the following community modules are passing using Hardhat with EDR:

[ ] https://github.com/sc-forks/solidity-coverage
[ ] https://github.com/cgewecke/hardhat-gas-reporter
[x] https://github.com/defi-wonderland/smock/

Closing in favor of https://github.com/NomicFoundation/edr/issues/299, https://github.com/NomicFoundation/edr/issues/300 and https://github.com/NomicFoundation/edr/issues/301


Create print.cpp

Replace this paragraph with a description of your changes and rationale. Provide links to external references/discussions if appropriate.

Resolves SR-NNNN.

Can you please close this PR?


Update google-cloud-trace to 2.53.0

About this PR
📦 Updates com.google.cloud:google-cloud-trace from 2.3.7 to 2.53.0
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.google.cloud", artifactId = "google-cloud-trace" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "com.google.cloud", artifactId = "google-cloud-trace" }
}]

labels: library-update, early-semver-minor, semver-spec-minor, commit-count:1

Superseded by #404.

Superseded by #408.


New welcome page

Mockup and proposal:

[ ] Create and share the copy of the new proposed welcome page. ~ @QuincyLarson

Implementation:

[ ] Todo: Add stories and implement... @ahmadabdolsaheb

We may be able to make the landing page and the welcome page the same and just react differently depending on whether people are auth'ed in.

We may be able to make the landing page and the welcome page the same and just react differently depending on whether people are auth'ed in.

@QuincyLarson, That sounds like a plan. I can get started on that as soon as I have the final mockup.


Add Contributing .md file

Description
I noticed that the project is currently missing a CONTRIBUTING.md file, which can serve as a valuable resource for new contributors and help streamline the contribution process. I propose adding this file to provide clear guidelines on contributing to the project.
Proposed Changes:
Create a CONTRIBUTING.md file in the project root and include sections such as:

[ ] Introduction
[ ] Code of Conduct
[ ] How to Contribute
[ ] Issue Reporting
[ ] Pull Requests
[ ] Coding Guidelines
[ ] Testing
[ ] Review Process
[ ] Communication Channels

Additional Information
I can create a pull request for this change and can collaborate with others to ensure the content is comprehensive and accurate.
Please share your thoughts and suggestions on this proposal @codekeyz
Thank you!

This will make a good contribution @mihrab34. Thanks for taking this up

Opened a draft PR. Should be ready for review before EOD @codekeyz


In zh displaying the local order should be from bigger place to smaller place

As title, In zh, zh-tw, zh-hk lang setting, when you upload your changeset, the message says that thank for your contribution, the order of place should be from bigger place to smaller place, like country, city, district, suburban. In the current setting, the grammar is wrong in Chinese.

@Supaplextw Is there a way to change the grammar of the offending strings on the zh localizations instead?

I think we are just pulling it from nominatim but I will check if we can improve it.. (this morning I started searching for an old issue maybe related to this and got sidetracked)

@quincylvania Oh I misunderstood the issue. I thought it meant the community index entries should be reversed based on the phrasing of the message, but I guess it's that the place order of the geocoded part of the message needs reversing.

I think we are just pulling it from nominatim but I will check if we can improve it.. (this morning I started searching for an old issue maybe related to this and got sidetracked)

oh I was wrong, it's just this code here - we can localize it with a translation string probably:
https://github.com/openstreetmap/iD/blob/d026f2f296c0c929aa7a84ea44f43a2dc5bccd16/modules/modes/save.js#L482-L489

Also, the components would normally be joined together, not separated by a comma or space. This might get a little weird if one of the components isn’t in Chinese characters, though. As far as I can tell, Japanese and Korean follow the same convention as Chinese (but Korean uses spaces).

Thanks for you feedback @Supaplextw & @1ec5 👍
We support more localization options now:
    thank_you_location: "Thank you for improving the map around {where}."
    thank_you_where:
      format: "{place}{separator}{region}"
      separator: ", "

Separator will only be inserted if the reverse geocode actually returns both placelike and regionlike results:
    var addr = result.address;
    var place = (addr && (addr.town || addr.city || addr.county)) || '';
    var region = (addr && (addr.state || addr.country)) || '';
    var separator = (place && region) ? t('success.thank_you_where.separator') : '';

    _location = t('success.thank_you_where.format',
        { place: place, separator: separator, region: region }
    );

Thanks for the help. Hope the next update will see a better improvement.
Supaplextw


Default ui-view content with directive using required causes error

When using default ui-view content along with directives that use require the directives can't find the required controller and cause an error similar to the following.
https://docs.angularjs.org/error/$compile/ctreq?p0=mdTabs&p1=mdLabelTemplate
This can be seen in the latest version of angular-material if your using tabs but I'm sure many other libraries and custom directives make use of require.

Hm, interesting. Two recommendations: (1) try replacing your ui-view with a different directive that uses transclusion (i.e. ng-if or ng-repeat) and see if the effect is the same. If so, it's likely a bug with Angular Material. If not, post a reproduction of the issue in plunkr and I'll see what I can do. Thanks.

closing due to inactivity and missing plnkr

Plunkr reproduction
This bug happens if the default <ui-view> content has an <ng-include> that loads a child directive. Everything works fine as long as the default content is shown but when you transition to a substate and the default content gets replaced with the substate's view, then the bug occurs.

interesting.  Thanks for the plunker and explanation.
This might be challenging to track down the proper fix.  Any thoughts @jpekkala ?

The ctreq error occurs because the content is compiled without being attached to the DOM. There is a guard statement in ngInclude where it checks if its scope has already been destroyed when the asynchronous load finishes and it skips the compilation if that's the case. UI Router removes the default view content but does not destroy the scope that the default view (and ngInclude) uses.
This Plunkr illustrates the case. When you click the Substate button, two "created" messages are shown when the expected result should be either just one "created" message or two "created" messages and one "destroyed" message.
I haven't looked very carefully at UI Router's code yet but there are two solutions I can think of. Either skip compiling the default content altogether when a substate replaces the view or ensure that the default content uses its own scope that is destroyed before it is removed from the DOM. I can try to submit a patch later this week.

Note: this behavior is different in 1.0: https://plnkr.co/edit/LEjq0HP1b5vLUBVfxpSa?p=preview


regression after fix for bug #2141 (jquery-validation 1.18.0 doesn't work anymore with IE11)

Hi,
I've tried latest 1.18.0 release, sadly the patch #2142 for bug #2141 introduced a bad regression on (at least) IE11, because validation doesn't work anymore!
The culprit is following code path in jquery.validate.js:
		if ( element.isContentEditable ) {
			val = $element.text();
		} else {
			val = $element.val();
		}

When you try my code example at https://liveweave.com/N6xRPw using latest Chrome or Firefox, validation works correctly because element.isContentEditable is false.
But when you use IE11, element.isContentEditable seems to be always true and jquery-validation "sees" a blank field because the variable "val" is always set to "". On the other side, element.hasAttribute( "contenteditable" ) correctly returns false on IE11.
Reverting the patch #2142 solves the problem for me, and everything seems to work again like it did in 1.17.0
Please could you have a look at this problem and confirm me that you can reproduce it on an other IE11 installation?
It would be then great to have a 1.18.1 release, because it's a very nasty regression ;)
Thank you!

I can confirm this is an issue with all 5 IE11 machines tested. Reversed to 1.17 until a fix is released.

Same issue here

same here :\

Also having this issue

We are aware of the problem and will take action when time allows.
Thanks for your patience

Also having this issue(in mcmullon related). Stand also on problem - reqired error always fired. Reverting to v1.17.0 of jquery.validate fixed the problem fixed problem. I think problem in unobtrusive library.
Pack of problem libraries: "jquery.validation": "1.18.0", "jquery-validation-unobtrusive": "3.2.11"

In case anyone is getting to this before we do: a PR for this problem is welcomd

Could anyone of you test the fix and see if it fixes your issues? You can download the latest build file here: https://gist.githubusercontent.com/Arkni/103027bdde5a7ca9d4aedad455d49a30/raw/eba46f570e04d62eafbd4fb6a4e0bdb430a04f34/jquery-validation-contenteditable-fix.js
Thanks!

Confirming 1.18.1-pre validation now works in my forms within internet explorer 11.

Version 1.18.1-pre now works for me on IE 11. Thanks for the fix

Version 1.18.1-pre also works for me on IE11. Thank you very much! Hope it will be merged soon ;)

I'm having the same problem. Can you please release a new official version soon?

just published 1.19.0 with a fix for this issue.
sorry the any inconvenience this bug has caused for you guys.


RuntimeError: The session is unavailable because no secret key was set.  Set the secret_key on the application to something unique and secret.

import os
from flask import Flask, render_template, request, redirect, jsonify, redirect, url_for, session
from flask_session import Session
from flask_cors import *
from flask_redis import FlaskRedis
import requests
import asyncio
from datetime import timedelta
import random

from pymongo import MongoClient
import pymongo
import certifi
from utility.config import config
from cogs.function_in import function_in
import json

app = Flask(__name__, static_folder='templates', static_url_path='/static')
secret_key = os.urandom(24)
app.config['SESSION_TYPE'] = 'REDIS'
app.config['SESSION_USE_SIGNER'] = True
app.config['SECRET_KEY'] = secret_key
app.config['SESSION_PERMANENT'] = True
app.config['PERMANENT_SESSION_LIFETIME'] = 1800
app.config['REDIS_URL'] = os.environ.get("REDIS_TLS_URL")
app.config['REDIS_PASSWORD'] = os.environ.get("REDIS_PASSWORD")
CORS(app, supports_credentials=True)
Session(app)
redis = FlaskRedis(app)

...

if __name__ == '__main__':
    app.run(debug=True, host='<IP_ADDRESS>', port=int(os.environ.get('PORT', 5000)))

Flask==2.3.2
Flask-Cors==4.0.0
Flask-Session==0.5.0
flask-redis==0.4.0
run on heroku and have use Heroku Data for Redis®*
here is my code, I have set secret key, but app reply me [RuntimeError: The session is unavailable because no secret key was set.  Set the secret_key on the application to something unique and secret]

Did you resolve this? Your code seems to work fine for me. A few newer versions are released since this

Ah yes, you have set SESSION_REDIS = "REDIS" it should be "redis". Also the error message is misleading, because previously Flask-Session used a nullsession like Flask, and that was causing an error directly on flask that is completely misleading. This is now fixed from 0.7.0, with specific error.

In fact I might pass a .lower filter on the string to avoid this


factory fixes, policy ops tests, org authorization tests

Added org policies support in test factory, fixed issues: https://github.com/nearform/labs-authorization/issues/363,
Added remove org policies in the policies ops: https://github.com/nearform/labs-authorization/issues/364

Coverage increased (+0.009%) to 96.159% when pulling 49079973bb0beb07a5ec81ddfad9f33ddb0be4b9 on issue-356-organization-policies-apis into 689550f42dcef528aefce1b34ad90e1811843f63 on master.

Coverage increased (+0.009%) to 96.159% when pulling cb1f7778fb04f2f827385516e8db02c1b105ada8 on issue-356-organization-policies-apis into 689550f42dcef528aefce1b34ad90e1811843f63 on master.

done


Amplify init fails on another machine

I'm at work right... I type amplify init, I do all my work, later at home, I pull the project from github and want to work on it... so I hit amplify add env, pick the env that I added at work...
It complains, fails to compile, won't do a thing... how am I meant to do this correctly?
** Which Category is your question related to? **
amplify in general...
** What AWS Services are you utilizing? **
amplify-cli
** Provide additional details e.g. code snippets **

What’s the error that you’re getting? Are the CLI versions the same as what you used at work and what you’re using at home? Would be helpful for us to know the error stack and get more information to root-cause your issue.

/home/michael/.nvm/versions/node/v8.15.0/lib/node_modules/@aws-amplify/cli/node_modules/gluegun/build/index.js:13
throw up;
^
SyntaxError: Unexpected token h in JSON at position 0
at JSON.parse ()

Are the CLI versions the same as what you used at work and what you’re using at home?
Also what are the files that you checked in in github?
Can I take a look at your .gitignore file or the project structure when you pulled the project on your local machine at home?

I'm pretty sure they are. I regularly do a npm upgrade and update every single part of my project, on all sides. I git push at work, git pull at home. But amplify-js never appears to transfer across nicely.
# Don't check auto-generated stuff into git
coverage
build
node_modules
stats.json

# Cruft
.DS_Store
npm-debug.log
.idea

#amplify
amplify/\#current-cloud-backend
amplify/.config/local-*
amplify/backend/amplify-meta.json
aws-exports.js
awsconfiguration.json

That's my .gitignore, all autogenerated by things I install.

@michaelcuneo Can you provide the file structure that you have in the system where you're seeing this issue?

@michaelcuneo Is one of the machine windows?

No, the other machine is an Intel server running Ubuntu. I use OSX at work, Ubuntu or Docker for my dev at home.

Released in Amplify CLI 1.6.6. Please re-open the issue if the problem still persist


Consider reducing # of dependencies & package size

Nice app! Love the simplicity. This is how most apps should look and feel.
5.4M Apr  2 20:15 2.b733adae.chunk.js
What if I told you any 20 bytes of those 5400000 bytes could contain a backdoor that would steal user funds? You're using quite a few dependencies there.
My initial suggestion would be to switch to micro-eth-signer — which abstracts out addresses and transactions. It uses noble-secp256k1 instead of indutny/elliptic, which alone could reduce size by a lot.

@paulmillr Thanks for the suggestion! Any chance you would be willing to submit a PR?

Sure. Would you accept it?

Is the idea to replace ethers.js?

Nope. The idea is to provide a tiny library for those who don't need full ethers.js functionality.

OK. scaffold-eth uses ethers quite extensively for reading & writing, would there be a size benefit if ethers was still being used for reading?

For reading what?

reading the blockchain...


CS-5413 improve module loading performance during indexing

After much investigation I'm seeing that module loading accounts for the largest share of time during indexing. We are doing some inefficient things in regards to module loading that result in loader module cache misses. On my system I'm seeing a 50% improvement in from scratch indexing with these changes (and additionally it should help for the incremental index changes too).
This PR includes a bunch of approaches to improve loader performance:

make the loader caching work for extension-based resolution (a loader cache entry should be shared for ./module-name.gts and ./module-name)
warm up the loader cache before service worker starts--most of the startup loader import time is taken up by loading (and transpiling) base modules like the api and all its deps as well as base field cards. So before we even start the service worker, just load up all these modules in the background
take advantage of the fact that the base realm modules are static (at least for now). A large penalty that occurs when performing incremenal indexing is the fact we use a fresh loader instance (hence empty cache) for each incremental invalidation (this is why saves are slow). we spend most of the time in incremental indexing rebuilding the loader cache. For base realm modules, I'm using a shared cache that all loader instances have access to, so we don't have to redo this work all the time
also another way to take advantage of the fact that base ream modules are static (at least for now), is to cache the transpiled artifacts. Since the base realm is shared by many realms, all the realms will benefit from the transpilation work as a result of serving base realm modules for any one particular realm.

In addition to surfacing timings, probably we should also log cache misses in the loader

(also an interesting observation, it looks like the host tests are about 1-2 minutes faster than in past CI runs)

@backspace I noticed that as I tried to add a new logger (akin to how we log current run) that our logging is very rigid. I refactored our logging so we can set it more like the @cardstack/logger package. this way we can just add loggers on the fly, and we specify log levels like:
$ LOG_LEVELS='*=none,app:*=debug,dependency=warn' node app.js

I also made it such that we need to provide a logger name when we want to log instead of using the default logger so that we can encourage having loggers that log specific things.

make the loader caching work for extension-based resolution (a loader cache entry should be shared for ./module-name.gts and ./module-name)

This sounds like it was a correctness bug, not just unoptimized. If you had a class in that module and it got evaluated under both names, some of your instanceof checks could fail.


feat: metamask sdk integration

Description
Add MetaMask SDK integration to allow MetaMask mobile wallet users to connect.

PLEASE NOTE- Checklist must be complete prior to review.
Checklist

[x] Increment the version field in package.json of the package you have made changes in following semantic versioning and using alpha release tagging
[x] Check the box that allows repo maintainers to update this PR
[x] Test locally to make sure this feature/fix works
[x] Run yarn check-all to confirm there are not any associated errors
[x] Confirm this PR passes Circle CI checks
[x] Add or update relevant information in the documentation

Docs Checklist

[x] Include a screenshot of any changes (see docs README on running locally)
[x] Add/update the appropriate package README (if applicable)
[x] Add/update the related module in the docs demo (if applicable)
[x] Add/update the related package in the docs/package.json file (if applicable)

If this PR includes changes to add an injected wallet or SDK wallet module:
Please complete the following using the internal demo package.
To run this demo use the command yarn && yarn dev to get the project running at http://localhost:8080/
Tests with demo app (injected)

[x] send transaction
[x] switch chains
[x] sign message
[x] sign typed message
[x] disconnect

Tests with demo app (SDK)

[x] send transaction
[x] switch chains
[x] sign message
[x] sign typed message
[x] disconnect

@abretonc7s I have added the MetaMask docs to our official docs site which is part of the Web3-Onboard repo.
Thanks for updating the MM verison! Can you update this PR to Ready for Review when you are ready?
One issue I am seeing when testing is that when/if a user rejects the connection when connecting mobile to desktop that the MM module doesn't throw an error to be handled by Web3-Onboard. If this occurs the SDK should throw the error where ProviderRpcError comes from web3-onboard/common.
  throw new ProviderRpcError({
    code: 4001,
    message: 'User rejected the request.'
  })


grunt-wiredep > grunt-bower-concat

Using both.

wiredep is used to wire some javascript libraries. (e.g.: jquery or bootstrap). It's used within google-cdn.
bower-concat is used to build CSS libraries. Since a customized version of twbs is used, we build and minify the whole CSS into vendors.css.


Application is losing current state if locked

Steps to reproduce:

Click "restore wallet" button on the main page
Enter the correct recovery phrase and click "Restore wallet"
Lock the phone and wait >30 seconds
Unlock the phone, click "Login" and enter the PIN

Expected result: The application opens on the page where you left.
Actual result: The application opens on the "Your wallets" page.

Moved to Clubhouse
https://app.clubhouse.io/emurgo/story/1781/android-ios-application-is-losing-current-state-if-locked

@PavelHaliakevich thanks! I will comment there


Aesthetic issue with various tasks.

I would take a crack at it, but null coding experience myself.
The tasks pile up and overlap each other in a disordered manner. Great solution otherwise.

what resolution do you use

My work laptop 1366x768


Issue writing in med format

Hello,
I'm working with the python module. I've created a 3d surface mesh in meshio format and I would like to write it in MED format.
An extract of my code is bellow, where file_name = /path/to/folder/surface.med:
#################################
# create meshio mesh
mio_surface = mio_tools.create_meshio_mesh(
pt_coords=self.surface_pt_coords,
connectivity=self.surface_conn,
offsets=self.surface_off,
cell_types=self.surface_cell_types)
# Initialize pressure field
data = list()
for i in range(len(self.surface_cell_types)):
data.append(1)
pressure_data = np.array(data)
mio_surface.cell_data["pressure"] = pressure_data
# Write surface mesh on disk
file_name = self.aster_working_dir + self.surface_med_file_name
meshio.write(filename=file_name, mesh=mio_surface, file_format="med")
###########################################"
Here is the content of mio_tools :
##############################
import meshio
import numpy as np
vtk_to_meshio_types = {
5: "triangle",
9: "quad",
10: "tetra",
12: "hexahedron"
}
vtktypes_to_nb_of_pts = {
5: 3,
9: 4,
10: 4,
12: 8
}
def create_meshio_mesh(pt_coords, connectivity, offsets, cell_types):
# points
mio_points=np.array([np.array(c) for c in pt_coords])
# cells
mio_cells = list()
for i in range(len(cell_types)):
nb_of_pts = vtktypes_to_nb_of_pts[cell_types[i]]
pid_list = list()
for j in range(nb_of_pts):
pos = int(offsets[i] + j)
pid_list.append(int(connectivity[pos]))
mio_cells.append((vtk_to_meshio_types[int(cell_types[i])], np.array([pid_list])))
mio_mesh = meshio.Mesh(points=mio_points, cells=mio_cells)
return mio_mesh
###############################
To test it, one could use these datas :
#################################
pt_coords = [ [0.0, 0.0, 0.0], [0.0, 1.0, 0.0], [0.0, 0.0, 1.0], [1.0, 0.0, 0.0] ]
connectivity = [0, 1, 2, 3, 1, 2]
offsets = [0,3,6]
cell_types =[5,5]
##################################
I'm being very confused because if I change the file extension and the file_format to "vtk" the mesh is written correctly. But with "med" format the written mesh as the points but only 1 cell. Does someone have any hints?
Thanks in advance,
V.

Duplicate of https://github.com/nschloe/meshio/issues/965. Please simply reopen that. Also, learn GitHub markdown before posting. It's says it right there in the template.


PinnedControls element not working

This page refers to a PinnedControls element, but when adding it to my layout, I get the following error trying to import.
The element 'WebLayout' has invalid child element 'PinnedControls'. List of possible elements expected: 'Page, PageContribution'.
TF237070: Importing the definition failed. The definition you are trying to import did not validate against the schema. Edit the definition, then try to import it again.

My system meets all of the requirements and this is a feature I have been waiting for. Please up date the documentation on how to properly use this element.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 04252798-9384-dd6c-ca58-b16ab8a8c5eb
Version Independent ID: f9244f2b-c55d-c621-a16b-af848d0febef
Content: WebLayout XML elements reference - Azure DevOps & TFS
Content Source: docs/reference/xml/weblayout-xml-elements.md
Product: devops
Technology: devops-agile
GitHub Login: @KathrynEE
Microsoft Alias: kaelli

@huntantr - Thanks for your question. I can't tell why this feature isn't working for you, so I don't know what to suggest to add to the documentation. Please consider these resources:

Azure DevOps Services
Azure DevOps Support Bot
Azure DevOps on Stack Overflow


sensibility factor for axisScaleGizmo

Wouldn’t a better name for this be called sensitivity instead of sensibility? they are basic the synonyms but slight preference for sensitivity.
Thanks for the PR will be super helpful.


refactor(page): do not limit brand img width, use grid in header

fixes https://github.com/patternfly/patternfly-next/issues/1678
I've been testing with different image sizes by using placehold.it as the src. For example http://placehold.it/800x50 or http://placehold.it/350x50

Deploy preview for pf-next ready!
Built with commit 927e1f5d6530b58104b62e57e390d4561c8de394
https://deploy-preview-1682--pf-next.netlify.com

Say you have a logo with a really large width, say 1000px, is Kyle fine, from a design perspective for it to be the only element in that header that scales down with size of the viewport. I wonder if we should put a max-width on it.

@christiemolloy re:

Say you have a logo with a really large width, say 1000px

Yep, I had originally applied some kind of reasonable max-width and @kybaker  said remove it entirely. Let them put a huge image in there if they want to, even though it will scale funny. They should be able to put any kind of image they want in there and figure out the right size based on how their header scales without us putting a limitation on the image width.

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


carbon..conf.example - Comments describing how to disable listeners

As reported in https://github.com/graphite-project/carbon/issues/381 this was previously undocumented functionality.

Good stuff. Would you mind porting this to master too?

@obfuscurity done https://github.com/graphite-project/carbon/pull/385

Ha, thanks.


spring-cloud-gateway-mvc giving 404 NOT_FOUND when deployed to Tomcat servlet 10.1.3

Hi,
I built a gateway app for routing requests to another app using spring-cloud-gateway-mvc lib. It is working fine with embedded tomcat, but when i tried the same deploying the app to tomcat servlet container, the response is 404 NOT_FOUND.
Embedded tomcat trace log:
2023-10-11 15:28:44 [http-nio-8081-exec-2] TRACE o.s.w.s.function.RequestPredicates - Pattern "/xyz/" matches against value "/xyz/getlist"
2023-10-11 15:28:44 [http-nio-8081-exec-2] TRACE o.s.w.s.function.RouterFunctions - Predicate "/xyz/" matches against "HTTP GET /xyz/getlist"
2023-10-11 15:28:44 [http-nio-8081-exec-2] TRACE o.s.w.s.f.s.RouterFunctionMapping - Mapped to org.springframework.web.servlet.function.HandlerFilterFunction$$Lambda$1154/0x000000080119c088@54dc2a8d
2023-10-11 15:28:45 [http-nio-8081-exec-2] TRACE o.s.web.servlet.DispatcherServlet - No view rendering, null ModelAndView returned.
2023-10-11 15:28:45 [http-nio-8081-exec-2] DEBUG o.s.web.servlet.DispatcherServlet - Completed 200 OK, headers={masked}
Here is the trace log from Tomcat Servlet:
2023-10-11 15:31:23 [http-nio-8080-exec-214] TRACE o.s.w.s.function.RequestPredicates - Pattern "/xyz/" matches against value "/xyz/getlist"
2023-10-11 15:31:23 [http-nio-8080-exec-214] TRACE o.s.w.s.function.RouterFunctions - Predicate "/xyz/" matches against "HTTP GET /xyz/getlist"
2023-10-11 15:31:23 [http-nio-8080-exec-214] TRACE o.s.w.s.f.s.RouterFunctionMapping - Mapped to org.springframework.web.servlet.function.HandlerFilterFunction$$Lambda$17420/0x0000000802574638@53a185bc
2023-10-11 15:31:23 [http-nio-8080-exec-214] TRACE o.s.web.servlet.DispatcherServlet - No view rendering, null ModelAndView returned.
2023-10-11 15:31:23 [http-nio-8080-exec-214] DEBUG o.s.web.servlet.DispatcherServlet - Completed 404 NOT_FOUND, headers={masked}
Route Configuration:
   @Bean
public RouterFunction<ServerResponse> getRoute() throws MalformedURLException {
	return route("route1")
			.route(path("/xyz/**"), http(URI.create("http://test.com/xyz")))
			.build();
}

Any insights will be appreciated. TIA

I've no idea

Good morning, this module is not compatible with deploy via .war
Spring Cloud Gateway requires the Netty runtime provided by Spring Boot and Spring Webflux. It does not work in a traditional Servlet Container or when built as a WAR.

@httpmurilo that is incorrect, spring cloud gateway MVC is compatible with tomcat


Add dummy logger for internally disabling logging for some features

Before submitting

[ ] Was this discussed/approved via a Github issue? (no need for typos and docs improvements)
[ ] Did you read the contributor guideline, Pull Request section?
[ ] Did you make sure to update the docs?
[ ] Did you write any new necessary tests?
[ ] If you made a notable change (that affects users), did you update the CHANGELOG?

What does this PR do?
Fixes https://github.com/PyTorchLightning/pytorch-lightning/issues/1828 and https://github.com/PyTorchLightning/pytorch-lightning/issues/1830
Make sure that users code can run during tuner algorithms (learning rate finder and batch scaler) when they call loggers directly in their code.
PR review
Anyone in the community is free to review the PR once the tests have passed.
If we didn't discuss your PR in Github issues there's a high chance it will not be merged.
Did you have fun?
Make sure you had fun coding 🙃

awesome!
in the case where i did this:
self.logger.experiment.add_image('images', grid, 0)

would the no-op still let any arbitrary function work like add_image since it's not defined? we basically need a way to allow any call here no?

Never mind lol... answered myself haha.
Well done!


Idea / feature request: consider alternative authentication mechanism for client onboarding to JWT

For the client (OpenZiti Tunneler) to access a service on the Ziti network, a JWT identity must be created on the server, and the secret jwt file must be transferred to the client to be added to the Tunneler. This creates a potential security issue when the file can be copied before it is provided to the client without the client even knowing it.
Please consider onboard clients by creating key pairs where the private key is generated on the client side and never left/transferred from the client host.
Similar to the ssh private/public keys mechanism.
An excellent example of an alternative to how it is done can be found with the ZeroTier One project, where the keys are generated on the node client side, and only public Node IDs numbers are visible and can be transferred and authenticated to the Controller. In this example, even if a client (node) knows the ZeroTier Network ID to connect, the network will see and list the new Node client but wait, allowing it to participate until an admin authorizes the new node to connect to the network via UI or API.

Hi @qdrddr - thanks for writing this issue.  The enrollment JWT is a one-time-use token, generally with a short expiration time.  You're correct that it needs to be treated as a secret.  The keys used for communication are generated at the endpoints and never leave that endpoint.  There is a good series of articles that outline the approach we use: https://openziti.io/blog/bootstrapping-trust/part-05.bootstrapping-trust
We also support alternate approaches that don't require the enrollment JWT at all, e.g., Auto CA Enrollment or switching to primary auth via an IdP using External JWT Signers.

There are actually two copies of that article out there, and this one is a little better connected to other articles you might find interesting: https://blog.openziti.io/bootstrapping-trust-part-5-bootstrapping-trust

If you decide to make this separately proposed improvement, https://github.com/openziti/ziti/issues/1256
Client enrollment & JWT creation can be done as part of the network enrollment proposed, similar to ZeroTier Node enrollment.
Basically, you'll need to have Tunnerers to have functionality similar to ZeroTier, and once a network connection is established from the Tunneler to the Controller and router, you can generate JWT locally on the client.

In any way, it would be great to generate JWTs locally on the Tunneler client and skip the transfer or the file altogether without any 3rd party tools.

our enrollment process follows RFC-7030 standard.
also, your process can be implemented with 3rd party CA enrollment

Enrollment with IDP(oidc) feature is in #2324


Change vertex position

Hi! As far as I understand, to set the position of the new vertex I should use VertexControl::SetPosition() and then add it using GraphArea::AddVertex. Is there any method to change the position of already added vertex?

You can get vertex control from GraphArea::VertexList dictionary and set its position

Okey, thanks, you`re right!