[ID-917] Added terraDeploymentEnv to metrics

Jira Ticket: https://broadworkbench.atlassian.net/browse/ID-917
Dependencies
https://github.com/broadinstitute/terra-helmfile/pull/4765 Adds terraDeploymentEnv to BEEs.
Summary of changes:
Mixpanel only has one project for all non-prod envs. This will allow differentiation for where metrics were sent from.
What

Added env to payload sent to mixpanel.

Testing strategy

[ ] Verified running on BEEs

@nawatts I think that is a good idea.

It seems like that information is already captured in the hostname prop sent to mixpanel, so we should be able to differentiate local vs persitent envs


work the custom labels on the server detail (these could be e.g. datacenter and custom label e.g. devel)

of course we're talking isotope filters/tags.... ;)

later on


Multiple curves

BN254 can be imported by writing from oblivious.bn254 import point, scalar.  Likewise, Ristretto255 can be imported by writing from oblivious.ristretto import point, scalar.
>>> import timeit
>>> timeit.timeit('s * p', setup='from oblivious.bn254 import point, scalar; (s, p) = (scalar.random(), point.random())', number=100000)
4.401820125
>>> timeit.timeit('s * p', setup='from oblivious.ristretto import point, scalar; (s, p) = (scalar.random(), point.random())', number=100000)
4.364272208

Encryption performance is almost identical on both curves.
Deterministic scalar/ID synthesis is explained in the doctest below.
https://github.com/nthparty/oblivious/blob/20ac2925d62e755f02fd8c03401033a8e98e2c1a/oblivious/bn254.py#L803-L810

I just made some changes to the native implementation, specifically to support a faster hash-to-point I wrote in mclbn256 recently.  I'll make one more commit for linting, and then it has my approval.


TNO-2369 Use new methods on dashboard

As @kylgarmor suggested, I used an endpoint he already created to enable/disable the ingest.
Also I created a similar endpoint just to reset the ingest state.
It does not involve complex object into two simple operations.

Does the the enable/disable checkbox work correctly too? Or does it lose the ingest configuration when it's clicked?

Yes, and the settings are intact after the toggle.


Unable to generate valid JWT using Python example

Code of Conduct

[X] I have read and agree to the GitHub Docs project's Code of Conduct

What article on docs.github.com is affected?
<EMAIL_ADDRESS>What part(s) of the article would you like to see updated?
After failing with Bash (#33324), I tried using Python to generate a JWT. This also seems to fail.
$ ./generate-jwt.py ./my-app.2024-06-03.private-key.pem Iv1.c0ffeec0ffeec0ff
JWT:  eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOiAxNzE3NTExMjg3LCAiZXhwIjogMTcxNzUxMTg4NywgImlzcyI6ICJJdjEuYzBmZmVlYzBmZmVlYzBmZiJ9.SMDjYqtuOP2A50Thptc8xdyQhqzQfpq98eem1bGuI_RyPYYzQJxuHczwvt8lw0bTBggkbQPhfDgmatsJ6UBVvK-1AKJoIXu68F5yvm-WGKteDHmYHV8NzoCzR_Hmcfz1yZG-vUmSg-4S6zJfabKz8t-wBUfrsl9Lo3bFw8ET51lXRqfk15ifFvB3jvsT8hCS9G3vrNvEdm1ZaHFccxCKs0a0rIa32rjI9nETSyulBFCtsZ20A9Rvw5Ny0aXQ-togoAly-cH7qX1Qsp5jvjdH9us3i1XYVr3hm85Ni4vgAdqDxU4k49LRTH9nkScURMSXBk0CoWMj-CuOgM_rlPl_QA

$ # Copy 👆 that token and paste it here 👇:
$ JWT='eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpYXQiOiAxNzE3NTExMjg3LCAiZXhwIjogMTcxNzUxMTg4NywgImlzcyI6ICJJdjEuYzBmZmVlYzBmZmVlYzBmZiJ9.SMDjYqtuOP2A50Thptc8xdyQhqzQfpq98eem1bGuI_RyPYYzQJxuHczwvt8lw0bTBggkbQPhfDgmatsJ6UBVvK-1AKJoIXu68F5yvm-WGKteDHmYHV8NzoCzR_Hmcfz1yZG-vUmSg-4S6zJfabKz8t-wBUfrsl9Lo3bFw8ET51lXRqfk15ifFvB3jvsT8hCS9G3vrNvEdm1ZaHFccxCKs0a0rIa32rjI9nETSyulBFCtsZ20A9Rvw5Ny0aXQ-togoAly-cH7qX1Qsp5jvjdH9us3i1XYVr3hm85Ni4vgAdqDxU4k49LRTH9nkScURMSXBk0CoWMj-CuOgM_rlPl_QA'

$ curl -L -H 'Accept: application/vnd.github+json' -H "Authorization: Bearer ${JWT:?}" -H 'X-GitHub-Api-Version: 2022-11-28' 'https://github.example.com/api/v3/app'
{
  "message": "'Issuer' claim ('iss') must be an Integer",
  "documentation_url"<EMAIL_ADDRESS>}

Additional information
$ /usr/bin/env python3 --version
Python 3.10.12

$ pip show jwt
Name: jwt
Version: 1.3.1
Summary: JSON Web Token library for Python 3.
Home-page: https://github.com/GehirnInc/python-jwt
Author: Kohei YOSHIDA
Author-email<EMAIL_ADDRESS>License: UNKNOWN
Location: /home/andreas/.local/lib/python3.10/site-packages
Requires: cryptography
Required-by:

No, Python works. I looked at another version of the docs where it said to use the Client ID of the app. Clearly, it says in this version of the docs to use the App ID, which is completely different. I missed the difference between versions in the docs.


Use symlink for GM 2.7.0 fixpack 2

Signed-off-by: amdabhad<EMAIL_ADDRESS>

Testing on this is not done yet due to fyre network cluster issues, will mark this ready for review once I run some tests on this PR.


Strange UI Sizing Bug

A few things are happening here

The stream is clipped on the top and the bottom.
The grid disappears  as I'm using the modeling app for some reason
Console doesn't show any errors

https://github.com/KittyCAD/modeling-app/assets/114548659/b16fabc6-bebe-4242-bc91-cc2ff2dcf8c2
Version
v0.15.2
Solution
Reloading

More information. This seems to happen when I close my laptop and come back and reload.

Hm I don't know much about this part, it seems like a stream/engine connection issue, so I've tagged @lf94 and @Irev-Dev

Yep. I suspect Kurt had visibility on this and is hammering it out in that PR

considering this happens on laptop close im throwing this into idle https://github.com/KittyCAD/modeling-app/issues/563


[ALLUXIO-2548] Mkdir also need sudo in alluxio-mount.sh

https://alluxio.atlassian.net/browse/ALLUXIO-2548

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/13448/
Test PASSed.


feat: add support for more granular autocomplete values

Description

feat: add support for autocomplete values

Testing required outside of automated testing?

[ ] Not Applicable

Screenshots (if appropriate):

[ ] Not Applicable

Rollback / Rollforward Procedure

[ ] Roll Forward
[ ] Roll Back

Reviewer Checklist

[ ] Description of Change
[ ] Description of outside testing if applicable.
[ ] Description of Roll Forward / Backward Procedure
[ ] Documentation updated for Change

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Specialization

Summary
Discuss specialization and path towards MVP stabilization (if any)
Rationale
@voidc has bene doing work on this

cc @matthewjasper as well


[1.12] Compatibility with Animania

industrialforegoing-1.12.2-1.12.13-237
animania-1.12.2-1.7.2
Issue on animania: https://github.com/capnkirok/animaniamod/issues/321
Animal Feeder:
Pigs, Cows and Horses are bottomless black holes. The feeder is constantly pumping them full, hearts are flying but there hasn't been a single baby born.
Chickens refuse seeds from the feeder and complain about hunger
Sheep at least breed but still require way more food than they should.
Animal Grower:
Doesn't seem to work at all. All baby animals are hungry and if enabled starve to death long before growing to adulthood.

just ran into the same issue, using tekxit 3 v0.972

:wave: Sorry but Industrial Foregoing has ended support for version 1.12. I'm closing this issue as it will no longer be updated for that version. Thanks for playing with the mod.


[BugReportTool] Install location contents

Description of the new feature / enhancement
The Bug Report Tool should include a file containing a list of every file that is present inside PowerToys installation location, followed by each file's checksum/hash.
Scenario when this would be used?
Some issues seem to be caused by files from older versions of PowerToys that were not removed by the uninstall/update process.
This would be a way to detect those cases, as the file from the bug report could be compared to what's expected from a pristine installation folder.
Supporting information
Some examples of issues that seem to have been caused by this:

https://github.com/microsoft/PowerToys/issues/12103
https://github.com/microsoft/PowerToys/issues/11916
https://github.com/microsoft/PowerToys/issues/11565

Should we also add a version of the file? In this way, it would be more readable.
To implement it we should know a folder PowerToys are installed in. We've seen that some users don't install PowerToys into the default location.

Adding the version sounds good.
The Bug Report tool process would know where it's starting from. It could go from there.

Added Priority-0 as we see reports with files from older versions

https://github.com/microsoft/PowerToys/pull/12512 should prevent this from happening again

Resolved with the release of v0.43.0.


Should actions not implement Zend\Stratigility\MiddlewareInterface?

I wonder, if it would make sense, if the HomePageAction and PingAction implement the Zend\Stratigility\MiddlewareInterface.

No. In fact, I was against adding that interface from the beginning, and only did it under pressure from a number of vocal contributors. Requiring usage of the interface makes it far more difficult to share middleware between different middleware runners, and it's why Stratigility itself does not require usage of the MiddlewareInterface, but instead looks only for a callable.

Thanks for clarification. That makes sense! :-)


Add RiscV64

Description
Add riscv64 architecture to our enums.
Related issue
Fix #4837

[x] I have ensured that there is a previously discussed and approved issue.

Hi @nohwnd, probably you forget to update PublicAPI.Shipped.txt files.

@ww898 I see 2 updates to them in this PR. And the build passed (there is roslyn analyzer making sure the files are reflecting what is actually published).  Why do you think I forgot to update them? Do you see a mistake, that I don't see?

@nohwnd Sorry, it was my fault.


Change full wake lock to partial wake lock

As suggested by Rayz224. Also updated the wakelock tag to be unique.

Why did you close this? The activity recognition change looks interesting, unless it didn't work of course :)


Created tab view for week and month steps view

Issue 30: Add new tab with week/month step data.
Details:

There is a segmented button for week and month steps chart.
Implemented the bar chart for the Weekly steps view.
The weekly steps view is not fully implemented as the screen below the chart is empty.
The month steps view is not implemented.
Video Link: https://drive.google.com/file/d/1q6iDbpvoX2bccfq1mhyayH-QpXruC-yg/view?usp=sharing

@WasifRaza123 Thanks tons! Looking good, Excited to get this in the app! Could you actually submit the PR to merge into dev instead of main?

@WasifRaza123 Thanks tons! Looking good, Excited to get this in the app! Could you actually submit the PR to merge into dev instead of main?

Okay, Sure


Update tables from html to markdown format

Converted the tables in https://docs.docker.com/registry/storage-drivers/ from HTML to markdown format.

@thaJeztah Could you PTAL?


Added check for AKS clusters with basic a load balancer

Added checks for an AKS cluster with basic load balancer. If the load balancer is named 'kubernetes' or 'kubernetes-internal', the migration will exit.
When using a basic LB for AKS no LB is created at deploy time as cluster egress uses MS shared public IPs (default VM internet access approach). A Basic LB is only created when an operator deploys a Kubernetes service object with the Azure load balancer annotation and no tagging is applied to the Basic ALB/ILB by the platform, as is the case with a Standard Load Balancer.

#108


caprice32: Add  include

Motivation for this change
Build log showed errors for missing std::string. Adding <string> include to that header fixed it. This has already been patched upstream but is not yet part of a release. I added a note that this patch likely needs to be removed when bumping the version next time.
https://github.com/ColinPitrat/caprice32/commit/6b250ead2a8b66ed2b676124368191e7adc11768
ZHF: #122042
@jonringer
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[ ] NixOS
[ ] macOS
[x] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 122915 at 7b1fad07 run on x86_64-linux 1

1 package built successfully:

caprice32

2 suggestions:

warning: maintainers-missing
Package does not have a maintainer. Consider adding yourself?
Near pkgs/misc/emulators/caprice32/default.nix:49:5:
   |
49 |     maintainers = [ ];
   |     ^

warning: unclear-gpl
gpl2 is a deprecated license, please check if project uses gpl2Plus or gpl2Only and change meta.license accordingly.
Near pkgs/misc/emulators/caprice32/default.nix:48:5:
   |
48 |     license = licenses.gpl2;
   |     ^


Abort (core dumped)

What happened?
For the attached IR seeing abort during runtime.
command:
iree-compile model.modified.mlir --iree-hal-target-backends=llvm-cpu -o compiled_model.vmfb
iree-run-module --module='compiled_model.vmfb' --device=local-task --function='torch_jit'<EMAIL_ADDRESS><EMAIL_ADDRESS>
input.0.txt
model.mlir.txt
Steps to reproduce your issue
download two attached file and name them as 'model.modified.mlir' and 'input.0.bin' and invoke the command mentioned above
What component(s) does this issue relate to?
Runtime
Version information
No response
Additional context
No response

There are cf.asserts and I don't know how well they are supported by the runtime. Please add the flag iree-opt-strip-assertions i.e.,
iree-compile -iree-opt-strip-assertions model.mlir.txt --iree-hal-target-backends=llvm-cpu -o compiled_model.vmfb

I think this might be the correct behavior (apparently cf.assert isn't required to do anything with the message) because the process is bing terminated via SIGABRT. Looking at the input IR on line 251:
cf.assert %false, "mismatching contracting dimension"

So this seems like a possible lowering issue. However, I'm not sure why no message was raised.

I think I have a resolution for many of these inference crashes at the torch level. I think most of these are related to the shape cleanup work we've been doing.
https://github.com/llvm/torch-mlir/pull/3781 + setting up a different shape refinement pipeline on the frontend seems to be working well on the sampling of models I've been testing from https://github.com/pdhirajkumarprasad/SHARK-TestSuite/blob/feature/qa/issue/onnx-to-torch/abort-at-runtime.
I'll add some tests to the linked PR, post some changes to our pipeline in the test suite, and post a summary report of the thirty models I tried locally.

This is from a sampling of distinct sounding models from the list of runtime crashing models after the changes mentioned above.
The passes I took to generate linalg IR for these models:
torch-mlir-opt --convert-torch-onnx-to-torch --torch-lower-to-backend-contract --torch-scalarize-shapes --torch-shape-refinement-pipeline --torch-backend-to-linalg-on-tensors-backend-pipeline

With the scalarize shapes changes in the draft pr.
Passing Summary
TOTAL TESTS = 30

Stage
# Passing
% of Total
% of Attempted

Setup
30
100.0%
100.0%

IREE Compilation
29
96.7%
96.7%

Gold Inference
29
96.7%
100.0%

IREE Inference Invocation
25
83.3%
86.2%

Inference Comparison (PASS)
25
83.3%
100.0%

Fail Summary
TOTAL TESTS = 30

Stage
# Failed at Stage
% of Total

Setup
0
0.0%

IREE Compilation
1
3.3%

Gold Inference
0
0.0%

IREE Inference Invocation
4
13.3%

Inference Comparison
0
0.0%

Test Run Detail
Test was run with the following arguments:
Namespace(device='local-task', backend='llvm-cpu', iree_compile_args=None, mode='cl-onnx-iree', torchtolinalg=True, stages=None, skip_stages=None, benchmark=False, load_inputs=False, groups='all', test_filter=None, testsfile='inference1.txt', tolerance=None, verbose=True, rundirectory='./test-onnx', no_artifacts=False, cleanup='2', report=True, report_file='reports/inference1.md')

Test
Exit Status
Mean Benchmark Time (ms)
Notes

model--all-MiniLM-L12-v2-qa-all--LLukas22
PASS
None

model--bart-base-few-shot-k-1024-finetuned-squad-seed-2--anas-awadalla
compiled_inference
None

model--bart-base-squad2--sjrhuschlee
compiled_inference
None

model--bart-large-finetuned-squadv1--valhalla
compiled_inference
None

model--bengali_language_NER--Suchandra
PASS
None

model--bert-base-cased-cefr--LordCoffee
PASS
None

model--bert-base-finetuned-nli--Jihyun22
PASS
None

model--bert-base-multilingual-cased-finetuned-squad--JensH
PASS
None

model--bert-base-multilingual-uncased-finetuned-squad--Martin97Bozic
PASS
None

model--bert-base-NER--dslim
PASS
None

model--bert-base-qa--srcocotero
PASS
None

model--bert-base-turkish-128k-cased-finetuned_lr-2e-05_epochs-3--husnu
PASS
None

model--bert-base-tweetner7-2021--tner
PASS
None

model--bert-base-uncased-few-shot-k-1024-finetuned-squad-seed-0--anas-awadalla
PASS
None

model--Bert_Squad--johnjose223
PASS
None

model--BioBERT-finetuned-ner-conll2003--ViktorDo
PASS
None

model--EstBERT128_sentiment--tartuNLP
PASS
None

model--FinancialBERT-Sentiment-Analysis--ahmedrachid
PASS
None

model--GPyT--Sentdex
compiled_inference
None

model--IMDB_BERT_5E--pig4431
PASS
None

model--MetaQA--haritzpuerto
PASS
None

model--MiniLM-L12-H384-uncased-squad--haritzpuerto
PASS
None

model--MTL-bert-base-uncased-ww-squad--jgammack
PASS
None

model--SEAD-L-6_H-384_A-12-wnli--course5i
PASS
None

model--TinyBERT_General_4L_312D-squad--haritzpuerto
PASS
None

model--Trial_3_Results--sunitha
PASS
None

mvitv2_base
PASS
None

mvitv2_large
import_model
None

mvitv2_small
PASS
None

mvitv2_tiny
PASS
None

Can someone please edit the issue title to be more descriptive?


Fix input_field not receiving the wrapper options

Previously any option given to the wrapper :input config, like a class
name or data attribute, would not be passed down when generating an
input field. Now if you give any specific option to generate inputs with,
they will be also be picked up when using input_field.
Fixes #1230.

@amoludage I'm confused by this fix. You have a branch/commit that fixes the issue but it's not merged into master? This was fixed last October, are there any plans for merging this?
A simple work-around is available, by passing any options you need for an input_field, but having a lot of input_fields that need the same options results in a lot of duplication in forms, whereas a simple wrapper could be used.
For example, duplicating:
= f.input_field :field_name,
    as: :string,
    class: "form-control",
    ....

with several more attributes is form bloat, and it's not fun to maintain. I appreciate all the work put into the gem though, it's very useful!

ya +1

+1

+1


Policies + Ack/Ignore vulnerabilities / violations?

Is your feature request related to a problem? Please describe.
Currently all info is displayed and view-/sortable. But it becomes a hassle to check if there are known + acknowledged vulnerabilities.
Describe the solution you'd like
It would be nice to be able to (either) create policies that will be checked against (maybe even retro-active) and could be acknowleged or ignored for future checks on a global or per package basis.
Additional context
Currently testing diverse solutions to get a global status (including licenses) and would like to set some default settings so i can ignore re-appearing CVEs.

Hi @strowi, thanks a lot for creating the feature request. This will be really useful.
What will be the properties that you would like to define the ignore rules upon?
Specific CVEs? Specific packages(name/version)? Does granularity required for specific applications or application resources (e.g. ignore CVE-XXX only for docker.io/myapp:test)?

@akpsgit To be honest i haven't thought about it in that much detail previously. BUT trying to think as the "compliance-guy" i guess "all of the above" is the short answer.
For a start it would be good if it were possible to ignore specific CVEs globally. (think about a CVE in a 100* used base-image)
In a next step doing this for specific applications will come in handy if multiple teams have different rules.
And unless you want to ignore a CVE for all eternity, rules should be applicable for specific package versions.
For Licenses i guess the use-case is simpler, at least for our current use-case. A License is either acceptable globally or not, and violations should be shown/alterted on.

I have been thinking about this for a while and actually using the cvss attack vector info might be a better filter, acknowledge specific CVE is also useful. I thought about doing this with the metrics but they dont expose much info there but having this on the DB is much more useful


Missing icons for ViUR default protoypes

Hi there,
in the feature/viur-3.0 branch, I'm missing the icons for singleton (https://github.com/viur-framework/icons/blob/master/modules/singleton.svg) and tree (https://github.com/viur-framework/icons/blob/master/modules/tree.svg).
These are ViUR  default prototypes, and desribe the generic functionality singleton => the exists only one database entry for the module, and tree, which is like a hierarchy, but with determination between nodes and leafs.
Will the be replacements in the new icon set?

The icons »hierarchy« or »filesystem« can be used to represent tree modules.
i really liked the old singleton icon. But a generic singleton module could just as well use »flag« or »list-item« .
In the end one would want to change the icon anyway according to the purpose of the module.


[llm perf] Slow kernel turbine_llm_mmtfp_3d_8640_3200_f32f16

// iree-compile --iree-hal-target-backends=llvm-cpu --iree-llvmcpu-target-cpu-features=host -o turbine_llm_mmtfp_3d_8640_3200_f32f16_cpu.vmfb turbine_llm_mmtfp_3d_8640_3200_f32f16.mlir
// iree-benchmark-module --module=turbine_llm_mmtfp_3d_8640_3200_f32f16_cpu.vmfb --function=turbine_llm_mmtfp_3d_8640_3200_f32f16 --input=4x128x3200xf32 --input=8640x3200xf16

#map = affine_map<(d0, d1, d2) -> (d1, d2)>
#map1 = affine_map<(d0, d1, d2) -> (d0, d1, d2)>
module {
  util.func public @turbine_llm_mmtfp_3d_8640_3200_f32f16(%arg0: tensor<?x?x3200xf32>, %arg1: tensor<8640x3200xf16>) -> tensor<?x?x8640xf32> {
    %cst = arith.constant 0.000000e+00 : f32
    %c0 = arith.constant 0 : index
    %c1 = arith.constant 1 : index
    %dim = tensor.dim %arg0, %c0 : tensor<?x?x3200xf32>
    %dim_0 = tensor.dim %arg0, %c1 : tensor<?x?x3200xf32>
    %0 = tensor.empty(%dim) : tensor<?x8640x3200xf16>
    %1 = linalg.generic {indexing_maps = [#map, #map1], iterator_types = ["parallel", "parallel", "parallel"]} ins(%arg1 : tensor<8640x3200xf16>) outs(%0 : tensor<?x8640x3200xf16>) {
    ^bb0(%in: f16, %out: f16):
      linalg.yield %in : f16
    } -> tensor<?x8640x3200xf16>
    %2 = tensor.empty(%dim, %dim_0) : tensor<?x?x8640xf32>
    %3 = linalg.fill ins(%cst : f32) outs(%2 : tensor<?x?x8640xf32>) -> tensor<?x?x8640xf32>
    %4 = linalg.batch_matmul_transpose_b ins(%arg0, %1 : tensor<?x?x3200xf32>, tensor<?x8640x3200xf16>) outs(%3 : tensor<?x?x8640xf32>) -> tensor<?x?x8640xf32>
    util.return %4 : tensor<?x?x8640xf32>
  }
}

Tested on CPU. Performance is at least an order of magnitude below expectations. Needs to be fast on all supported backends.

What CPU are you measuring on? Here on AMD 7950X3D, setting 1 thread (to be able to make sense of single-thread performance on this CPU) I get items_per_second=2.66772/s, which amounts to 75 Gflop/s (counting each multiply-add as two ops as usual).
https://www.google.com/search?q=4*128*3200*8640*2*2.6677*1e-9
On this CPU, a f32 x f32 matmul kernel microbenchmark does 175 Gflop/s:
./runtime/src/iree/builtins/ukernel/tools/mmt4d_benchmark --benchmark_filter=f32f32f32_tile_16x16x1_avx512

So I'd say I can reproduce a up to ~ 2x slowness here, not exactly "an order of magnitude".
The codegen isn't bad at all: compiling with --iree-hal-dump-executable-intermediates-to=/tmp --x86-asm-syntax=intel I get this inner loop:
.LBB2_11:
	.loc	1 0 3
	vcvtph2ps	zmm16, ymmword ptr [r11 + rax]
	vfmadd231ps	zmm0, zmm16, dword ptr [r12 + 2*rax - 60]{1to16}
	vfmadd231ps	zmm2, zmm16, dword ptr [r12 + 2*rax - 56]{1to16}
	vfmadd231ps	zmm1, zmm16, dword ptr [r12 + 2*rax - 52]{1to16}
	vfmadd231ps	zmm4, zmm16, dword ptr [r12 + 2*rax - 48]{1to16}
	vfmadd231ps	zmm3, zmm16, dword ptr [r12 + 2*rax - 44]{1to16}
	vfmadd231ps	zmm6, zmm16, dword ptr [r12 + 2*rax - 40]{1to16}
	vfmadd231ps	zmm5, zmm16, dword ptr [r12 + 2*rax - 36]{1to16}
	vfmadd231ps	zmm8, zmm16, dword ptr [r12 + 2*rax - 32]{1to16}
	vfmadd231ps	zmm7, zmm16, dword ptr [r12 + 2*rax - 28]{1to16}
	vfmadd231ps	zmm10, zmm16, dword ptr [r12 + 2*rax - 24]{1to16}
	vfmadd231ps	zmm9, zmm16, dword ptr [r12 + 2*rax - 20]{1to16}
	vfmadd231ps	zmm12, zmm16, dword ptr [r12 + 2*rax - 16]{1to16}
	vfmadd231ps	zmm11, zmm16, dword ptr [r12 + 2*rax - 12]{1to16}
	vfmadd231ps	zmm14, zmm16, dword ptr [r12 + 2*rax - 8]{1to16}
	vfmadd231ps	zmm13, zmm16, dword ptr [r12 + 2*rax - 4]{1to16}
	vfmadd231ps	zmm15, zmm16, dword ptr [r12 + 2*rax]{1to16}
	.loc	1 4 3
	add	rax, 32
	cmp	rax, 102400
	jne	.LBB2_11

This is good -- I wouldn't do better in a ukernel. The f16 side is converted to f32 in the vcvtph2ps instruction at the start of the loop body, and then the rest is a normal AVX-512 f32 kernel. I don't think there's anything better to do on this target.
So the fact that we don't have ukernels for f32f16 cases like this doesn't matter --- in this instance, pure codegen is doing great.
Still the 2x gap between the observed e2e performance and the microbenchmark above (which benchmarks a kernel that's looking similar to this except for the single vcvtph2ps instruction) means that something outside of mmt4d is slow.
Anyone picking up the investigation from here:

Tracy this - what dispatch is taking a long time outside of the main mmt4d dispatch? (We can all suspect a pack/unpack dispatch, particularly the f16 pack dispatch, but need to confirm).
Look at disassembly for the f16 pack dispatch (above flags). Is it bad? OK I have copied it into this gist, but haven't looked at it: https://gist.github.com/bjacob/f7c3844deacf87909a74cfdc79080583

What CPU are you measuring on? Here on AMD 7950X3D, setting 1 thread (to be able to make sense of single-thread performance on this CPU) I get items_per_second=2.66772/s, which amounts to 75 Gflop/s (counting each multiply-add as two ops as usual).

+1, I wonder the target CPU as well.
Thanks @bjacob for the great analysis! A potentially performance bug could be in packing on f16 types. I have been working on pack codegen on and off, but the work scoped in https://github.com/openxla/iree/issues/16314 is not finished yet. So +1 on what Benoit suggested. We need to tracy this.
@MaheshRavishankar is this one of the tasks that you mentioned @pashu123 could pick up? If so, he can start with what Benoit suggested.

Will you accept "order of magnitude, where magnitude is a power of 2"? :)
Really, this was a test case of the methodology. This is a common kernel in a popular dataset, and I'd be interested to know why it isn't getting near where it should.
Here's a full example trace of a different case, run on a live model: https://drive.google.com/file/d/1lRXO0Eb9aIF3lZmG6-gN8zN0OGr6zZKm/view?usp=drive_link
(this includes Q4_1 dequantization)
iree-cpuinfo
sse3                 1
ssse3                1
sse4.1               1
sse4.2               1
sse4a                1
avx                  1
fma                  1
fma4                 0
xop                  0
f16c                 1
avx2                 1
avx512f              0
avx512cd             0
avx512vl             0
avx512dq             0
avx512bw             0
avx512ifma           0
avx512vbmi           0
avx512vpopcntdq      0
avx512vnni           0
avx512vbmi2          0
avx512bitalg         0
avx512bf16           0
avx512fp16           0
amx-tile             0
amx-int8             0
amx-bf16             0

And here is a full run with q8_0 kernels on a 3B openllama: https://drive.google.com/file/d/1S-Dm7nlt2jyNfIBJkFhEEAybdd-mEuiD/view?usp=drive_link

(when I say "trace" in this context, I mean, execution log dump of MLIR, VMFB, and a log file that tells you what shapes it was invoked with and observed execution time)

What CPU are you measuring on? Here on AMD 7950X3D, setting 1 thread (to be able to make sense of single-thread performance on this CPU) I get items_per_second=2.66772/s, which amounts to 75 Gflop/s (counting each multiply-add as two ops as usual).

+1, I wonder the target CPU as well.
Thanks @bjacob for the great analysis! A potentially performance bug could be in packing on f16 types. I have been working on pack codegen on and off, but the work scoped in #16314 is not finished yet. So +1 on what Benoit suggested. We need to tracy this.
@MaheshRavishankar is this one of the tasks that you mentioned @pashu123 could pick up? If so, he can start with what Benoit suggested.

Yes. Already spoke to @pashu123 about this. He is going to start looking into it.

Here's the benchmark dump:
Running iree-benchmark-module
Run on (16 X 5015.12 MHz CPU s)
CPU Caches:
  L1 Data 32 KiB (x8)
  L1 Instruction 32 KiB (x8)
  L2 Unified 1024 KiB (x8)
  L3 Unified 16384 KiB (x1)
Load Average: 1.13, 0.32, 0.10
***WARNING*** Library was built as DEBUG. Timings may be affected.
--------------------------------------------------------------------------------------------------------------------------
Benchmark                                                                Time             CPU   Iterations UserCounters...
--------------------------------------------------------------------------------------------------------------------------
BM_turbine_llm_mmtfp_3d_8640_3200_f32f16/process_time/real_time       77.3 ms          484 ms            9 items_per_second=12.9406/s

Here's the Tracy profile

@hanhanW. The potential perf bug remains in pack f16 dispatch. Though it was vectorized, the vector type is vector<1xf16> in the llvm ir dump.
Also, the unpack_f32 is not vectorized at all.

--iree-hal-dump-executable-intermediates-to=/tmp --x86-asm-syntax=intel

I will start working on enabling the right vectorization for pack f16. @hanhanW @MaheshRavishankar  Sounds good?

The issue is not just vectorization.. Can you attach the dispatches to the issue? I wonder if this is LHS packing or RHS packing; I need to see the actual pack op. It could be amount of work (e.g., implement features, benchmark and analyze IRs/perf) or low-hanging fruit (e.g., set proper tile sizes).
To dump the dispatches, you can add --iree-hal-dump-executable-sources-to=$HOME/dump to iree-compile.

--iree-hal-dump-executable-sources-to=$HOME/dump

Here are the dispatches https://gist.github.com/pashu123/a291c7cfc6d2d47930234bf3257d46f8

So this is a broadcast + rhs packing dispatch. It is fine that the batch dimension is dynamic, because we will always tile it with size=1 in this case. There are few known issues:

We need to set larger tile sizes.
We need to enable flatten and vector linearization for CPU backends.

(2) maybe tricky. @dcaballe and I had been looking at it, but we did not land it yet. There are issues in the draft PR, and we need someone to help triage. https://github.com/openxla/iree/pull/16456
With (1) and (2), we generate vector<2x16xf16> vectors in vectorization, and flatten it to vector<1x32xf16> during vector lowering.

@pashu123 can you attach the IR dumps for the dispatch?

@pashu123 and I looked the IR dump together today, and we found that the vector level tile sizes are all set to 1s in the lowering_config. My intuition is the logics in elementwise op strategy selection is outdated. We used to tile dims with size=1 when there are dynamic shapes. Because we did not have vectorization strategy. It only worked with static shapes. Today, we have peeling, masking, etc tricks, so we need to revisit it. Here are two action items after the discussion:

Try with different lowering_config and look at the IR dumps and final code. (maybe use [1, 1, 16] or [1, 2, 16] as vector level tile sizes)
Teach the KernelDispatch.cpp to produce such config.

To quickly iterate 1, we can preset translation_info and lowering_config on the op. E.g., see below example and run iree-opt --pass-pipeline='builtin.module(iree-llvmcpu-select-lowering-strategy, func.func(iree-llvmcpu-lower-executable-target))' repro.mlir
https://github.com/openxla/iree/blob/bd1b10626cb02d3d6c05f67977d1800020203b40/compiler/src/iree/compiler/Codegen/LLVMCPU/test/pipeline_tests.mlir#L300-L322
side note: please remember to update hal.executable.target in your experiments.

@pashu123 can you attach the IR dumps for the dispatch?

I have already shared https://gist.github.com/pashu123/bb3a999d6b3a60ab94f7d80c863b67fb, but I am attaching it here for completeness.

Thanks @pashu123 for the deep investigation in the past few days. Prashant and I looked at the issue closely, and we are making some progress. The below numbers are generated based on Prashant's artifacts. They are executed on my VM but it should be fine. Because the zen4 specific features are not used in the matmul. There are two major issues to me.

We don't select a reasonable tile sizes for tensor.pack op, so it is generating inefficient code.
The unpack op is not properly vectorized.

With proper lowering_config (which kicks in 16x16 transpose optimization), the performance breakdown (1-threaded) is:

batch_mmt4d: 368.71 ms
broadcast + pack_on_lhs: 55.55 ms
unpack: 2.29 ms
pack_on_rhs: 1.76 ms

With (1), we can improve broadcast + pack_on_lhs from 136 ms to 55.55 ms. With (2), we can improve unpack from 5.82 ms to 2.29 ms.
We are actually doing okay on broadcast + pack_on_lhs in the prototype. I wrote c++ code to profile memcpy, which takes 63 ms on my VM. There might be some overheads in my c++ code, because it is slower than broadcast + pack_on_lhs. But the numbers are very close, and they look okay to me.
Here is the ASM dump for the broadcast + pack_on_lhs: https://gist.github.com/hanhanW/f53428a81521d681a6c1d5cc8f65a017
We dont fully utilize 512 bits in the pack (where they are all ymm registers), but it is already sub-optimal. We can try to improve that if needed, it will require an amount of work.
@stellaraccident what is your expectation? How do we generate baseline numbers for the case?
@pashu123 please send PRs to fix (1) and (2). You already have something for (1); the prototype of (2) can be found at https://github.com/iree-org/iree/pull/17002 . There might be other issues in multi-threaded. Let's fix these two issues first, and revisit it later.
(side note: This is the microbenchmarks we've been using for the issue.)

(a dispatch that broadcasts is odd - are we sure we need that?)

(a dispatch that broadcasts is odd - are we sure we need that?)

It could just be a snippet IR from the model. It does not matter here because it is free. We already need to pay for packing, and broadcast + pack is as fast as a single pack.

It's not free if we could have packed 16x less - less to write and less to read :)


CIV-14591 and 85 to 14587

JIRA link (if applicable)
CIV-14587
Change description
Changes from 14591 and 585 plus confirmation page
Does this PR introduce a breaking change? (check one with "x")
[ ] Yes
[X] No

No more changes needed


Outdated bookings visible when logging in, disappears when reloaded

Describe the bug
Outdated bookings are visible when logging in and disappear when reloaded
To Reproduce
Steps to reproduce the behaviour:

Complete a slot booking
After the booking expires, signout and relogin
The previous booking will be visible as the current Booking

Expected behaviour
The booking should be expected as completed
Additional context
Rethink and update the complete booking functionality.

@Codehackerone would love to take on this

Sure... Can you tell me how you want to approach this?

I want to do this

Okay sure

Done


Removing republishing dids warning

From chatting back and forth with Gabe and Frank, they advise that we remove this warning about DID DHT because this is currently not the case. At the moment, people don't need to republish DIDs weekly. However, they plan to implement a way to make storing and managing DIDs more sustainable for our company...so that old, unused DIDs aren't just sitting in our system.  Gabe is currently working on implementing new plan. Share the exact and correct guidance with us and we can update our docs to reflect his new guidance.
New plan was agreed on:
person gets a did dht
on our side we're checking to see if the did is active for the last 7 days
if it becomes inactive..they have to republish..if it's not inactive and meets minimal requirements for use..they dont have to republish.
the activity/inactivity is what they refer to as proof of work

It sounds like they're still trying to determine what is "activity"
This pull request includes a change in the how-to-create-did.mdx file under the site/docs/web5/build/decentralized-identifiers directory. The change involves the removal of an important note about the weekly republishing requirement for did:dht DIDs. The note stated that DIDs created using the did:dht method must be republished weekly to prevent them from becoming unresolvable and that an automatic republishing feature would be integrated into the SDK in the coming weeks.

To see the specific tasks where the Asana app for GitHub is being used, see below:

https://app.asana.com/0/0/1207249235942948

If this is now the case should we also remove showing how to republish ? Since its not needed

oh i didnt notice we added that. just removed it!  @EbonyLouis

did you mean to include the connect() commits in here?

did you mean to include the connect() commits in here?

oh no i didnt! I just did this 2 minutes ago by accident. let me revert @angiejones

Closing this PR!! ughhhh I didn't pay attention and I messed up two branches I had. I'll just redo it.


can't download youtube channel (With youtuble-dl http://www.youtube.com/show/achievementhunter)

youtuble-dl http://www.youtube.com/show/achievementhunter
[youtube:show] achievementhunter: Downloading show webpage
[youtube:show] achievementhunter: Found 0 seasons
[download] Downloading playlist: Achievement Hunter
[youtube:show] playlist Achievement Hunter: Collected 0 video ids (downloading 0
of them)
Does not download anything!

Works perfectly with latest version. Closing.


[Feature] Faster, if unsafe, dbt-compile please! (perhaps without connectors)

Is this your first time submitting a feature request?

[X] I have read the expectations for open source contributors
[X] I have searched the existing issues, and I could not find an existing issue for this feature
[X] I am requesting a straightforward extension of existing dbt functionality, rather than a Big Idea better suited to a discussion

Describe the feature
A simple dbt compile run may take several minutes. I gather this is since the connectors are applied and things are verified for correctness (e.g. are the tables and columns referenced really are there). That's wonderful! But if I'm running the same dbt-compile multiple times, I'm willing to take the risk and assume nothing has changed. Hence I suggest a run mode in which whatever collected by the connectors gets cached, and I can reuse it instead of waiting 3 minutes every time I try to compile my model to Athena. Thanks!
Describe alternatives you've considered
Writing a jinja2 template rendered myself, and using jinja2 without dbt. Both did not work.
Who will this benefit?
DBT users compiling their queries to test (e.g. in the Athena console) and wishing not to spend hours waiting (it adds up!).
Are you interested in contributing this feature?
Not impossible if no one better is willing to!
Anything else?
No response

Hey @guyr-ziprecruiter!
First: Are you regularly running dbt compile for all the models in your project? If so, what's the reason why you're doing this? I wonder if you're running compile when a simple parse might do, or if you instead want to just do something like dbt compile --select specific_model.
As far as your proposal:

We already support an "unsafe" mode that disallows introspective queries against the data warehouse during compilation. It never makes a connection, but it will also fail gracelessly if you have code attempting to do this: dbt compile --no-introspect
The idea of caching DWH responses to use for subsequent queries is one that we've been experimenting with recently, for a different use case: our own testing/validation of dbt-core/adapters. We haven't documented this yet, because it's still in early development and far from stable — but it could offer some components that are extensible to what you're describing, or at least entry-points that might inspire your own implementation. We'll write more about this in the coming months.

Hello again!
I need the SQL query created by the model. So dbt parse is not applicable in my use case if I'm not mistaken.
I switched to --no-introspect:
$ dbt compile --no-introspect --profiles-dir=profiles/ --profile=athena --models foo

But it still took a couple of minutes. So seems like that's not what I was looking for.
Ideally I would like to work with no connector, just get the jinja templates to render and get my query back. Is that possible?
Thanks!

@guyr-ziprecruiter Thanks for giving it a try! In that case, I'm not sure what the source of slowness would be. Two questions:

How many --threads are you running dbt compile with?
How many models are being selected by --models foo?
If you take a look in the debug-level logs (logs/dbt.log), what does it look like dbt is spending most of the time doing?

Threads:

I'm not using --threads. My profiles.yml says 4 threads.
python -c 'from multiprocessing import cpu_count as cc;print(cc())' says 12.
This did seem to help a bit - thanks!
It might be nice if dbt compile would suggest an better number (if there is such a way to tell it).

How many models?

grep -c '{{ ref(' foo.sql gives 3. But how many models do these models refer, recursively? I can't tell. That might actually be a nice thing the tool can suggest.

Logs:

I executed:
$ dbt --debug --log-cache-events --log-path ~/dbtlogs/ compile \
     --threads 12 \
    --profiles-dir=profiles/ --profile=athena \
    --models itm_applies_revenue_attribution > /dev/null

and got me 55MB worth of logs (8.1MB gzipped). So let me get back to you about it :)
Again - a built in profiler seems like a worthy addition if these are the questions arising. I'll post my results soon. Thanks!

I wrote a dbt logs parser in Python (dbtlogs.py.txt) and came up with this:

action
estimated_duration
percent

dump after adding
0 days 00:00:04.261488
49.64%

adding relation
0 days 00:00:02.935445
34.19%

dump before adding
0 days 00:00:01.375737
16.02%

Connection
0 days 00:00:00.006651
0.08%

Timing info for model.main...
0 days 00:00:00.001911
0.02%

Sending event
0 days 00:00:00.001520
0.02%

Compiled node
0 days 00:00:00.001466
0.02%

Command
0 days 00:00:00.000737
0.01%

Concurrency
0 days 00:00:00.000382
0.0%

total
0 days 00:00:08.585337
100.0%

Not sure if this doesn't represent some kind of cached run where things happen faster.

That was actually pretty dumb of me, I could just --log-format json.
Or could I...?
Trying to run with --log-format json gives me:
Traceback (most recent call last):
  File "/Users/guyr/miniconda3/envs/sections/lib/python3.10/site-packages/dbt/events/functions.py", line 217, in msg_to_dict
    msg_dict = MessageToDict(
TypeError: MessageToDict() got an unexpected keyword argument 'including_default_value_fields'

During handling of the above exception, another exception occurred:
(repeat until `RecursionError: maximum recursion depth exceeded`)

Attached is the output file: dbt-log-json-format-stderr.txt.gz.
Since locale.getlocale(locale.LC_TIME) is mentioned, here's also the output for locale on my machine:
$ locale
LANG=""
LC_COLLATE="C"
LC_CTYPE="UTF-8"
LC_MESSAGES="C"
LC_MONETARY="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_ALL=

Thanks!

@guyr-ziprecruiter could you open a bug report for the "maximum recursion depth exceeded" you mentioned in https://github.com/dbt-labs/dbt-core/issues/10155#issuecomment-2127489585 ? That way we can handle that unexpected error separately than your feature request.
I gave dbt compile --log-format json a quick attempt using dbt-core==1.8.0 and dbt-postgres==1.8.0 and it worked fine, so it must be something specific to your versions and/or environment.

Will do. For the meantime, let me rephrase my question differently:
During a dbt compile run on my laptop, the connectors are used, making every call slow and pretty demanding. Is there a way whatever is collected by the connectors become cached, allowing to run a consecutive call (say 1 second after the first one finished) end much faster?

@dbeatty10 my versions seem to be:
$ pip list | grep -i dbt
dbt                               <IP_ADDRESS>.1
dbt-artifacts-parser              0.5.1
dbt-athena-community              1.5.1
dbt-core                          1.5.0
dbt-duckdb                        1.5.1
dbt-extractor                     0.4.1
dbt-semantic-interfaces           0.4.2
dbt-spark                         1.5.0
dbterd                            1.12.0
sqlfluff-templater-dbt            2.3.5

So I believe this bug has already been fixed - it's my bad working with older versions 🤷

Even a simple expansion such as
$ dbt compile --profile athena  --profiles-dir=profiles/ --inline '{{ source("foo", "bar") }}'

(real source(...) parameters replaced with foo, bar) takes 2 minutes :(

@guyr-ziprecruiter apologies for the long silence!
I had a chance to look at this briefly with @jtcohen6 today. These ones look related to the relational cache:

action
estimated_duration
percent

dump after adding
0 days 00:00:04.261488
49.64%

adding relation
0 days 00:00:02.935445
34.19%

dump before adding
0 days 00:00:01.375737
16.02%

Could you try using --no-populate-cache? Something else you could try: --cache-selected-only.


Fix navbar mobile responsive issue

When the navbar is displayed on mobile, there are some offset for the nav items and their font size is small

Fixed on PR #35


gui: add option to select just one path per endpoint in staGui

Adds to gui sta interface:

Option to just get one path per endpoint
Total number of endpoints

@maliberty this should help with #2697 proving the interface they will need

It looks fine but why not make it an integer?

It looks fine but why not make it an integer?

I thought about it, but decided to keep the interface a simplified. We could always change it later if desired.


Integrating Outerware (middleware post handler processing)

First off, thanks for building a flexible, yet simple router & middleware system.
I was wondering, though -- Do you have any thoughts on how I might go about implementing "Outerware" (often called output filters)?  Essentially, middleware that will get executed after the route handler gets processed?  You could imagine that for ever web request you serve, you want to have a standard way of recording stats for that request without having to put the code in each handler.  For instance:
type YourContext struct {
  startTime time.Time
}

func (c *YourContext) StartRequest(rw web.ResponseWriter, req *web.Request, next web.NextMiddlewareFunc) {
  c.startTime = time.Now()
  next(rw, req)
}

func (c *YourContext) EndRequest(rw web.ResponseWriter, req *web.Request, next web.NextOuterwareFunc) {
  fmt.Fprint(rw, "request_time=", time.Since(c.startTime), " request_url=", req.URL.Path)
  next(rw, req)
}

router := web.New(YourContext{})
router.Middleware((*YourContext).StartRequest)

router.Get("/users", (*YourContext).UsersList)
router.Post("/users", (*YourContext).UsersCreate)
router.Put("/users/:id", (*YourContext).UsersUpdate)
router.Delete("/users/:id", (*YourContext).UsersDelete)
router.Patch("/users/:id", (*YourContext).UsersUpdate)
router.Get("/", (*YourContext).Root)

router.Outerware((*YourContext).EndRequest)

You could also imagine this process would be useful for having the handlers prep the context with the output data, and a common outerware takes that data and generates the JSON response.  I think the alternative would be to call a common function at the end of every handler.  That solution just is not as flexible in terms of attaching different outerware to different routers and subrouters (not demonstrated in the above example).
Thanks!

If you just want to record some statistics after each request, just put it after the call to 'next' in your example.
If you want to mutate the result, don't pass the instance of 'web.ResponseWriter' to next. Create your own class implementing the interface and then do whatever you want when the result is written.

So, just to be clear, the control flow is:

All middleware next(rw, req) statements are run
When next items are done running, the routing kicks in and calls the handler code (for example, (*YourContext).UsersUpdate )
After that returns, any code in middleware after the next(rw, req) statement will get executed

Is that correct?
Thanks

Well bullet point #1 isn't really true in all circumstances. A piece of middleware could decide not to call next and just render a response itself, or it could decide to panic.
Other than that you have it correct.

Cool.  Thanks!


Acorn error preventing bundle

OS: macOS 10.13.4
Node: 8.10.0
fuse-box: 3.2.2
Hi all, I have just installed fuse-box for the first time to try it out however I am unable to bundle my code due to an Acorn error.
My fuse.js:
const { FuseBox } = require('fuse-box');

const fuse = FuseBox.init({
  homeDir: 'src',
  target: 'server@esnext',
  output: 'dist/$name.js'
});

fuse
  .bundle('app')
  .instructions('> index.ts');
fuse.run();

After running node fuse.js I get this in the output.
Acorn error: Invalid number (19:15)
File: /Users/rob/DEV/FuseProj/node_modules/extract-zip/node_modules/mkdirp/index.js

17
18      if (mode === undefined) {
19          mode = 0777 & (~process.umask());
20      }
21      if (!made) made = null;
22
23      var cb = f || function () {};

Am I missing something?
Thanks

@Robula how about .instructions('> [index.ts]'); that's how it should be with server

@nchanged Right you are! Thanks 😄


Train with Ckpts with Different Frames

Hi @LinB203 @qqingzheng @clownrat6 et al.,
may i ask What we should pay special attention to when resuming training from a checkpoint with a different temporal length, e.g. train 93 with a 29 ckpt (stage 5) or vice versa? The 93-frame model does not generate good 29-frame videos due to the use of positional embeddings. thx!

E.g., i found For training 29x480p_i2v from 93x480p_i2v with a stronger prior, the reconstruction capability can be adapted in just a few steps; and after about 100 steps, a certain degree of temporal video generation can be restored.


Copy-pasting plain text from VSCode adds formatting (color etc

VSCode Version:  1.28.2
OS Version: Windows 10

Steps to Reproduce:

Edit HTML file in VSCode, select some text then paste it into any wysiwyg editor (Gmail message box for example)
You will see formatting, like on the screenshot

Does this issue occur when all extensions are disabled?: Yes
See the screenshot. It should be plain text without black background and any colors.

This feature can be turned off by editor.copyWithSyntaxHighlighting


Dask major release (v1) plan?

Dask is getting quite mature now. Is there a plan for a major release (i.e. Dask v1.0.0)?

There are no short terms plans for this.  Does the current 0.x.x version number affect you in some way?

I am familiar with SemVer which states that version 1.0.0 defines the public API and until then the public API should not be considered stable.
Now that Dask is a dependency of Iris I am interested in any breaking changes to the API that may impact us, for example the change in dask v0.15 of moving dask.async to dask.local.
It would be nice to see a stable API so I just wanted to check if that was on your radar.

It is hard to define stability for a library with many differently evolving components.  Parts like dask.array are very stable while other parts, like the concurrent.futures task interface still change.  As a result using the SemVer definition is somewhat problematic for us.
Regarding dask.async to dask.local this was forced by changes within the Python language (async became a keyword and will be invalid in 3.7).  This is a good example of how a certain amount of stability is just out of our hands.

We mostly use dask.array so that should be okay.
Thanks for clarifying @mrocklin !

Informally dask.array is fairly stable and under enough use that any
significant API change would probably go under a standard deprecation
cycle.  We also tend to consult with notable downstream projects before
making these changes.
On Thu, Jul 13, 2017 at 10:03 AM, lbdreyer<EMAIL_ADDRESS>wrote:

We mostly use dask.array so that should be okay.
Thanks for clarifying @mrocklin https://github.com/mrocklin !
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/dask/dask/issues/2515#issuecomment-315105481, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AASszADxEB0UyxMFQYqW2_4SEHNl3NA-ks5sNjHJgaJpZM4OTJGs
.


Add Help section in documentation

Minor changes to the documentation.
Ping @kaaes

:shipit:

Did not know there was a hamster detective called Ship It.


Gated resource links within content should be ungated when cookie is set

If a link to the gated resource is present within the content and a cookie is set, the resource should be ungated for that user.
Example - https://1104--moleculardevices--hlxsites.hlx.page/lab-notes/cellular-imaging-systems/case-study-assay-ready-patient-derived-organoids-and-high-throughput-3d-imaging

@alexcarol @duynguyen @alinarublea lets this discuss this in a quick sync. This is more tricky as @duynguyen wrote the links are in the content and we would need to scan theoretically all links etc.

Rather than change the links, could we add logic on the gated pages to redirect if the cookie is set? Is there any reason why we're not doing that at the moment?

The gate pages don't now the ungatted page, it is the other way arround.
Even if they "don't know it", we're going to need some logic that finds the gated page based on the url (either as a link or in the page itself), so it doesn't look like we can't get around it. That said, rather than update the DOM, wouldn't it be simpler to redirect to the gated version if you should have access to it? (regardless of how you got there)

@alexcarol FYI ☝

@MeghnaTewari I'm trying to find the ungated version for the page linked in  https://1104--moleculardevices--hlxsites.hlx.page/lab-notes/cellular-imaging-systems/case-study-assay-ready-patient-derived-organoids-and-high-throughput-3d-imaging (the gated page is https://1104--moleculardevices--hlxsites.hlx.page/en/assets/ebook/dd/img/essential-guide-to-organoids-in-drug-discovery if i'm not mistaken), but I can't find the ungated version, does it still exist?

@alexcarol here is the ungated ebook pdf https://www.moleculardevices.com/sites/default/files/en/assets/ebook/dd/img/essential-guide-to-organoids-in-drug-discovery.pdf

@MeghnaTewari the issue is fixed in this branch, could you test it? https://issue-1143--moleculardevices--hlxsites.hlx.page
Note: the way it's solved is by making it so that when you enter a landing gated page you'll be redirected to the ungated version when the cookie is set. This does make it a bit tricky to test it, as in many cases the link takes you to the production site. In that case you will need to update the url manually on the browser with https://issue-1143--moleculardevices--hlxsites.hlx.page to be able to test it in this branch. Let me know if you have any questions.

@alexcarol Verfied. It looks good.


Validate Certification of Update Calls

Currently blocked by https://github.com/dfinity-lab/ic-ref/pull/90

Also see https://docs.google.com/document/d/1MJ4LUDJt_29xws36af78RKSfzui9PYKsT20nWVUhqig/edit#

JFTR: Seems to be worked on in https://github.com/dfinity/agent-rs/pull/70 and https://github.com/dfinity/agent-rs/pull/68

This is done, right?


InsecurePlatformWarning: A true SSLContext object is not available

I'm using Ubuntu 14.04, Python 2.7.9 :: Anaconda 2.2.0 (64-bit).
I have installed pip install pyopenssl ndg-httpsclient pyasn1
However, the warning persists when I tried to open a stream.

Well, I don't know how I can help you. It's an issue of a dependency of livestreamer itself, not the GUI.
This issue has already been discussed in #69
Are those packages installed correctly? What does pip list tell you?

Right, I realized that it's a livestreamer problem, not with your GUI. Those packages are installed correctly, as seen in pip list.
anh@anh-Latitude-E7240:~$ pip list
...
ndg-httpsclient (0.4.0)
pyasn1 (0.1.7)
pyOpenSSL (0.14)
...

I suppose if there's no further insight I'll try to install livestreamer with Python 3.x using virtualenv.

So I installed Python 3 with virtualenv and get livestreamer to work from the command line. However, livestreamer-twitch-gui keeps using the default Python. Is there a way to tell the GUI which Python to use?

The GUI is just invoking the livestreamer executable in your $PATH... Either set a custom livestreamer executable location in the GUI settings or change your $PATH.

To recap for other googlers:

Install livestreamer using virtualenv. See livestreamer docs
Go to livestreamer-twitch-gui > Settings > Livestreamer executable path > Point it towards your livestreamer executable.

Thank you for your help @bastimeyer!


PH-28 # LetsEncrypt for TLS certificates and HTTPS

Fixes #2
Added

PH-28: LetsEncrypt for TLS certificates and HTTPS (#4, @jokeyrhyme)

Code Review Notes

confirmed working by pointing tests at live deployment

new HTTPS features not yet covered by tests, although I did spend a while trying to figure out how best to approach this (didn't come up with anything easy)

lgtm :+1:


Screenshot problem with Mario & Luigi:Paper Jam Bros.

@44670 when taking screen shots it cuts off a section of the top screen making that area black then takes a section to the left of that black area and pastes it to the bottom screen shot this all happen on the right side of the screen.

I don't know if anyone can modified, but same problem with screenshots function in game like Luigi's Mansion 2, all Nintendogs games, Ace Combat
I make screenshots for all 3DS games for my website, exemple of screnshots

I think it may have fixed now.

So fixed in next release?

oh, I was wrong. The problem still exists and current it could be solved by setting hot-keys.

Nope setting hot keys does not solve it as it's still happening
On Tue, Apr 19, 2016, 3:45 AM 44670<EMAIL_ADDRESS>wrote:

Reopened #23 https://github.com/44670/BootNTR/issues/23.
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/44670/BootNTR/issues/23#event-632569941


Can I export a gpu-trained model to a cpu-only machine for serving/evaluation?

I trained a model on a GPU machine.
When l load such model on a cpu-only machine, I get the error below.

Thank you for any suggestions!

@vrv Could you take a look at this please? Do we have such support now? Thanks.

Yup, you can pass tf.ConfigProto(allow_soft_placement=True) to the tf.Session if you really want to ignore device placement directives in the graph.  I'm not a huge fan of using this option (I'd rather the graph be rewritten to strip out the device fields explicitly), but that should work.

Also, in the future, StackOverflow is the right place to ask these questions.


WooCommerce PDF Invoices & Packing Slips placeholders compatibility (#441) Fixe becomes Error :(

WooCommerce PDF Invoices & Packing Slips Premium Templates compatibility
The {{myparcel_delivery_date}} placeholder got left out in the 4.0 upgrade (while it was present in 3.x). I wasn't sure whether to place it in includes/compatibility/class-wcpdf-compatibility.php or includes/frontend/class-wcmp-frontend.php but since the former appears to be used specifically for the track & trace placeholders I opted for the latter. Might be good to bundle them all together in the compatibility class after all?
Several bugs in the other placeholder methods are also addressed.
Was adressed as FIXED, but now get this error when make a Pakbon:

This error arose due to the typehinting of string in the hooked function (source), which was introduced in #474 but not present in the original PR (#411). The wpo_wcpdf_templates_replace_{$placeholder} hooks first argument could be either null (default) or a string (if already filtered by another plugin).
In version 2.9.13 of WooCommerce PDF Invoices & Packing Slips Premium Templates this is now an empty string instead of null so that this does not require any changes in the MyParcel plugin.


How to predict a Single Image after Model is trained?

Hey,
Wonderful Repo!
I have trained a protoMAML network from scratch on food dateset. Model is trained.
SO now if I want to predict a single Image, so that to ask it falls into which category, there is no way described in the notebook to do that?
Can you please let me know how can I do that?
In short, I have trained on 81 classes of food and now I want to pass an Image and see how model gives confidence accuracy (TOP -5).
Please Help!

Hi, a trained ProtoMAML model is different from standard classification models by the fact that it represents rather a parameter initialization than a final model. In other words, ProtoMAML and any other optimization-based meta-learning method is designed to be finetuned on a small test set / support set before evaluating its classification performance. In your case, you can take the trained ProtoMAML model and finetune it on a batch of all 81 classes, similar to what is done for the test set in the test_protomaml function. After that, you use the finetuned model to predict the classification output on your new image.

Great. Thank you so much! Let me try that and come back.


Implement Committees Page

Resolves #91

This pull request introduces a new Committees page to the application, along with several related updates. The changes include adding the Committees page to the routing, modifying components to support the new page, and making minor style adjustments.

I've just also added coverage thresholds for jest as we want to keep our test coverage on a decent level.
Could you add committees pages tests similar to projects page?

Sure I will do it and update the PR

I have added the tests and also made the suggested changes:

@kasya
I have updated the social icons and added social.length > 0 validation as well.
Thanks for reviewing my code.

@harsh3dev could you look into the new pre-commit warnings we have?
Thank you!

@arkid15r I have handled the warnings.
@kasya Please have a look at the changes I made as you have suggested.
Thank You


Scaling error for SUM and COUNT

I created a scramble table with uniform sampling and fraction 0.1 for tpch1g. However, for tpch Q1, the results are as follows:

For SUM and COUNT, the answers are affected by the fraction I chose.
Do I have to scale the verdict answer by 10 to get the real AQP answer?

No, this is not supposed to happen.
Can you kindly post what queries you have issued for creating scramble tables and issuing queries?

Create lineitem_scramble
CREATE SCRAMBLE tpch1g.lineitem_scramble FROM tpch1g.lineitem method uniform ratio 0.1 blocksize 6002;

and Q1
select
    l_returnflag,
    l_linestatus,
    sum(l_quantity) as sum_qty,
    sum(l_extendedprice) as sum_base_price,
    sum(l_extendedprice * (1 - l_discount)) as sum_disc_price,
    sum(l_extendedprice * (1 - l_discount) * (1 + l_tax)) as sum_charge,
    avg(l_quantity) as avg_qty,
    avg(l_extendedprice) as avg_price,
    avg(l_discount) as avg_disc,
    count(*) as count_order
from
    lineitem
where
    l_shipdate <= date '1998-12-01' - interval '66' day
group by
    l_returnflag,
    l_linestatus
order by
    l_returnflag,
    l_linestatus

I'm using Spark and have a spark job for testing it.

Can you also tell me the verdictdb version you included?
I think now the verdict query must include the scramble table itself, not the original table name. It’s unexpected that the table replacement is still performed.
We will check the details tomorrow btw since it’s midnight here.

It's verdict core 0.5.8.
Sorry I forgot to include the scramble table so I re-edit it above.
I also notice for some other TPCH queries (such Q4), the answers need to be scale by 100. It might because there are joins over two sum/count columns. I'm going to have a look.
Tomorrow is fine. Have a good night.

I see the reason. I accidentally dropped the VerdictDB metadata ...


get_labels call not returning the has_winning field

This was introduced after fixing the 500 error on the get labels call. The JSON data coming back from the call is not including has_winning property anymore, which is needed for building the dropdown (it adds a class on each option element)
@kaimikacolin The bug is part of the release/20210825 branch, so please create a branch off of that to correct the issue

@kaimikacolin My initial fix corrected the name of the label in the dropdown, but I'm still getting some cases where the dropdown is showing a bunch of "undefined"s


OdooCommand#callObjectFunction returns new class Response

Response wraps either a successful or failed call, indicated by
#isSuccessful().
In case of success, actual response can be obtained "as is" with
#getResponseObject() or as an array with #getResponseObjectAsArray().
The latter will either cast the response object as an array of objects if
it is an instance of one, and wrap the response object in a new array
otherwise.
In case of failure, the error cause can be accessed with
#getErrorCause().
Also some code cleaning and refactoring.
Finally got to rename OpeneERPApiException to OdooApiException and
OpenERPCommand to OdooCommand.
This fixes #7 by providing requested enhancement.

Please review changes and merge if accepted.


Fix the path for the RLE director template

following changes to the folder naming, this path needs to be corrected to allow it to locate the template
re IDVA3-1250

CI: No security warnings found


python38Packages.PyICU: 2.7.4 -> 2.8

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python38Packages.PyICU is: "Python extension wrapping the ICU C++ API"
meta.homepage for python38Packages.PyICU is: "https://github.com/ovalhub/pyicu/"
meta.changelog for python38Packages.PyICU is: ""
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS

Warning: a test defined in passthru.tests did not pass

0 of 0 passed binary check by having a zero exit code.

0 of 0 passed binary check by having the new version present in output.

found 2.8 with grep in /nix/store/zkj1l0bk8g4x4p5ziad7mkvqwl26cz9a-python3.8-PyICU-2.8

found 2.8 in filename of file in /nix/store/zkj1l0bk8g4x4p5ziad7mkvqwl26cz9a-python3.8-PyICU-2.8

Rebuild report (if merged into master) (click to expand)

48 total rebuild path(s)

12 package rebuild(s)

12 x86_64-linux rebuild(s)
12 i686-linux rebuild(s)
12 x86_64-darwin rebuild(s)
12 aarch64-linux rebuild(s)

First fifty rebuilds by attrpath
gramps
python38Packages.PyICU
python38Packages.fingerprints
python38Packages.normality
python38Packages.scancode-toolkit
python38Packages.slob
python39Packages.PyICU
python39Packages.fingerprints
python39Packages.normality
python39Packages.scancode-toolkit
python39Packages.slob
xdxf2slob

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/zkj1l0bk8g4x4p5ziad7mkvqwl26cz9a-python3.8-PyICU-2.8 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A python38Packages.PyICU https://github.com/r-ryantm/nixpkgs/archive/5eb14c27a6cb58d5985d0ec97ccde0e1588b7406.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/zkj1l0bk8g4x4p5ziad7mkvqwl26cz9a-python3.8-PyICU-2.8
ls -la /nix/store/zkj1l0bk8g4x4p5ziad7mkvqwl26cz9a-python3.8-PyICU-2.8/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

12 packages built:

gramps
python38Packages.PyICU
python38Packages.fingerprints
python38Packages.normality
python38Packages.scancode-toolkit
python38Packages.slob
python39Packages.PyICU
python39Packages.fingerprints
python39Packages.normality
python39Packages.scancode-toolkit
python39Packages.slob
xdxf2slob

Maintainer pings

@GrahamcOfBorg build python3Packages.normality

normality tests were fixed in a recent upgrade https://github.com/NixOS/nixpkgs/pull/146211


Program crashes after disposing

I have an issue / a question (pick one) about Vlc.DotNet.
Generic information

Vlc.DotNet version : <IP_ADDRESS>
Vlc.DotNet project used :
libvlc version : VLC Nightly 4.0.0-20190304 (x86), https://nightlies.videolan.org/build/win32/vlc-4.0.0-20190304-0247/
EDIT: Just tried the same thing with VLC 3.0.6 (x86, http://ftp.videolan.org/pub/videolan/vlc/3.0.6/) and I can confirm it happens here too.
.net version : 4.7.2
Project language : C# (WinForms)
Project build architecture : Any CPU
Operating system : Windows 8.1 Pro (x64)

Summary
(What happens, when, how? Steps to reproduce (with sample codes))
When disposing a VlcControl the application crashes, but the debugger doesn't catch the exception.
I do get this in the output:
The program '[2864] MediaPlayer.exe' has exited with code -1073741819 (0xc0000005) 'Access violation'.
The application is basically a interface to a server with media files. It allows the user to select a file on the server, and play it back on the user's machine. This piece of code is the code I use to get rid of the control:
foreach (Control c in panel1.Controls)
            {
                if (c is VideoPlayer)(VideoPlayer is just a UserControl with a few button controls and a trackbar)
                {
                    VideoPlayer vlchost = c as VideoPlayer;
                    vlchost.vlc.Pause();
                    vlchost.vlc.Dispose();
                }
                c.Dispose();
            }

[X] I confirm that my issue doesn't happen in VLC itself.

Please try with the 3.0-develop version

Tried compiling the 3.0-develop version, that worked. But now as soon as I set the VlcLibDirectory I get this exception:
System.IO.FileLoadException: 'Could not load file or assembly 'Vlc.DotNet.Core, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=84529da31f4eb963' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)'

Inner Exception
FileLoadException: Could not load file or assembly 'Vlc.DotNet.Core, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=84529da31f4eb963' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

you don't need to build it, it's already on nuget, just check the "include prereleases" box

Got the 3.0 version to work. The application doesn't crash now but instead it locks up

are you calling Dispose or any other Vlc.DotNet method from a callback? if so, I invite you to read the wiki page about that

Ok, read the wiki. I queued the Dispose method but that just gave me another runtime error:

I also noticed the following in the console:
[111e23b0] avcodec decoder error: more than 25 frames of late video -> dropping frame (computer too slow ?) 20 times
[h264 @ 111fd040] co located POCs unavailable
[h264 @ 1121eb40] co located POCs unavailable
[111e23b0] avcodec decoder error: more than 25 frames of late video -> dropping frame (computer too slow ?) 20 times
[h264 @ 111fd040] co located POCs unavailable
[h264 @ 1121eb40] co located POCs unavailable
[111e23b0] avcodec decoder error: more than 36 frames of late video -> dropping frame (computer too slow ?) 20 times
[h264 @ 111fd040] co located POCs unavailable
[h264 @ 1121eb40] co located POCs unavailable
[111e23b0] avcodec decoder error: more than 52 frames of late video -> dropping frame (computer too slow ?) 20 times
[h264 @ 111fd040] co located POCs unavailable
[h264 @ 1121eb40] co located POCs unavailable
[111e23b0] avcodec decoder error: more than 67 frames of late video -> dropping frame (computer too slow ?) 20 times
[h264 @ 111fd040] co located POCs unavailable
[h264 @ 1121eb40] co located POCs unavailable
[111e23b0] avcodec decoder error: more than 83 frames of late video -> dropping frame (computer too slow ?) 20 times
[h264 @ 111fd040] co located POCs unavailable
[h264 @ 1121eb40] co located POCs unavailable
[111e23b0] avcodec decoder error: more than 99 frames of late video -> dropping frame (computer too slow ?) 20 times
[h264 @ 111fd040] co located POCs unavailable
[h264 @ 1121eb40] co located POCs unavailable
I think it might be a bug in libvlc because both my project and Vlc.DotNet aren't written in C++

Are you doing long work in a Vlc.DotNet callback, like writing logs into a file synchronously? if not, can you share your code?

No logging, but what code do you want :)

A simple reproduction case so that I can see what's wrong.
Late frame issues indicate that something slows libvlc down, and in my experience, this is usually caused by a long-running libvlc callback or event.

Just realized how junk my code is. Almost every bit of code is ran in a different thread and there are a million invokes! Gonna clean up my code before bothering you.

Ok
Here's the VideoPlayer class:
https://pastebin.com/MQ28sLwZ
And the MainForm class:
https://pastebin.com/JQY3cqpK

Your handler for PositionChanged seems like a good culprit. Can you comment it out and try again?
Specifically, you're waiting synchronously for the main thread to update the view, and by doing so, you're blocking the libvlc thread

Wow, that worked, but only the first time.
I'm getting this exception (but it's on the same thread?):

where's your .Invoke() that you had a. few messages ago?

Do you see the big Invoke on the VideoPlayer class? All of those functions were seperate invokes. I just turned it into one big invoke

And it's on a seperate thread because the http_uri variable is actually just an api request link, so I first execute that api request, get the url and with set the http_uri variable to the direct http url

You're calling closeVlc from the thread pool, you must come back to the main thread to dispose it properly, so the invoke is needed

This is the new closeVlc method:
this.Invoke(new Action(() =>
{
    VideoPlayer vlc = StateInfo as VideoPlayer;
    vlc.vlc.Dispose();
    vlc.Parent.Dispose();
}));

It just freezes the application.

Please publish the full code on a github repo so that I can clone the project and see myself. I will look at it later

Okay!

Solved by actually aborting the thread of VideoPlayer

Solved by actually aborting the thread of VideoPlayer

How did you solve the problem? Can you share your solution？


Add more union schemas

Adds two new schemas for unions: literalUnion for creating a union of any number of literal values, and multiUnion for constructing a union from more than two trivial schemas (this previously required nesting the union function).
multiUnion is a bad placeholder name and I welcome suggestions about what that function should be called.

I'm a fan of unionMany in place of multiUnion. I'm not sure what to call literalUnion in keeping with that convention, though; literalUnionMany?

Thanks! I'll probably rename all of the union combinators soon and maybe namespace them (union and unionOf were truly terrible names), but this is great for now :)


TSkPath.Contains() does not work properly in some situations

We use Delphi 12 Enterprice on Windows 10 with the build in Skia4Delphi.
When using SkPath.TightBounds.Contains(), a False is returned in most situations. If you change the endpoint in CubicTo, SkPath.TightBounds.Contains() works reasonably well. The function cannot be used with straight lines. The value of "Stroke.StrokeWidth" appears to be independent of the calculation.

Height or Width on TightBounds, depending on whether horizontal or vertical is 0.

@KaitoNakamura This is how the SkPath works on Google Skia. I recomend you to use the SkRegion to considere the stroke width. Take a look on this example: https://gist.github.com/viniciusfbb/df9c4d57102514faf105d2dddcd8d122
https://github.com/skia4delphi/skia4delphi/assets/11139086/88f262d0-c026-48e8-a655-63184ab055c2


Async Image Setting

Issue #4

Support getting and downloading Cropped Images from remote url(server). All works can be done asynchronously.

Sub Issue

Give Setting Background Image options.

local URL
remote URL

It's as good as bringing tile photos asynchronously.


Remove references to 'testing' extra removed in 1.35

PR Checklist

[X] Have you followed the guidelines in CONTRIBUTING.md?
[ ] Have you got 100% test coverage on new code?
[ ] Have you updated the prose documentation?
[ ] Have you updated the reference documentation?

Fixes #997
This is an extension of the work done in #705

Sorry for the status check noise

@all-contributors add @rgajason doc


TextInput autoFocus can crash app without error message

Description
This works fine everywhere in our app, except one place under one set of circumstances. The issue persists even we import the component directly from react-native rather than using our own pre-configured version, and even if we remove every other prop from the TextInput.
Unfortunately this is not something we can provide a repro for since we've only been able to trigger it in this single instance.
Before the crash we get this deprecation notice, although I think it's unrelated as we see it when there's no crash also.
currentlyFocusedField is deprecated and will be removed in a future release. Use currentlyFocusedInput
I do not believe this issue has been reported before, so I believe it is probably unresolved in the latest version unless it was fixed by chance.
React Native version:
0.63.2 (via Expo)
Steps To Reproduce
Add autoFocus to an input, but I don't know what else.
It's the first screen to load in our app, and it only crashes the app under specific circumstances (none of which are remotely related to the text input, and the bug persists even if we unlink all logic from the input. There's no competing elements with autoFocus applied.
Expected Results
autoFocus focuses the TextInput and doesn't crash the app.

Weirdest thing, upon re-testing this for a third time, it seems this may not be an issue with the TextInput, though I'm baffled about why for my first two tests it seemed to fix everything to remove autoFocus.


Make RequestPlatformInhibition public.

This was implemented previously, but having it protected is annoying. Public is more convenient.

You can test this PR using the following package version. 11.0.999-cibuild0030283-beta. (feed url: https://pkgs.dev.azure.com/AvaloniaUI/AvaloniaUI/_packaging/avalonia-all/nuget/v3/index.json) [PRBUILDID]

I dont think we follow the rule of public members first really anywhere. So moving the method like this makes such a simple change larger than if needs to be in the commit history and for review. I would not move the method, just make the existing one public.

Yes, we don't really follow ordering, especially in files like this which were modified hundreds of times. So, it wouldn't be a big deal.
But this file specifically happens to be actually ordered in case of public methods, except of InvalidateMirrorTransform one. Even though is mixed with explicit interface implementations.

You can test this PR using the following package version. 11.0.999-cibuild0030323-beta. (feed url: https://pkgs.dev.azure.com/AvaloniaUI/AvaloniaUI/_packaging/avalonia-all/nuget/v3/index.json) [PRBUILDID]


Any interest in adding a format string function?

It takes a string and an object, and returns a formatted string:
String -> Object -> String
// basic
R.format('Hello {0}!', ['World'])

// curried
var hello = R.format('Hello {0}!')
hello(['World'])

// with objects
R.format('Welcome {name}', {name: john})

String placeholders are also an alternative, something like % or ? but I see the micro-template style {key} more flexible because values can be repeated, example:
var msg = 'Error in "{0}" function, read more at http://project.com/docs/api/{0}.html'
R.format(msg, ['createComponet'])

//Error in "createComponet" function, read more at http://project.com/docs/api/createComponet.html

Another advantage of the micro-template style is that allows to select both, object properties and numeric indexes.
Any thought on this?

This is essentially simplified sprintf? I can see the utility of it, but I am doubtful that it belongs in the core lib.

A real life example, the code in https://github.com/ramda/ramda/blob/master/scripts/build#L125-L143 The lambda used as transformer in R.cond:
function(ast) {
    abort('Dependency declared with different variable name: `' +
      ast.id.name + '` & `' +
      ast.init.arguments[0].value +
      '` in ' + ast.loc.source
    );
  }

could be refactored using R.format like:
R.pipe(
    R.juxt([
        R.path(['id', 'name']),
        R.path(['init', 'arguments', '0', 'name']),
        R.path(['loc', 'source']),
    ]),
    R.format('Dependency declared with different variable name: `{0}` & `{1}` in {2}'),
    abort
)

For these simple cases using ES6 template literals wrapped in a function is enough.
If you want to add custom formatting for different types and common formats for numbers, I think it will be outside of Ramda's scope.

For these simple cases using ES6 template literals wrapped in a function is enough.

ES6 template literals are not reusable outside of a function, because the are literals, hence statically evaluated. It is possible to use it with a dynamic context but needs to wrap it inside a function as you refer above.
R.format or R.sprintf makes it possible to evaluate it lazily, which looks more useful in cases when the template is treated as data, example:
// formated strings as data, from file system, db, config, networking, etc..
var mails = {
    candidate: 'Hello {0}, We liked your application and we want to see you in action....',
    rejected : 'Hello {0}, We are not interested in your skill set for now. Thank you very....',
}

// some data to iterate over
var candidates = [
    {
        fullName: 'John Doe',
        email<EMAIL_ADDRESS>    },
    {
        fullName: 'Peter Pan',
        email<EMAIL_ADDRESS>    },
]

// mock, just log
var sendMail = (email, msg) => console.log(email, msg)

// example usage
var mailCandidates = R.forEach(R.converge(
        sendMail, [
            R.prop('email'),
            R.pipe(R.prop('fullName'), R.format(mails.candidate)) ]))

// run
mailCandidates(candidates)

The only way ES6 template literals can be treated as data is by using eval but is hacky.

I favour leaving this to string-format and other similar libraries.


Enhanced Card Shadows and Button Hover Effects

#9
Description
I improved UI by adding shadow for cards and hover effect for buttons
Related Issue
Fixes UI #9
Type of change

[1] Added shadow effect to the cards in the 'How to Join BioTree' section.
[ 2]Implemented a hover effect on the buttons.

Checklist

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[ ] I have commented on my code, particularly in hard-to-understand areas
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules

why it is not approved?


upgrade node-engine, in package.json

Coverage remained the same at 100.0% when pulling 4e281d5eb8b3fe085430c85df2600f2417e3b8cd on update-node-engine-in-package-json into d821c2903264b81734ce9979e608e319e9b62cee on master.


Fix for Windows 10 DNS Leak

The patch includes an update to the OpenVPN server config to
address a DNS leak when using Windows 10, as documented at:
https://community.openvpn.net/openvpn/ticket/605

Thanks!

Thank you.


Can't compile CommandCenter with last precompiled libs

While trying to compile CommandCenter either in debug or release mode, I have got massive errors with multiple C/C++ Optimizing Compiler crashes. I could compile CommandCenter with the previous precompiled libs (but couldn't run the executable though).

We just updated the precompiled lib package to 3.17. Can you redownload it and test it again?

Closing this to keep out issues clean. If you retest and find it is still broken, feel free to reopen this.


webhooks/jira: Use dictionary to map events to functions.

This PR restructures the JIRA webhook code.
@eeshangarg Please review and let me know.

@eeshangarg Just updated! Please review.

@eeshangarg I went through all of the lib.test_classes and later found out that that particular event was listed in IGNORED_EVENTS.
Please review.

@sameerchoubey: Thanks for working on this! Merged, after making a minor change to the mypy declaration for content. :)


New version: RemNote.RemNote version 1.14.13

Created by 🥟 Dumplings in Run #3552.
Microsoft Reviewers: Open in CodeFlow

URL: https://download.remnote.io/remnote-desktop/RemNote-1.14.13-Setup.exe
Status Code: 200
(Automated message - build 861)

Automatic Validation ended with:

URI: https://www.remnote.com/terms_of_service, Validation result: Failed, Http status code: NotFound
URI: https://www.remnote.com/disclaimer, Validation result: Failed, Http status code: NotFound
URI: https://download.remnote.io/remnote-desktop/RemNote-1.14.13-Setup.exe, Validation result: Passed

(Automated response - build 861.)


Unable to inject ngMap: Error: [$injector:unpr] Unknown provider: ngMapProvider <- ngMap <- LayerHeatmapCtrl

I added ngMap as a dependency to my app, however, I keep getting this error:

Error: [$injector:unpr] Unknown provider: ngMapProvider <- ngMap <- LayerHeatmapCtrl

I am not sure how else to define ngMap. Please provide assistance as soon as possible.

There is lots of example at ngmap.github.io

Thank you. However, I am unsure what you mean.
I'm using your layer-heatmap.html.
I've defined ngMap as a dependency in my app: "angular
.module('lima.controller', ['pusher-angular', 'ngMap']);".
In my controller, I have: "LayerHeatmapCtrl.$inject = ['$scope', 'ngMap', 'tweetData', 'Search'];
function LayerHeatmapCtrl($scope, NgMap, tweetData, Search) {...}".
I've also included "ng-map.min.js" in my script.
Do you happen to know what's causing that error?

Take a look at this example, which is "Run in plunker" clicked from this url, http://ngmap.github.io/#/!layer-heatmap.html
http://plnkr.co/edit/PKSbv5?p=preview


MMA removal tool LogAnalyticsAgentUninstallUtilityScript.ps1 throws error when running GetInventory on Arc machines

Link to the document - MMA Discovery and Removal Utility - Azure Monitor | Microsoft Learn
When running .\LogAnalyticsAgentUninstallUtilityScript.ps1 GetInventory, the following error messages are printed:
ERROR: the following arguments are required: --resource-group/-g

Cannot get the Arc server list
Transcript stopped, output file is C:\...\LogAnalyticsAgentUninstallUtilityScriptLog.log

The line causing this error is as following:
https://github.com/MicrosoftDocs/azure-docs/blob/155f2c963fb4fb46026dbf5a83c36bd7f6abae1e/articles/azure-monitor/agents/azure-monitor-agent-mma-removal-tool.md?plain=1#L78
According to the AzCli docs, it seems that --resource-group ... is required when querying for a list of Arc machines with az connectedmachine list. This is not the case for az vm list or az vmss list, which makes argument --resource-group optional thus does not produce the same error.
The AzPowershell equivalent Get-AzConnectedMachine does not require specifying the resource group to list all Arc-enabled VMs. Maybe this could be an AzCli issue?
Many thanks
Document Details
ms.topic: conceptual
author: guywi-ms
ms.author: @guywi-ms
ms.reviewer: jeffwo
ms.date: 07/30/2024

@Kat-nya
Thanks for your feedback! We will investigate and update as appropriate.

@Kat-nya
For an issue like this, I'd recommend you reach support team create a support ticket
since the support team will be able to respond much more quickly and have a conversation with you to figure out what could be going on.

@Kat-nya
Thanks for your feedback and your contribution to Azure docs.
Feedback for this repository is moving away from GitHub to a system specific to the Microsoft Learn platform. Issues for this repository will soon be disabled, and additional comments from GitHub will no longer be possible. However, we are now tracking and triaging this issue in the new feedback system.
To learn more about our feedback systems, please see Provide feedback for Microsoft Learn content.

@Kat-nya
We are going to close this thread, if there are any further questions regarding the documentation, please tag me in your reply and we will be happy to continue the conversation.

We looked at this and it seems the az connectedmachine list command will work without specifying the resource group. I tested it and it worked on my machine.
To double check this, can you try running this on powershell on your machine and see If it returned any errors
az connectedmachine list --query "[].{ResourceId:id, ResourceGroup:resourceGroup, ServerName:name}" | ConvertFrom-Json

Thanks for your reply. I attempted to run the above commands on both my local machine and the Cloud Shell, both of which printed the error messages below:
PS /home/kat> az connectedmachine list --query "[].{ResourceId:id, ResourceGroup:resourceGroup, ServerName:name}" | ConvertFrom-Json
ERROR: the following arguments are required: --resource-group/-g

Examples from AI knowledge base:
az connectedmachine list --resource-group myResourceGroup az connectedmachine list
Sample command for list

https://aka.ms/cli_ref
Read more about the command in reference docs

A more verbose output (with the `--debug` flag on) is shown as below:
kat [ ~ ]$ az connectedmachine list --debug --query "[].{ResourceId:id, ResourceGroup:resourceGroup, ServerName:name}"
cli.knack.cli: Command arguments: ['connectedmachine', 'list', '--debug', '--query', '[].{ResourceId:id, ResourceGroup:resourceGroup, ServerName:name}']
cli.knack.cli: __init__ debug log:
Enable color in terminal.
cli.knack.cli: Event: Cli.PreExecute []
cli.knack.cli: Event: CommandParser.OnGlobalArgumentsCreate [<function CLILogging.on_global_arguments at 0x7f4a1d244160>, <function OutputProducer.on_global_arguments at 0x7f4a1d15ed30>, <function CLIQuery.on_global_arguments at 0x7f4a1d0f5310>]
cli.knack.cli: Event: CommandInvoker.OnPreCommandTableCreate []
cli.azure.cli.core: Modules found from index for 'connectedmachine': ['azext_connectedmachine']
cli.azure.cli.core: Loading command modules:
cli.azure.cli.core: Name                  Load Time    Groups  Commands
cli.azure.cli.core: Total (0)                 0.000         0         0
cli.azure.cli.core: These extensions are not installed and will be skipped: ['azext_next']
cli.azure.cli.core: Loading extensions:
cli.azure.cli.core: Name                  Load Time    Groups  Commands  Directory
cli.azure.cli.core: ai-examples               0.162         1         1  /usr/lib/python3.9/site-packages/azure-cli-extensions/ai-examples
cli.azure.cli.core: connectedmachine          0.149         7        14  /home/kat/.azure/cliextensions/connectedmachine
cli.azure.cli.core: Total (2)                 0.311         8        15
cli.azure.cli.core: Loaded 8 groups, 15 commands.
cli.azure.cli.core: Found a match in the command table.
cli.azure.cli.core: Raw command  : connectedmachine list
cli.azure.cli.core: Command table: connectedmachine list
cli.knack.cli: Event: CommandInvoker.OnPreCommandTableTruncate [<function AzCliLogging.init_command_file_logging at 0x7f4a1c5ba280>]
cli.azure.cli.core.azlogging: metadata file logging enabled - writing logs to '/home/kat/.azure/commands/2024-09-04.01-53-20.connectedmachine_list.5469.log'.
az_command_data_logger: command args: connectedmachine list --debug --query {}
cli.knack.cli: Event: CommandInvoker.OnPreArgumentLoad [<function register_global_subscription_argument.<locals>.add_subscription_parameter at 0x7f4a1c557e50>]
cli.knack.cli: Event: CommandInvoker.OnPostArgumentLoad []
cli.knack.cli: Event: CommandInvoker.OnPostCommandTableCreate [<function register_ids_argument.<locals>.add_ids_arguments at 0x7f4a1c57de50>, <function register_cache_arguments.<locals>.add_cache_arguments at 0x7f4a1c519d30>]
cli.knack.cli: Event: CommandInvoker.OnCommandTableLoaded []
cli.knack.cli: Event: CommandInvoker.OnPreParseArgs []
urllib3.connectionpool: Starting new HTTPS connection (1): app.aladdin.microsoft.com:443
urllib3.connectionpool: https://app.aladdin.microsoft.com:443 "GET /api/v1.0/suggestions?query=%7B%22command%22%3A+%22connectedmachine+list%22%2C+%22parameters%22%3A+%22--query%22%7D&clientType=AzureCli&context=%7B%22versionNumber%22%3A+%222.63.0%22%2C+%22errorType%22%3A+%22MissingRequiredParameters%22%2C+%22correlationId%22%3A+%22[correlationId redacted]%22%2C+%22subscriptionId%22%3A+%22[subscriptionID redacted]%22%2C+%22eventId%22%3A+%22[eventID redacted]%22%7D HTTP/1.1" 200 None
cli.azure.cli.core.azclierror: NoneType: None

cli.azure.cli.core.azclierror: the following arguments are required: --resource-group/-g
az_command_data_logger: the following arguments are required: --resource-group/-g

Examples from AI knowledge base:
az connectedmachine list --resource-group myResourceGroup az connectedmachine list
Sample command for list

https://aka.ms/cli_ref
Read more about the command in reference docs
cli.knack.cli: Event: Cli.PostExecute [<function AzCliLogging.deinit_cmd_metadata_logging at 0x7f4a1c5ba4c0>]
az_command_data_logger: exit code: 2
cli.__main__: Command ran in 0.678 seconds (init: 0.164, invoke: 0.514)
telemetry.main: Begin splitting cli events and extra events, total events: 1
telemetry.client: Accumulated 0 events. Flush the clients.
telemetry.main: Finish splitting cli events and extra events, cli events: 1
telemetry.save: Save telemetry record of length 4033 in cache
telemetry.main: Begin creating telemetry upload process.
telemetry.process: Creating upload process: "/usr/bin/python3.9 /usr/lib/az/lib/python3.9/site-packages/azure/cli/telemetry/__init__.py /home/kat/.azure"
telemetry.process: Return from creating process
telemetry.main: Finish creating telemetry upload process.

@Kat-nya
Thank you for bringing this to our attention.
I've delegated this to content author, who will review it and offer their insightful opinions.

This issue has been moved to an internal work item for triage and prioritization. Thank you in advance for your understanding as we investigate to provide the most accurate documentation updates. #please-close
Internal work item: LogAnalyticsAgentUnistallUtilityScript.ps1 not working as expected
Our support team is available to assist you with any pressing questions or problems that need to be resolved. You can create a support ticket by visiting https://azure.microsoft.com/support/create-ticket/.


Fix MessageLost native methods names causing loading issues

This should fix the last CI test failure :crossed_fingers:
I probably broke the names before merging the original PR ...
I'm not sure what happened here

All tests are passing now, CI is still red because some build warnings.


added dev mode, and some folder cleanup after creation

@pslobo please review. These should be the last changes before creating the installer.

@pslobo please test just by getting the commit and running the command. it should not be necessary to change anything

Seems to be working ok from my tests.


Ctrl+V -> Shift+G not working properly

Entering block selection and then jumping to the end of the document (Ctrl+V, Shift+G) enters visual block mode and then switches to visual mode when you hit Shift+G. It should just select the current column width down to the bottom-most applicable line.

As stated in the README, this package is no longer maintained and is deprecated. We recommend that people use the vim-mode-plus package instead. Because of this, we are archiving this repository and closing all issues and pull requests. Thanks very much for your support and contributions!