Escape comments to allow for punctuation

Without escaping comments via mysql_escape_string, quotation marks and apostrophes kill comments.

This is fixed in v2.2.2.  Thanks!


feat: Support readonly arrays

fixes prisma/prisma#15815

I've tested this by simply modifying my generated Prisma client file. The following code now works:
async function findProductsByRestaurant (restaurantIds: readonly string[]): Promise<Product[]> {

  // The following row previously complained that `readonly string[]` cannot be passed to `Enumerable<string>`
  const rows = await postgres.product.findMany({ where: { restaurantId: { in: restaurantIds } } })

  return restaurantIds.map(id => rows.filter(row => row.restaurantId === id))
}

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Serve files from a location other than /api

I understand that architecturally, having an /api directory can be nice, but it should be possible to run serverless functions in other paths as well. Is this a limitation of vercel, or something this library could resolve?

This is a required convention on how Vercel runtimes work. If you'd want this behavior to change it's best you file an issue in the CLI repo: https://github.com/vercel/vercel.


Mongoose Traveler: 2E Sheet & Dark Mode

The roll templates used seem to hardcode some color choices. This results in the roll values (the results) being unreadable in Dark Mode on Roll20. The rest of the templates that I've seen look ok, but the rolls are unreadable. I'll try and include an image. I noticed that the sheet was updated 2 weeks ago so someone might know how to fix this. :-) I really prefer running in Dark Mode and, frankly, an rpg that's set mostly in space is cool in Dark Mode. :-) Anyway, if someone knows how to fix this, I'd appreciate it.

I like the addition of the “Notes” tab, so thank you for that.
However, the issue with Dark Mode has not been fixed:

On Aug 2, 2023, at 12:47 PM, Coryphon @.***> wrote:
I have just updated this character sheet, mostly aesthetic layout changes, but some bug fixes. I think this should have improved, but I will check it again
—
Reply to this email directly, view it on GitHub https://github.com/Roll20/roll20-character-sheets/issues/11972#issuecomment-1662575219, or unsubscribe https://github.com/notifications/unsubscribe-auth/AGIRZ3IGMXRKPY6INJCAN7LXTKACVANCNFSM6AAAAAAZ6BZLAU.
You are receiving this because you authored the thread.

--
Saul Jaffe
@.***
“Together, we must remove the physical barriers we have created and the social barriers that we have accepted. For ours will never be a truly prosperous nation until all within it prosper.”
President George Bush
upon signing the Americans with Disabilities Act
July 26, 1990

I will look into that and make a fix as soon as I can, is it just the dice rolls that are an issue?

I think that’s all I encountered.
Thanks.

On Aug 2, 2023, at 1:16 PM, Coryphon @.***> wrote:
I will look into that and make a fix as soon as I can, is it just the dice rolls that are an issue?
—
Reply to this email directly, view it on GitHub https://github.com/Roll20/roll20-character-sheets/issues/11972#issuecomment-1662636529, or unsubscribe https://github.com/notifications/unsubscribe-auth/AGIRZ3IVJDKZOI4EUNJOBUDXTKDPNANCNFSM6AAAAAAZ6BZLAU.
You are receiving this because you authored the thread.

--
Saul Jaffe
@.***
“Together, we must remove the physical barriers we have created and the social barriers that we have accepted. For ours will never be a truly prosperous nation until all within it prosper.”
President George Bush
upon signing the Americans with Disabilities Act
July 26, 1990

Pull request submitted for dark mode fix and also added a whisper toggle

Dark mode changes should now be live ;-)

A blessing on your head! :-)
Thank you!

On Aug 4, 2023, at 2:40 AM, Coryphon @.***> wrote:
Dark mode changes should now be live ;-)
—
Reply to this email directly, view it on GitHub https://github.com/Roll20/roll20-character-sheets/issues/11972#issuecomment-1665090272, or unsubscribe https://github.com/notifications/unsubscribe-auth/AGIRZ3NAT4JXH327S42VH7DXTSKOBANCNFSM6AAAAAAZ6BZLAU.
You are receiving this because you authored the thread.

--
Saul Jaffe
@.***
“Together, we must remove the physical barriers we have created and the social barriers that we have accepted. For ours will never be a truly prosperous nation until all within it prosper.”
President George Bush
upon signing the Americans with Disabilities Act
July 26, 1990


⚠ Jenkins Plugins Artifactory has degraded performance

In a12e114, Jenkins Plugins Artifactory (https://get.jenkins.io/plugins/artifactory/) experienced degraded performance:

HTTP code: 200
Response time: 1210 ms

Resolved: Jenkins Plugins Artifactory performance has improved in 58b33e8 after 12 minutes.


mailspring: 1.10.7 -> 1.10.8

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/Foundry376/Mailspring/releases.
meta.description for mailspring is: A beautiful, fast and maintained fork of Nylas Mail by one of the original authors
meta.homepage for mailspring is: https://getmailspring.com
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 1.10.8 with grep in /nix/store/rzl151qjxypnfbcz5rkwwgmw4xqnicnb-mailspring-1.10.8
found 1.10.8 in filename of file in /nix/store/rzl151qjxypnfbcz5rkwwgmw4xqnicnb-mailspring-1.10.8

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

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath
mailspring
unigine-superposition

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/rzl151qjxypnfbcz5rkwwgmw4xqnicnb-mailspring-1.10.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 mailspring https://github.com/r-ryantm/nixpkgs/archive/95d97618eb9146704e77784c481ab6e7b80cc248.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/rzl151qjxypnfbcz5rkwwgmw4xqnicnb-mailspring-1.10.8
ls -la /nix/store/rzl151qjxypnfbcz5rkwwgmw4xqnicnb-mailspring-1.10.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

2 packages built:

mailspring
unigine-superposition

Maintainer pings
cc @toschmidt for testing.

Result of nixpkgs-review pr 209674 run on x86_64-linux 1

2 packages built:

mailspring
unigine-superposition


WIP: add ownership directly to tags and access paths.

Various discussions among @bgogul, @aferr and @markww led to the realization that ownsTag does not capture enough contextual information for making authoritative decisions at sensitive operations (like removeTag and claimNotEdge).  This PR distills the various ideas that were discussed into a working prototype. Specifically, this introduces three key concepts:

Attach principal to tags instead of claiming it thorough ownsTag.
Resolved edge has a principal.
Add the concept of ownership for access paths.

Note: Introducing these concepts has eliminated the need for edgeToMidpointAccessPath and explicit rules for saysCanSayHasTag in the authorization_logic.dl. Here are the key files of this PR to focus on:

taint.dl
authorization_logic.dl
ok_claim_propagates_downgrades_granted.authlogic for an example use case.

Note that all tests don't pass yet.
Tags have principals.
Instead of having tag to be just a string like userSelection, we also associate a principal with the tag and propagate it through the analysis. That is, instead of  hasTag("a.b.c", "tag") we will have hasTag("a.b.c",  "principal", "tag"). The "principal" is propagated throughout the analysis.  (The tag could be implemented as an ADT also if needed.)
This allows us to make authoritative decisions based on the principal for  sensitive operations. e.g.,
mayHaveTag(tgt, owner, tag) :-
    resolvedEdge(src, tgt), mayHaveTag(src, owner, tag), !removeTag(tgt, owner, tag).

This also allows us to delegate at a much more granular level while not going all the way to something like speaksFor. e.g.,
// user trusting EFF to handle the tags of "EndUser".
"EndUser" says "EFF" canSay removeTag(path, "EndUser", tag) :- isAccessPath(path), isTag(tag).
// EFF auditing "P1" and making a statement that "P1" removing the "userSelection" tag is valid.
"EFF" says "P1" canSay removeTag(path, user, "userSelection") :- isAccessPath(path), isPrincipal(user).

Resolved edge has a principal.
Instead of resolvedEdge(src, tgt), we have resolvedEdge(principal, src, tgt), which is read as src -> tgt is resolved for principal:
resolvedEdge(principal, src, tgt) :-
   isPrincipal(principal),
   edge(src, tgt),
   !claimNotEdge(principal, src, tgt).

Attaching ownership to access paths.
This PR also introduces an ownsAccessPath(principal: Principal, path: AccessPath) to capture who owns a particular piece of data and is allowed to make decisions operations allowed on the access path. Ideally, we will not be making these claims at the level of access paths within particles. Rather, we will make claims at the point of ingestion of data into the system, which usually corresponds to the handles/stores of a recipe. This ownership of access path is also propagated along the edges unless the edge was removed authoritatively for a principal.
ownsAccessPath(principal, tgt) :-
  resolvedEdge(principal, src, tgt), ownsAccessPath(principal, src).

@markww @aferr please take a look at this PR again. I have resolved all the comment threads (except the one on ownsAccessPath). About ownsAccessPath, it is not a pervasive change. So, let us get this in for now to make further progress? If you guys convince me that it is not needed it should be easy to remove it later.

@markww @aferr please take a look at this PR again. I have resolved all the comment threads (except the one on ownsAccessPath). About ownsAccessPath, it is not a pervasive change. So, let us get this in for now to make further progress? If you guys convince me that it is not needed it should be easy to remove it later.

SGTM


Missing License

Hey @xenova,
I couldn't find any license in this repo and wanted to ask wether this project can be used commercially (e.g. through MIT License).
Thanks in advance!

Hey! 👋 Good point, I've added the MIT license: https://github.com/xenova/whisper-web/commit/9341c394f55bc3952828db630d23faa5dec7ddc5

Thanks a lot!


⚠ Bofrost.fr has degraded performance

In 68cbb06, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 980 ms

Resolved: Bofrost.fr performance has improved in 7ba2093 after 7 minutes.


Update README.md

the original its is correct. it's -> it is

That's odd, didn't mean to change that, only mean to include URLs and add another popular keyserver. 👍


Export crates/modules to facilitate external widget definitions

Trivial change to allow programs using xilem to share its components, for custom widgets without using a local patch.

Agreed, I don't see the text and piet_scene modules being exposed as-is long term but for the moment they're very helpful.


Use wailsLogger in auto updater

Changes the auto updater to use wailsLogger rather than printf.
Closes #56

Hey, @jordan-dalby do you have discord, if so i can give you contributor role

Hey, @jordan-dalby do you have discord, if so i can give you contributor role

Hi, yeah I do it's 'jordna'.

Hey, @jordan-dalby do you have discord, if so i can give you contributor role

Hi, yeah I do it's 'jordna'.

i've added you


Peer Grading Dress Rehersal

Use this template
Group Name:
Grade:

Group Name: Team JARV (Jared, Aswhin, Ronit, and Vance)
Grade:
3.6 to 4 pts. HOOK! Key features achieved (shown in running demo to graders), 1 minute show
4/4
3.6 to 4 pts. KNOWLEGE, HOW IT IS MADE! Key features blogged (shown in demo time to graders), 2 minute show
3.9/4
0.6 to 1 pt.  VALUE. Most useful or valuable aspect of project.
1/1
Grade: 8.9/9

HOOK (Points: 3.6-4.0) (Key features achieved)
Reason: Pretty good hook, shows a brief overview of the website and doesn't dive too deep into it.
Grade: 3.9/4
KNOWLEDGE (Points: 3.6-4.0) (How it's made, demo showed)
Reason: Showed all of the code and who did what, went in depth of showing how the code works and the lessons behind it.
Grade: 3.9/4
VALUE( Points: 0.6-1.0) (Most useful or valuable aspect of project) + WOW Factor
Reason: A really well-made passion project that shows all aspects of the code well. It can be really useful when someone is looking for a college and the ChatGPT API looks really good and impressive.
Grade: 1/1
8.8/9


[BUG] Spelling error in CODE_OF_CONDUCT.md

I have reviewed the text and identified some minor spelling mistakes. Here are the corrections with the respective line numbers:
Line 43: "unwelcomed" should be "unwelcome"
Line 60: "warnign" should be "warning"
Line 85: "ban" should be "banned"
Please assign me this issue under GSSoC

Okay @Aishjahan go for it


pricing examples

I had several discussions with customers about the wording how Azure NetApp Files is billed - can we please improve it?
"Capacity pools are billed based on $/provisioned-GiB/month in hourly increments."

Can you please provide meaningful examples similar to what we have in cross-region-replication?

Mixing pricing with minimum requirements is very confusing to us:
"The minimum size for a single capacity pool is 4 TiB, and capacity pools can be subsequently expanded in 1-TiB increments. Volumes are created within capacity pools. Each volume is assigned a quota that decrements from the pools-provisioned capacity. The quota that can be assigned to volumes ranges from a minimum of 100 GiB to a maximum of 100 TiB."
The Azure Calculator only shows a "per hour" price, so this should be explained here, too.
Thanks
Max

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

ID: ede1296f-f29c-4b7a-ad6f-d99e93099250
Version Independent ID: 2a365931-0ebc-0c1c-ae14-888d47ddcbf4
Content: Cost model for Azure NetApp Files
Content Source: articles/azure-netapp-files/azure-netapp-files-cost-model.md
Service: azure-netapp-files
GitHub Login: @b-juche
Microsoft Alias: b-juche

Thanks @MaxMelcher!  We are working with the product team on this suggestion and will get back to you.
cc: @b-ahibbard

The doc team worked with ANF PM to update the Cost Model article, which is merged for today's publishing.
cc: @b-ahibbard
#please-close


[SPARK-45156][SQL] Wrap inputName by backticks in the NON_FOLDABLE_INPUT error class

What changes were proposed in this pull request?
In the PR, I propose to wrap the inputName parameter of the error class NON_FOLDABLE_INPUT by backticks.
Why are the changes needed?
To be consistent to other error formats where ids are quoted by backticks.
Does this PR introduce any user-facing change?
No, only if user code rely on an error message.
How was this patch tested?
By running the modified test suites:
$ PYSPARK_PYTHON=python3 build/sbt "sql/testOnly org.apache.spark.sql.SQLQueryTestSuite"

Was this patch authored or co-authored using generative AI tooling?
No.

All GAs passed. Merging to master.
Thank you, @cloud-fan for review.


[DUOS-2974] Refactor to jsx from react-hyperscript-helpers

Addresses
https://broadworkbench.atlassian.net/browse/DUOS-2974
Summary
Switches from react-hyperscript-helpers to JSX

Have you read Terra's Contributing Guide lately? If not, do that first.

Label PR with a Jira ticket number and include a link to the ticket
Label PR with a security risk modifier [no, low, medium, high]
PR describes scope of changes
Get a minimum of one thumbs worth of review, preferably two if enough team members are available
Get PO sign-off for all non-trivial UI or workflow changes
Verify all tests go green
Test this change deployed correctly and works on dev environment after deployment

@fboulnois  Point noted. Thanks :)


Flaky Test Issue of GPU Operator

Description
kernel_error_check_imperative() and kernel_error_check_symbolic() in test_operator_gpu.py have flaky issues.
test_operator_gpu.test_kernel_error_checking ... Process SpawnProcess-1:

Traceback (most recent call last):

  File "/usr/lib/python3.5/multiprocessing/process.py", line 249, in _bootstrap

    self.run()

  File "/usr/lib/python3.5/multiprocessing/process.py", line 93, in run

    self._target(*self._args, **self._kwargs)

  File "/work/mxnet/tests/python/gpu/test_operator_gpu.py", line 1832, in kernel_error_check_imperative

    c = (a / b).asnumpy()

  File "/work/mxnet/tests/python/unittest/../../../python/mxnet/ndarray/ndarray.py", line 1910, in asnumpy

    ctypes.c_size_t(data.size)))

  File "/work/mxnet/tests/python/unittest/../../../python/mxnet/base.py", line 210, in check_call

    raise MXNetError(py_str(_LIB.MXGetLastError()))

mxnet.base.MXNetError: [19:32:53] src/operator/tensor/././../mxnet_op.h:586: Check failed: err == cudaSuccess (9 vs. 0) Name: mxnet_generic_kernel_ex ErrStr:invalid configuration argument

Hi, would you mind looking a CI run where this occurred?

This fails at "/work/mxnet/tests/python/gpu/test_operator_gpu.py", line 1832, in kernel_error_check_imperative http://jenkins.mxnet-ci.amazon-ml.com/blue/organizations/jenkins/incubator-mxnet/detail/PR-11502/25/pipeline/799

I cannot reproduce this error on my local machine, are you sure that this failure is not related to your PR? Seems like this is happening to other environments for the same build as well.

I am closing this issue, since I don't have this issue any more. My PR just passed CI test.

Agree with @haojin2 , the error seems to be related to the PR. Thanks everybody!

I just had the exact same error in another PR. http://jenkins.mxnet-ci.amazon-ml.com/blue/organizations/jenkins/incubator-mxnet/detail/PR-11482/17/pipeline/859#step-1530-log-1018
@zhanghang1989 what did you do to resolve the problem?

I had the exact same error too. Any pointers to the same?
http://jenkins.mxnet-ci.amazon-ml.com/blue/organizations/jenkins/incubator-mxnet/detail/PR-11482/17/pipeline/859/#step-1530-log-1006

PR #15772
Pipeline - http://jenkins.mxnet-ci.amazon-ml.com/blue/organizations/jenkins/mxnet-validation%2Funix-gpu/detail/PR-15772/3/pipeline


[UBS-User. Edit Profile] Numeric data entered in the Name and Surname text fields is not saved

Environment: Windows 11 Home Chrome 114.0.5735.91 (Official buid) (64-bit)
Reproducible: always,
Build found: 28.07.2023
When the User enters numeric data in the Name and Surname text fields, the data is not saved.
Preconditions
1.The User is authorized and logged in the site https://www.greencity.social/#/ubs;
2.'User Data' page is opened.
3. User profile is filled in.
Steps to reproduce

Click on 'Edit data' button
Add numeric data to existed Name and Surname (eg. 95)
Click on "Save changes" button

Actual result
Appears notification "Your changes is saved", the User is redirected to User Profile page, appearce notification
https://github.com/ita-social-projects/GreenCity/assets/93221162/e8b660c2-8260-497b-9ca0-72692c3a1d1e
Expected result
Appears notification "Your changes is saved", the User is redirected to User Profile page, the changed data is displayed in Profile.
User story and test case links
E.g.: "User story #3811
Labels to be added

Bug is fixed


Bugs in Attention benchmark

🐞 Describe the bug
Running the benchmarks/bechmarker.py yields an error in the attention scenario.
🧑🏫 Reproduction
Just install latest version following instructions from https://github.com/kakaobrain/trident/issues/159#issuecomment-1750862031 and run:
(python310) root@mymachine-17037-1045294:~/trident/benchmarks# CUDA_LAUNCH_BLOCKING=1 python benchmarker.py --scenario attention
Traceback (most recent call last):
  File "/root/trident/benchmarks/benchmarker.py", line 191, in <module>
    main()
  File "/root/trident/benchmarks/benchmarker.py", line 182, in main
    run_benchmarks(
  File "/root/trident/benchmarks/benchmarker.py", line 83, in run_benchmarks
    benchmark_attention.run_benchmark(mode, show_plots, dtype)
  File "/root/trident/benchmarks/benchmark_attention.py", line 62, in run_benchmark
    bench_attention_forward.run(print_data=True, show_plots=show_plots, dtype=dtype)
  File "/opt/conda/envs/python310/lib/python3.10/site-packages/triton/testing.py", line 337, in run
    self._run(bench, save_path, show_plots, print_data, **kwargs)
  File "/opt/conda/envs/python310/lib/python3.10/site-packages/triton/testing.py", line 289, in _run
    ret = self.fn(**x_args, **{bench.line_arg: y}, **bench.args, **kwrags)
  File "/root/trident/benchmarks/benchmark_attention.py", line 34, in bench_attention_forward
    return triton.testing.do_bench(
  File "/opt/conda/envs/python310/lib/python3.10/site-packages/triton/testing.py", line 105, in do_bench
    fn()
  File "/root/trident/benchmarks/benchmark_attention.py", line 35, in <lambda>
    lambda: trident.function.scaled_dot_product_attention(query, key, value, use_accelerator=True)
  File "/opt/conda/envs/python310/lib/python3.10/site-packages/trident/function/function.py", line 251, in scaled_dot_product_attention
    return operation.Attention.apply(
  File "/opt/conda/envs/python310/lib/python3.10/site-packages/torch/autograd/function.py", line 539, in apply
    return super().apply(*args, **kwargs)  # type: ignore[misc]
  File "/opt/conda/envs/python310/lib/python3.10/site-packages/trident/operation/attention.py", line 38, in forward
    output, log_sum_exp = Attention.__forward(
  File "/opt/conda/envs/python310/lib/python3.10/site-packages/trident/operation/attention.py", line 99, in __forward
    kernel.Attention.forward[grid](
  File "/opt/conda/envs/python310/lib/python3.10/site-packages/triton/runtime/autotuner.py", line 104, in run
    timings = {config: self._bench(*args, config=config, **kwargs)
  File "/opt/conda/envs/python310/lib/python3.10/site-packages/triton/runtime/autotuner.py", line 104, in <dictcomp>
    timings = {config: self._bench(*args, config=config, **kwargs)
  File "/opt/conda/envs/python310/lib/python3.10/site-packages/triton/runtime/autotuner.py", line 87, in _bench
    return do_bench(kernel_call, warmup=self.warmup, rep=self.rep, quantiles=(0.5, 0.2, 0.8))
  File "/opt/conda/envs/python310/lib/python3.10/site-packages/triton/testing.py", line 105, in do_bench
    fn()
  File "/opt/conda/envs/python310/lib/python3.10/site-packages/triton/runtime/autotuner.py", line 81, in kernel_call
    self.fn.run(*args, num_warps=config.num_warps, num_stages=config.num_stages,
  File "<string>", line 4, in forward
  File "/opt/conda/envs/python310/lib/python3.10/site-packages/triton/runtime/jit.py", line 410, in launcher_body
    bin.c_wrapper(grid_0, grid_1, grid_2, bin.num_warps, bin.num_ctas, bin.clusterDims[0], bin.clusterDims[1], bin.clusterDims[2], bin.shared, stream, bin.cu_function, CompiledKernel.launch_enter_hook, CompiledKernel.launch_exit_hook, bin, *args)
RuntimeError: Triton Error [CUDA]: an illegal memory access was encountered

🎯 Expected behavior
Ideally it should just give the running times as in the argmax case:
(python310) root@mymachine-17037-1045294:~/trident/benchmarks# python benchmarker.py
argmax forward:
    x_size     torch   trident
0    128.0  0.004781  0.002036
1    256.0  0.005041  0.002055
2    384.0  0.005651  0.002100
3    512.0  0.006145  0.002124
4    640.0  0.006773  0.002186
5    768.0  0.007327  0.002097
6    896.0  0.008035  0.002210
7   1024.0  0.008468  0.002203
8   1152.0  0.009113  0.002335
9   1280.0  0.009662  0.002358
10  1408.0  0.010142  0.002305
11  1536.0  0.010683  0.002369
12  1664.0  0.011376  0.002410
13  1792.0  0.011718  0.002455
14  1920.0  0.012365  0.002451
15  2048.0  0.012884  0.002436
16  2176.0  0.013410  0.002749
17  2304.0  0.013806  0.002733
18  2432.0  0.014543  0.002740
19  2560.0  0.015103  0.002776

🖼 Screenshots
.
💻 Requirements

Platform: Ubuntu 20.04.5 LTS
Hardware: Nvidia V100 32 Gb card.
Version: pytorch 2.1, triton-nightly, trident 1.0.2

💬 Additional context
Running the function individually in ipython worked for a simple case:
import torch as th
import trident.functional as tdf

q,k,v = th.randn(3, 2, 4, 8, 16).cuda()
tdf.scaled_dot_product_attention(q, k, v, use_accelerator=True)

BTW: It would be very helpful if an updated result of running pytorch bechmarker.py could be provided in the wiki, so it can be can be seen which functions can be really accelerated (and by which amount) by trident

@hypnopump Thanks for your reporting! @ansteve Could you look at this issue?

Thanks for the reporting. I will check the issue.

This issue seems to be related to Triton issue https://github.com/openai/triton/issues/1483 .
I found a workaround by using a small block size. Let me prepare the PR.

My previous analysis is not correct, so I deleted the comment.
For now, Attention only supports for power of 2 size tensors. That's why tests are passed and the benchmark is failed.

A woirkaround could be removing non power of 2 tensors from the benchmark in the attention case, or add a padding in the attention function so that kernels don’t fail, and then remove the padding if the original length is not a power of 2. Could that be done?
Eric Alcaide

El 10 oct 2023, a las 4:03, Jaehyun An(steve.an) @.***> escribió:

My previous analysis is not correct, so I deleted the comment.
For now, Attention only supports for power of 2 size tensors. That's why tests are passed and the benchmark is failed.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.

A woirkaround could be removing non power of 2 tensors from the benchmark in the attention case, or add a padding in the attention function so that kernels don’t fail, and then remove the padding if the original length is not a power of 2. Could that be done? Eric Alcaide

Yes, it is correct.

Could we implement this in trident?

El 10 oct 2023, a las 6:54, Jaehyun An(steve.an) @.***> escribió:

A woirkaround could be removing non power of 2 tensors from the benchmark in the attention case, or add a padding in the attention function so that kernels don’t fail, and then remove the padding if the original length is not a power of 2. Could that be done? Eric Alcaide
Yes, it is correct.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.

Could we implement this in trident?

I am not sure it is common to use non power of 2 tensors in Attention. It is not high priority for now.

in that case, could we modify the attention benchmark to only do powers of
2 so we can have an idea of how fast trident is compared to pure pytorch?
El mar, 10 oct 2023 a las 7:02, Jaehyun An(steve.an) (<
@.***>) escribió:

Could we implement this in trident?
I am not sure it is common to use non power of 2 tensors in Attention. It
is not high priority for now.
—
Reply to this email directly, view it on GitHub
https://github.com/kakaobrain/trident/issues/162#issuecomment-1754382534,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AD52HH2FPYDZW76P7SMQ6GTX6TJGTAVCNFSM6AAAAAA5WCUTNCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONJUGM4DENJTGQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

$ python3 benchmarks/benchmarker.py --scenario attention --mode forward
attention forward:
   y_size     torch   trident
0    32.0  0.047715  0.315676
1    64.0  0.053139  0.361421
2   128.0  0.127275  0.113559
3   256.0  0.401120  0.239711
4   512.0  1.466141  0.821546

@hypnopump  In my environment, the benchmark returns like this.

HI there, i have tried to run the above code but i'm getting the following error:
$ python3 benchmarks/benchmarker.py --scenario attention --mode forward
Traceback (most recent call last):
  File "~/Desktop/projects/trident/benchmarks/benchmarker.py", line 191, in <module>
    main()
  File "~/Desktop/projects/trident/benchmarks/benchmarker.py", line 182, in main
    run_benchmarks(
  File "~/Desktop/projects/trident/benchmarks/benchmarker.py", line 83, in run_benchmarks
    benchmark_attention.run_benchmark(mode, show_plots, dtype)
  File "~/Desktop/projects/trident/benchmarks/benchmark_attention.py", line 62, in run_benchmark
    bench_attention_forward.run(print_data=True, show_plots=show_plots, dtype=dtype)
  File "~/miniconda3/envs/python311/lib/python3.11/site-packages/triton/testing.py", line 337, in run
    self._run(bench, save_path, show_plots, print_data, **kwargs)
  File "~/miniconda3/envs/python311/lib/python3.11/site-packages/triton/testing.py", line 289, in _run
    ret = self.fn(**x_args, **{bench.line_arg: y}, **bench.args, **kwrags)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "~/Desktop/projects/trident/benchmarks/benchmark_attention.py", line 34, in bench_attention_forward
    return triton.testing.do_bench(
           ^^^^^^^^^^^^^^^^^^^^^^^^
  File "~/miniconda3/envs/python311/lib/python3.11/site-packages/triton/testing.py", line 105, in do_bench
    fn()
  File "~/Desktop/projects/trident/benchmarks/benchmark_attention.py", line 35, in <lambda>
    lambda: trident.function.scaled_dot_product_attention(query, key, value, use_accelerator=True)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "~/miniconda3/envs/python311/lib/python3.11/site-packages/trident/function/function.py", line 251, in scaled_dot_product_attention
    return operation.Attention.apply(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "~/miniconda3/envs/python311/lib/python3.11/site-packages/torch/autograd/function.py", line 539, in apply
    return super().apply(*args, **kwargs)  # type: ignore[misc]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "~/miniconda3/envs/python311/lib/python3.11/site-packages/trident/operation/attention.py", line 38, in forward
    output, log_sum_exp = Attention.__forward(
                          ^^^^^^^^^^^^^^^^^^^^
  File "~/miniconda3/envs/python311/lib/python3.11/site-packages/trident/operation/attention.py", line 99, in __forward
    kernel.Attention.forward[grid](
  File "~/miniconda3/envs/python311/lib/python3.11/site-packages/triton/runtime/autotuner.py", line 104, in run
    timings = {config: self._bench(*args, config=config, **kwargs)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "~/miniconda3/envs/python311/lib/python3.11/site-packages/triton/runtime/autotuner.py", line 104, in <dictcomp>
    timings = {config: self._bench(*args, config=config, **kwargs)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "~/miniconda3/envs/python311/lib/python3.11/site-packages/triton/runtime/autotuner.py", line 87, in _bench
    return do_bench(kernel_call, warmup=self.warmup, rep=self.rep, quantiles=(0.5, 0.2, 0.8))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "~/miniconda3/envs/python311/lib/python3.11/site-packages/triton/testing.py", line 105, in do_bench
    fn()
  File "~/miniconda3/envs/python311/lib/python3.11/site-packages/triton/runtime/autotuner.py", line 81, in kernel_call
    self.fn.run(*args, num_warps=config.num_warps, num_stages=config.num_stages,
  File "<string>", line 4, in forward
  File "~/miniconda3/envs/python311/lib/python3.11/site-packages/triton/runtime/jit.py", line 428, in launcher_body
    bin = compile(self, signature=signature, device=device, constants=constants, num_warps=num_warps, num_ctas=num_ctas, num_stages=num_stages, enable_warp_specialization=enable_warp_specialization, enable_fp_fusion=enable_fp_fusion, extern_libs=extern_libs, configs=configs, debug=self.debug, device_type=device_type)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "~/miniconda3/envs/python311/lib/python3.11/site-packages/triton/compiler/compiler.py", line 513, in compile
    next_module = compile_kernel(module)
                  ^^^^^^^^^^^^^^^^^^^^^^
  File "~/miniconda3/envs/python311/lib/python3.11/site-packages/triton/compiler/compiler.py", line 412, in <lambda>
    lambda src: ttgir_to_llir(src, extern_libs, target, tma_infos))
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "~/miniconda3/envs/python311/lib/python3.11/site-packages/triton/compiler/compiler.py", line 167, in ttgir_to_llir
    return translate_triton_gpu_to_llvmir(mod, target.capability, tma_infos, runtime.TARGET.NVVM)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
IndexError: map::at

Is there any environment/config you could share to reproduce?

@hypnopump Sorry for sharing this new. Trident will be not maintained for a while because company have decided dropping this project.


Fix logging in _atuin_preexec

Override RUST_LOG in _atuin_preexec in order to avoid unexpected logs when RUST_LOG is set in bash.

I would suggest making this change for all the atuin invocations, and for the other shells as well.

I would suggest making this change for all the atuin invocations, and for the other shells as well.

I've made the change to all 3 shells, however it needs to be tested because I do not have fish or zsh installed.

Instead of this, I think we said a while back we'd configure the env var to be ATUIN_LOG

Instead of this, I think we said a while back we'd configure the env var to be ATUIN_LOG

Oh, I didn't even know you could do that. That would probably be nicer, and looks fairly simple - https://rust-lang-nursery.github.io/rust-cookbook/development_tools/debugging/config_log.html#use-a-custom-environment-variable-to-set-up-logging

Closed in favour of: https://github.com/ellie/atuin/pull/642


Is it possible to compile a wasm file that can be executed in HTML?

When I compiled the file, I got two kinds of error messages like this:

TypeError: WebAssembly.instantiate(): Import #0 "wasi_snapshot_preview1": module is not an object or function
TypeofError: WebAssembly.instantiate(): Imports argument must be present and must be an object

Is there a way to generate a wasm file that works fine directly in the browser. I just need to run it in the browser.

Can you share the file that you're trying to compile and how you're trying to load the compiled file from JavaScript?
In general javy-generated binaries are WASI compliant, so in order to run them in the browser, I'd recommend using a WASI shim, e.g., https://github.com/bjorn3/browser_wasi_shim. You could try setting up your environment following the example in the README.

but it doesn't seem to work in pure HTML.

Could you expand what you mean by this? If you'd like to integrate your module's behaviour with an HTML page, one way is to make use of the DOM APIs, to manipulate the DOM. Note that Javy doesn't provide any DOM APIs though; which means that if you'd like to go this route, you'd probably need to create your own bindings to those APIs.An alternative to this approach would be to use wasm-bindgen.

Also, using Javy to compile JavaScript to Wasm can greatly improve performance?

It depends what kind of payload of program you're trying to run, in general Javy embeds a QuickJS interpreter, which works on top of QuickJS bytecode. I'd recommend running some benchmarks to better understand if Javy-generated modules meet your needs performance-wise.

Your errors suggest that your module can't instantiate due to missing imports, likely the WASI ones.
To work with  the browser_wasi_shim, you most likely need to install it via npm and bundle your JS into a single source (with a JS bundler like webpack https://webpack.js.org/). Once bundled, you can then proceed to include the bundled JS in your HTML script tag.

You can take a look the examples for inspiration.


git info crashes when not in a feature/bug branch

git info crashes when not in a feature/bug branch

Same for me. Here's what I get:
rypalmer$ git info
/Library/Ruby/Gems/1.8/gems/git-pivotal-0.8.2/bin/../lib/commands/info.rb:14:in run!': undefined method name' for nil:NilClass (NoMethodError)
from /Library/Ruby/Gems/1.8/gems/git-pivotal-0.8.2/bin/git-info:7
from /usr/bin/git-info:19:in `load'
from /usr/bin/git-info:19

Stumbled upon this problem today myself. From what I can see it's because the branch name doesn't contain a Pivotal Tracker story id.
I've written a pretty simple fix for this to prevent the script from dieing without a usable error message.


[SPARK-33296][SQL] Format exception of unsupported nested grouping analytics

What changes were proposed in this pull request?
Nested grouping. analytics can't run but throw  ambiguous exception, This pr make these case throw exceptions that are easy for users to understand
spark-sql>  select a, b, c from x group by cube(a, b) with cube;;
20/10/30 12:20:20 ERROR SparkSQLDriver: Failed in [ select a, b, c from x group by cube(a, b) with cube]
java.lang.UnsupportedOperationException
	at org.apache.spark.sql.catalyst.expressions.GroupingSet.dataType(grouping.scala:36)
	at org.apache.spark.sql.catalyst.expressions.GroupingSet.dataType$(grouping.scala:36)
	at org.apache.spark.sql.catalyst.expressions.Cube.dataType(grouping.scala:61)

spark-sql> select a, b, c from x group by cube(a, b, c) grouping sets(a, b, (a, b));
Error in query: unresolved operator 'GroupingSets [ArrayBuffer(a#0), ArrayBuffer(b#1), ArrayBuffer(a#0, b#1)], [cube(a#0, b#1, c#2)], [a#0, b#1, c#2];;
'GroupingSets [ArrayBuffer(a#0), ArrayBuffer(b#1), ArrayBuffer(a#0, b#1)], [cube(a#0, b#1, c#2)], [a#0, b#1, c#2]
+- SubqueryAlias spark_catalog.default.x
   +- HiveTableRelation [`default`.`x`, org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe, Data Cols: [a#0, b#1, c#2], Partition Cols: []]

spark-sql>  select a, b, c from x group by a, b,  c grouping sets(a, b, cube(a, b));
Error in query: unresolved operator 'GroupingSets [ArrayBuffer(a#3), ArrayBuffer(b#4), ArrayBuffer(cube(a#3, b#4))], [a#3, b#4, c#5], [a#3, b#4, c#5];;
'GroupingSets [ArrayBuffer(a#3), ArrayBuffer(b#4), ArrayBuffer(cube(a#3, b#4))], [a#3, b#4, c#5], [a#3, b#4, c#5]
+- SubqueryAlias spark_catalog.default.x
   +- HiveTableRelation [`default`.`x`, org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe, Data Cols: [a#3, b#4, c#5], Partition Cols: []]

Why are the changes needed?
Throw an exception that is easy for the user to understand
Does this PR introduce any user-facing change?
No
How was this patch tested?
Add UT

FYI @maropu

Test build #130438 has started for PR 30199 at commit c3f030d.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/35043/

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/35043/

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/SparkPullRequestBuilder-K8s/35043/
Test PASSed.

Test build #130438 has finished for PR 30199 at commit c3f030d.

This patch fails due to an unknown error code, -9.
This patch merges cleanly.
This patch adds no public classes.

retest this please

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/130438/
Test FAILed.

Merged build finished. Test FAILed.

Test build #130448 has started for PR 30199 at commit c3f030d.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/35053/

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/35053/

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/SparkPullRequestBuilder-K8s/35053/
Test PASSed.

Test build #130448 has finished for PR 30199 at commit c3f030d.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

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/SparkPullRequestBuilder/130448/
Test PASSed.


Suggestion: Provide an include_headers() method in Python when installed with pip

For projects involving python wrappers to C++ libraries, it is useful to have the include header locations.
Currently, when spdlog is installed with pip, the headers are located in the root (spdlog.h, null_mutex.h etc..)
It would be really useful to have these headers organized in the way they are intended and a method is available in Python to get the include location.
For instance, Pybind11 provides a method (pybind11.get_include()). This is especially useful for having a setup.py for compilation.

Once the installation is fixed (see #20) including this option might be a good idea.


CSS

CSS
User Story
As a bootcamp student
I want the prework notes to be structured on a webpage
so that I can easily find and read information
Acceptance Criteria
GIVEN Prework Study Guide website
WHEN I view the study guide
THEN I see a dark blue header and footer, and four boxes with a shadow

Added CSS style sheet


right click doesnt work

when i rightclick on crops, i hear a sound that something should be happening but nothing happens

Are you using a hoe?
If not, and you want it to work without a hoe: change the config either using a GUI (mod menu on Fabric, the mods screen on Forge), or at config/rightclicharvest.json
If yes, there is probably another issue and I can diagnose further

Closing for now, please reopen if the above doesn't solve your issue

Tried using it without a hoe, then with a hoe because I read about it. Still didn’t work. Then changed it to without a hoe (changed it in the settings by using mod menu to view them and then checked in the file) and it still didn’t work, no matter if I use a hoe or not. I do have a few other (client-side) mods (im playing on a server if that maybe stops it from working). But none of them messes with the crops so it should work

Yes it is required to be installed on the server as well

Oh okay, that solves it, thanks a lot


MM-44926 Gekidou Settings Snackbars

Summary
After each setting is saved, we are now showing a snackbar to let the user know that the operation was a success or not.
Ticket Link
https://mattermost.atlassian.net/browse/MM-44926
Release Note
NONE

Based on this conversation, I think we aren't going to proceed with the use of snackbars for settings

Alrighty - I'll be closing this PR as this functionality is not needed at the moment.


margin issues on android again

On android there is a problem with line height doing strange things under certain conditions. I believe those conditions come from
https://github.com/facebook/react-native/blob/main/ReactAndroid/src/main/java/com/facebook/react/views/text/CustomLineHeightSpan.java#L25
There are multiple stages, but for our purposes we only care about the first one or two. The other ones activate when our definition of "line gap" is below 0 so that's not important I guess. And some fonts are worse off than others.
It's probably possible to use the font metrics to check if the line height is below a certain threshold and then add some offsets.
https://user-images.githubusercontent.com/204157/190213632-750a8718-377d-4b62-9613-c69dadc7413c.mp4
Example expo repo can be found here
https://github.com/CapsAdmin/react-native-leading-trim
I've been trying to implement leading trim for a while now by letting a designer define baseline and capheight offsets only for a font, but I'm starting to give up. I think you need to bring in actual metrics to work around this android issue.
I think ideally we should get the react native folks to give us more flexible text components that let us avoid doing hacks like this to get the leading trim.

One thing that I thought would help is to disable the includeExtraFontPadding prop on Text but it actually makes it worse. I guess it would make the java function not hit as many stages since the font metric gets an evenly distributed top and bottom height.
I also tried to apply reverse margins and padding when the conditions are met using the font metric from capsize but I don't think the metrics included there are accurate. I don't think roboto black has the exact same metrics as roboto thin for instance?
Maybe I'm tearing my hair out over this since this happens when line gap is usually low.

I saw your comment here https://github.com/facebook/react-native/issues/29232#issuecomment-1246952704. As you can see in the issue, line height is incorrect even without using capsize.

I think ideally we should get the react native folks to give us more flexible text components that let us avoid doing hacks like this to get the leading trim.

I don't think this is about "flexibility". This is simply a bug and it has to be fixed on the react native side. I'm not working on any react native projects atm, so I have very little motivation to investigate this further. There's not much I can do here unfortunately.

but I don't think the metrics included there are accurate

I'm pretty sure the font metrics are correct, I mean it works as expected on web and iOS right?

I'm deprecating this library soon. I was waiting for this PR https://github.com/seek-oss/capsize/pull/50 to get merged, but at this point, I don't think people should use this until the issue on android gets resolved.

This package has been deprecated.


fix glm.

Susie-glm is fixed now.  Will work on the null model and prepare the tutorial.

@hkim89 sounds great! Could you summarize at the high level what was wrong, and also point to the relevant lines of code in this patch for what was fixed to correct it?

The initialization for \alpha  & b_l's for update in the em algorithm needs to use 'copy()' rather than 'zeros()' in order for the current updates not to be affected by the previous ones acting as pointers  (A1,B1) on line 437 in VEM.jl.  I put them yesterday and check today with all parameter updates (\xi, \beta, etc. ) using 'copy()' on line 470.   Also checked with julia simulation code on the bottom in scratch.jl transferred from R version by Andrew and then made consistent result.

I see the problem now. My complaint is that I don't see copy() as an elegant approach ... there has to be more elegant ways without having to copy the data around?


⚠ Bofrost.de has degraded performance

In 9cd7bed, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1292 ms

Resolved: Bofrost.de performance has improved in 4bcd809 after 12 minutes.


Make BASE_PATH user changeable to enable local models

Describe the feature or improvement you're requesting
I would like to use llama-cpp-python which offers a drop-in replacement for the OpenAI API to run my local models with the AgentGPT package further downstream.
To achieve this I would need a way to change BASE_PATH to my local api.
Additional context
No response

https://github.com/reworkd/AgentGPT/issues/61

Should also be interesting for people that want to use the azure endpoint.

The upcoming v4 release of this library can be used with a custom baseURL config option; an example showing use with Azure is here: https://github.com/openai/openai-node/blob/v4/examples/azure.ts


HIVE-26484: Add proto3 hivemetastore.proto

This is a rebased version of https://github.com/apache/hive/pull/3534,
What changes were proposed in this pull request?

Added a proto3 syntax Hive Metastore proto file that was based off the existing hive_metastore.thrift file.

It generally tries to follow grpc best practices, so there are some slight variations on thrift, for example enums, response types of response specific empty protos, snake_case.
Guava is updated to version 22, which is required for proto3/grpc for compiling the protos.

As this is "new" API, the new grpc API doesn’t include the same method with different signature, i.e. get_databases(string db_id) is usurped by get_databases(GetDatabasesRequest request).
Why are the changes needed?
The proto file is necessary because in order to have native gRPC support in Hive Metastore, there needs to be gRPC equivalents of all the preexisting Thrift objects as well as method header definitions in gRPC for Thrift counterparts.
Does this PR introduce any user-facing change?
Not yet, while this will allow developers to use this proto to generate clients (i.e. in Impala) before full support for gRPC is added in Hive Metastore.
How was this patch tested?
No tests were added in this PR other than making sure that the proto file and pom.xml files compile without issues and checking the target/ directory for generated files.

rebased again

@cnauroth @deniskuzZ, one question: Any specific reason why guava version was not upgraded in standalone-metastore/pom.xml and storage-api/pom.xml? It is still 19.0!

@cnauroth @deniskuzZ, one question: Any specific reason why guava version was not upgraded in standalone-metastore/pom.xml and storage-api/pom.xml? It is still 19.0!

PR mentions that proto3/grpc won't compile with guava < 22, however, looks like standalane-metastore's root pom overrides it with v19. Not sure how it compiled then in the first place, maybe a version upgrade wasn't required.
mvn dependency:tree | grep guava
[INFO] +- com.google.guava:guava:jar:19.0:compile

I'm guessing this was an oversight, not an intentional choice to leave Guava at 19.0. @Noremac201 , maybe you'd be interested in sending a follow-up PR to upgrade Guava to 22.0 in standalone-metastore/pom.xml and storage-api/pom.xml?

@cnauroth, I have created a PR for this: https://github.com/apache/hive/pull/4143
Kindly review.


build: make SWIFT_BUILD_STDLIB control the stdlib

Permit disabling the standard library build.  This will allow a
toolchain to be built without the standard library now that it is
possible to build just the standard library without the toolchain.

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

Resolves SR-NNNN.

CC: @Rostepher @gottesmm

@swift-ci please test


Automatically lock trade once query matching trade is found

Is your feature request related to a problem? Please describe.
When staying afk to wait for a right trade to come, one might miss the trade after a query matching one has been found.
Describe the solution you'd like
Auto buy one book instantly to lock the trade.

Hello @Faervan,
this function is already integrated. Make sure you have enough books and emeralds in your inventory.
Or are you using an outdated version?

Hello @Faervan, this function is already integrated. Make sure you have enough books and emeralds in your inventory. Or are you using an outdated version?

I use 1.2.1 from Modrinth, downloaded at the 29th of July. I had enough items in my inventory.

I've never encountered this problem before.
Are you playing in multiplayer?
Can you record a video?

... I tried it again (while recording) and it worked...
I'm probably just very dumb, but I was really sure it didn't work before...
(Same server, fewer paper plugins and different settings (I enabled game bugs like duping)
Anyway, sorry for bothering...

All good, I'm glad it's working


Update start-virtual-machine-connect.md

The original text is a little ambigous to readers as it suggests that Start VM on connect will deallocate the VM. This proposed change says exactly what it does at the start.

@TomHickling : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@TomHickling : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#sign-off


[spatial.2] operator internal naming

Change the name of operators. C++ operators are only trivial inline methods, while the code is in methods with an ad-hoc name. The name was yet taken from Python standards (for example plus for operator+, eq for operator==). They are now renamed following Eigen standards (add for operator+, isEqual for operator==).

Whatever the choice, we should document the exhaustive list of internal operator naming for reference.
We need:
Addition a+b
Substraction a-b
Multiplication a*b
Equality test a==b
In place addition a+=b
In place substraction a-=b
Cross product a^b
Dot product dot(a,b)
Action a.se3action(b)
Action inverse a.se3actionInv(b)
For future reference Python operators are here: https://docs.python.org/2/library/operator.html

We will use a mix: the same convention as in Eigen, but with XXX in prefix and suffix, and ending with impl when needed. For example:
setTo
__setTo__impl
Recall that there is possibly a problem with += (and other in-place operators). A+=B can be implemented as A.iadd(B) or as B.addTo(A). B.addTo(A) should be used first when possible. We may need to discuss the convention is A.iadd(B) is necessary.


Cannot properly switch MySQL database connections in same session

If one connects to a MySQL instance with connect-mysql and later in the same sessions tries to switch to another with connect-mysql again, the connection is not properly reset
It should be possible to properly change connection as many times as wanted in a single session

Fixet med 07fc201


Eliminate GHC/Util/Module

Tiny. Eliminate GHC.Util.Module.
<IP_ADDRESS> released 2020-05-31

New module GHC.Hs

Will withdraw this for a moment while I sort out an upgrade of extra.


how to revoke a token?

Nice project!

Is your feature request related to a problem? Please describe.
I want to allow someone to log in using my token(lep login -c xxx:xxxx), but after a certain period of time, I may want to revoke this privilege.
Describe the solution you'd like
Perhaps adding a feature to revoke the token?
Describe alternatives you've considered
It seems that lep logout --purge only clears the local permission information and does not invalidate the token.
Additional context

Thanks - token management right now is an enterprise feature but we plan to make it generally available very soon.


Raw Buffer support

I want to need to display circular visualization in recording and playing time. so can you please provide the current raw buffer in the listener?

@hyochan  +1

ref: https://github.com/goodatlas/react-native-audio-record

+1

+1


Clip path rect receiving no height/width (Chart appears blank)

We're using c3 in an angular app, however when we draw the sample donut chart, it simply shows white space.  The root causes was that the defs + rects don't have a proper width/height associated with them.

This is an odd situation. This works in most environments and the test case that I've created actually passes with the current code.
When determining size, it looks like the d3 select all doesn't do DOM traversal, so I wouldn't expect it to work with just id's as an array as written.

seeing the same issue from a chart embedded on a visualforce page in salesforce.  rect has no height/width attributes.  Strange thing for me is that the page I'm debugging was working for a some time and then stopped; don't know what changed to stop it from rendering, but if I delete the clip path node from the defs in the chrome inspector, the chart renders correctly.

@jeremy-walsh-vgh if you're working with Visualforce pages in Salesforce it looks like this became an issue as of the Salesforce Winter 16 release. When you use apex:form tags or have showHeader="true" set in the apex:pages tag, Salesforce will load their own JS files which are now likely conflicting with something in C3.js

@jeremy-walsh-vgh I'd forgotten about this.  We ended up switching to D3 and the issue only recently popped up again.  I bet the updated Visualforce pages include Sizzle.. globally, which causes D3  to go down this path.
https://github.com/mbostock/d3/blob/master/src/selection/selection.js#L24
I bet if you remove Sizzle from the window while bootstrapping your code you'd be good to go.
Sample Sizzle bug that could possible be introduced.
https://github.com/jquery/sizzle/issues/322
Please update if it works, I'm closing this, since it's an issue with D3/Sizzle.  Good luck.


Add Javadoc for public API

#128
WIP. Added a sample for Javalin class, would be nice to hear some feedback whether it is too extensive or not 😄

A good start. Added some comments. Should probably document ApiBuilder.java too.

@tipsy thanks, will change according to comments. I have continued through Context class, would be nice to see your feedback on it as well.

Will have a look tonight!

@tipsy I have added some additional docs to files which could be used or extended. Separated the commits a little for easier readability.

I had to go on a business trip, will check soon.

Updated with fixes of the review comments. You can review the change in 9936eaa and 93e7210 (rebased with latest master, mixed the commits accidentally).

I'll have a look tonight.


Nuxt 3 compatibility

Related to https://github.com/antfu/unplugin-icons/issues/198, I have the feeling the module does not work with new Nuxt3 APIs, am I right? Although it seems to support nuxt bridge, so this should be a fairly small step

@antfu any ideas about this? it's kinda hard to follow on, since the naming has totally changed. What is nuxt-vite for example? https://github.com/antfu/unplugin-icons/blob/main/README.md:~:text=This module works for both Nuxt 2 and Nuxt Vite


Are there any plans to study the few shot aspect?

Are there any plans to study the few shot aspect?

Sorry, there are currently no plans in this area

Sorry, there are currently no plans in this area

thank you very much for your reply


Support Virtual Wan, Virtual Hub, and NVA

Currently missing an entire ecosystem of Virtual WAN, Virtual Hubs, and NVAs. It does show the peering from vnet to hub but nothing else.
I think this is a bug and feature request I believe.
DEBUG: Running Module: 'C:\...\ARI\Modules\Networking\VirtualWAN.ps1'
$Resources contains the VirtualWans
$SmaResources empty VirtualWAN

The bug is the VirtualWan.ps1 module never generated an excel tab.
The feature being able to draw VWAN Hub-Spoke diagram
The feature of seeing NVA in excel tab.

I tried to debug this and I discovered running with and without -Online produces different results with the same credentials. I think there may be a bigger bug here.
Offline:
DEBUG: Jobs Compleated.
DEBUG: Job ResourceJob_1 Returned: 27 Resource Types.
DEBUG: Starting Reporting Phase.
DEBUG: Running Offline, Gathering List Of Modules.

Online:
DEBUG: Jobs Compleated.
DEBUG: Job ResourceJob_1 Returned: 62 Resource Types.
DEBUG: Job ResourceJob_1 Returned: 0 Resource Types.
DEBUG: Starting Reporting Phase.

I am specifically looking for a script to export the IP plan of a virtual wan topology. Not sure if ARI is the right fit after fixing OP's request.

Hello,
Just to inform that we are still investigating this issue

Hello,
Can you try the version 2.3.11 and see how it goes?
Thanks

@Claudio-Merola using the latest version I know see the Virtual WAN. Does not seem to be polling any NVAs tho.
For the chart, we have both Virtual WAN and the non Virtual WAN approach. The diagram only shows one, but I think I might be an edge case.


Fix reading doc snippet

Fixed the usage of the wrong method in the example concept.
issue #1046

Good catch, thanks

Good catch, thanks


Update dependencies

Hi @tholu !
I want to use your library in my project. But a requirement is that the dependencies are up-to-date. Could you please add Dependabot to your project? It creates pull-requests that can be simply merged.
I added the Dependabot file and ran mvn install. One test had to be updated, but the rest seems okay.
Would be great if you could merge this pull request. Many thanks!
Daniel

@dheid This looks great, thanks! Do you want to add to this branch or can I already merge it?

Yes can merge it. I will open another pull request later.


datamapper separate feature

From @Stefan365 on November 30, 2017 13:18
When "separate" action selected,
second "target" has to be created manually.
I suppose this should be done automatically by UI.
Copied from original issue: syndesisio/syndesis#533

From @zregvart on November 30, 2017 13:28
@igarashitm doesn't Atlasmap do this if you drag the same source to two or more targets?

I think this is a separate version of atlasmap/atlasmap#95, atlasmap/ui is not handling well around combine/separate.

Select the source and target elements and select the "separate' action.  Then ctrl-M1 to select the remaining components to add them to the separation.

Fixed with compound-select commits.


Bulk fix - Removing .localizationpriority

This is a bulk fix - According to the new DevRel GX group mission, the Localization production team drives the localization priority and translation quality per customer usage data, e.g. Page View or MAU of the language. The localization priority is defined by the project setting in localization pipeline - ms.localizationpriority in the source file is no longer used as a driving parameter to define the localization priority. https://review.docs.microsoft.com/help/contribute/localization-checklist-for-writer?branch=master#stop-using-mslocalizationpriority-metadata

Docs Build status updates of commit 425fa47:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/allocconsole.md
:white_check_mark:Succeeded
View

docs/classic-vs-vt.md
:white_check_mark:Succeeded
View

docs/console-handles.md
:white_check_mark:Succeeded
View

docs/console-screen-buffers.md
:white_check_mark:Succeeded
View

docs/creating-a-pseudoconsole-session.md
:white_check_mark:Succeeded
View

docs/creation-of-a-console.md
:white_check_mark:Succeeded
View

docs/ctrl-c-and-ctrl-break-signals.md
:white_check_mark:Succeeded
View

docs/ecosystem-roadmap.md
:white_check_mark:Succeeded
View

docs/getstdhandle.md
:white_check_mark:Succeeded
View

docs/setconsolectrlhandler.md
:white_check_mark:Succeeded
View

docs/setconsolemode.md
:white_check_mark:Succeeded
View

docs/writeconsole.md
:white_check_mark:Succeeded
View

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

#sign-off


IterableDataset raises exception instead of retrying

Describe the bug
In light of the recent server outages, I decided to look into whether I could somehow wrap my IterableDataset streams to retry rather than error out immediately. To my surprise, datasets already supports retries. Since a commit by @lhoestq last week, that code lives here:
https://github.com/huggingface/datasets/blob/fe2bea6a4b09b180bd23b88fe96dfd1a11191a4f/src/datasets/utils/file_utils.py#L1097C1-L1111C19
If GitHub code snippets still aren't working, here's a copy:
    def read_with_retries(*args, **kwargs):
        disconnect_err = None
        for retry in range(1, max_retries + 1):
            try:
                out = read(*args, **kwargs)
                break
            except (ClientError, TimeoutError) as err:
                disconnect_err = err
                logger.warning(
                    f"Got disconnected from remote data host. Retrying in {config.STREAMING_READ_RETRY_INTERVAL}sec [{retry}/{max_retries}]"
                )
                time.sleep(config.STREAMING_READ_RETRY_INTERVAL)
        else:
            raise ConnectionError("Server Disconnected") from disconnect_err
        return out

With the latest outage, the end of my stack trace looked like this:
...
  File "/miniconda3/envs/draft/lib/python3.11/site-packages/datasets/download/streaming_download_manager.py", line 342, in read_with_retries
    out = read(*args, **kwargs)
          ^^^^^^^^^^^^^^^^^^^^^
  File "/miniconda3/envs/draft/lib/python3.11/gzip.py", line 301, in read
    return self._buffer.read(size)
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "/miniconda3/envs/draft/lib/python3.11/_compression.py", line 68, in readinto
    data = self.read(len(byte_view))
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/miniconda3/envs/draft/lib/python3.11/gzip.py", line 505, in read
    buf = self._fp.read(io.DEFAULT_BUFFER_SIZE)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/miniconda3/envs/draft/lib/python3.11/gzip.py", line 88, in read
    return self.file.read(size)
           ^^^^^^^^^^^^^^^^^^^^
  File "/miniconda3/envs/draft/lib/python3.11/site-packages/fsspec/spec.py", line 1856, in read
    out = self.cache._fetch(self.loc, self.loc + length)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/miniconda3/envs/draft/lib/python3.11/site-packages/fsspec/caching.py", line 189, in _fetch
    self.cache = self.fetcher(start, end)  # new block replaces old
                 ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/miniconda3/envs/draft/lib/python3.11/site-packages/huggingface_hub/hf_file_system.py", line 626, in _fetch_range
    hf_raise_for_status(r)
  File "/miniconda3/envs/draft/lib/python3.11/site-packages/huggingface_hub/utils/_errors.py", line 333, in hf_raise_for_status
    raise HfHubHTTPError(str(e), response=response) from e
huggingface_hub.utils._errors.HfHubHTTPError: 504 Server Error: Gateway Time-out for url: https://huggingface.co/datasets/allenai/c4/resolve/1588ec454efa1a09f29cd18ddd04fe05fc8653a2/en/c4-train.00346-of-01024.json.gz

Indeed, the code for retries only catches ClientErrors and TimeoutErrors, and all other exceptions, including HuggingFace's own custom HTTP error class, are not caught. Nothing is retried, and instead the exception is propagated upwards immediately.
Steps to reproduce the bug
Not sure how you reproduce this. Maybe unplug your Ethernet cable while streaming a dataset; the issue is pretty clear from the stack trace.
Expected behavior
All HTTP errors while iterating a streamable dataset should cause retries.
Environment info
Output from datasets-cli env:

datasets version: 2.18.0
Platform: Linux-4.18.0-513.24.1.el8_9.x86_64-x86_64-with-glibc2.28
Python version: 3.11.7
huggingface_hub version: 0.20.3
PyArrow version: 15.0.0
Pandas version: 2.2.0
fsspec version: 2023.10.0

Thanks for reporting! I've opened a PR with a fix.

Thanks, Mario! Related question (although I guess this is a feature request): could we have some kind of exponential back-off for these retries? Here's my reasoning:

If a one-time accidental error happens, you should retry immediately and will succeed immediately.
If the Hub has a small outage on the order of minutes, you don't want to retry on the order of hours.
If the Hub has a prologned outage of several hours, we don't want to keep retrying on the order of minutes.

There actually already exists an implementation for (clipped) exponential backoff in the HuggingFace suite (here), but I don't think it is used here.
The requirements are basically that you have an initial minimum waiting time and a maximum waiting time, and with each retry, the waiting time is doubled. We don't want to overload your servers with needless retries, especially when they're down :sweat_smile:

Oh, I've just remembered that we added retries to the HfFileSystem in huggingface_hub 0.21.0 (see this), so I'll close the linked PR as we don't want to retry the retries :).
I agree with the exponential backoff suggestion, so I'll open another PR.

@mariosasko The call you linked indeed points to the implementation I linked all the way above, yes, but it has no configurability. Arguably, you want to have a hidden backoff under the hood that catches small network disturbances on the time scale of seconds -- perhaps even with hardcoded limits as is the case currently -- but you also still want to have the configurability as suggested by @lhoestq in the comment I linked.
My particular use-case is that I'm streaming a dataset while training on a university cluster with a very long scheduling queue. This means that when the backoff runs out of retries (which happens in under 30 seconds with the call you linked), I lose my spot on the cluster and have to queue for a whole day or more. Ideally, I should be able to specify that I want to retry for 2 to 3 hours but with more and more time between requests, so that I can smooth over hours-long outages without a setback of days.

I also have my runs crash a surprising amount due to the dataloader crashing because of the hub, some way to address this would be nice.

@mariosasko The implementation for retries is still broken and there is still no exponential back-off.
HuggingFace has a two-tiered back-off:

huggingface_hub.utils provides the low-level http_backoff function which is used for all HTTP requests. It retries first with 1 second delay, then 2, then 4, then 8, then 8, and then it crashes. This is not even half a minute of exponential backoff in total.
datasets.utils.file_utils provides a function _add_retries_to_file_obj_read_method that monkey-patches the read method of an HfFileSystemFile to have constant-time backoff on certain exceptions. The amount of retries and seconds between retries is customisable as explained by @lhoestq here. The implementation looks like this:

https://github.com/huggingface/datasets/blob/65f6eb54aa0e8bb44cea35deea28e0e8fecc25b9/src/datasets/utils/file_utils.py#L822-L841
This still does not catch the correct exceptions and hence no backoff happens at all which means that as soon as the hub is out for more than half a minute, processes will already start failing. Here is a stack trace of an uncaught exception:
  File "/miniconda3/envs/draft/lib/python3.11/site-packages/datasets/iterable_dataset.py", line 268, in __iter__
    for key, pa_table in self.generate_tables_fn(**gen_kwags):
  File "/miniconda3/envs/draft/lib/python3.11/site-packages/datasets/packaged_modules/json/json.py", line 123, in _generate_tables
    batch = f.read(self.config.chunksize)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/miniconda3/envs/draft/lib/python3.11/site-packages/datasets/utils/file_utils.py", line 830, in read_with_retries
    out = read(*args, **kwargs)
          ^^^^^^^^^^^^^^^^^^^^^
  File "/miniconda3/envs/draft/lib/python3.11/site-packages/huggingface_hub/hf_file_system.py", line 757, in read
    return super().read(length)
           ^^^^^^^^^^^^^^^^^^^^
  File "/miniconda3/envs/draft/lib/python3.11/site-packages/fsspec/spec.py", line 1856, in read
    out = self.cache._fetch(self.loc, self.loc + length)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/miniconda3/envs/draft/lib/python3.11/site-packages/fsspec/caching.py", line 189, in _fetch
    self.cache = self.fetcher(start, end)  # new block replaces old
                 ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/miniconda3/envs/draft/lib/python3.11/site-packages/huggingface_hub/hf_file_system.py", line 713, in _fetch_range
    r = http_backoff(
        ^^^^^^^^^^^^^
  File "/miniconda3/envs/draft/lib/python3.11/site-packages/huggingface_hub/utils/_http.py", line 326, in http_backoff
    raise err
  File "/miniconda3/envs/draft/lib/python3.11/site-packages/huggingface_hub/utils/_http.py", line 307, in http_backoff
    response = session.request(method=method, url=url, **kwargs)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/miniconda3/envs/draft/lib/python3.11/site-packages/requests/sessions.py", line 589, in request
    resp = self.send(prep, **send_kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/miniconda3/envs/draft/lib/python3.11/site-packages/requests/sessions.py", line 703, in send
    r = adapter.send(request, **kwargs)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/miniconda3/envs/draft/lib/python3.11/site-packages/huggingface_hub/utils/_http.py", line 93, in send
    return super().send(request, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/miniconda3/envs/draft/lib/python3.11/site-packages/requests/adapters.py", line 713, in send
    raise ReadTimeout(e, request=request)
requests.exceptions.ReadTimeout: (ReadTimeoutError("HTTPSConnectionPool(host='huggingface.co', port=443): Read timed out. (read timeout=10)"), '(Request ID: 3d145d98-e4fa-442f-bead-6be060e60d59)')

requests.exceptions.ReadTimeout is not caught and hence the code fails after 0 retries.

I merged a fix for this, thanks for reporting ! It will now retry on any requests Timeout error, including ReadTimeoutError: https://github.com/huggingface/datasets/pull/7256


Wire up boundary details page

Overview
This PR wires up the boundary details page. Some of the data on this page was not present in the data schema so that has been updated as well.
Closes #89
Notes
I not entirely sure what to do about the activity log. It needs more formatting/syntax to match what is in figma. I think this functionality should all be in one place (and not split between the front end and back end).
Testing Instructions

Login as a contributor
View some boundaries

[x] Ensure "Review" button does not appear for boundaries in review or approved

Login as validator
View some boundaries

[x] Ensure "Edit" button does not appear for drafts

Checklist

[ ] fixup! commits have been squashed
[ ] CHANGELOG.md updated with summary of features or fixes, following Keep a Changelog guidelines
[ ] README.md updated if necessary to reflect the changes
[ ] CI passes after rebase

Will take a look at this after merge conflicts have been fixed

@rajadain Conflicts resolved, ready for review

Taking a look

Also seeing this behavior where the background is white on scrolling down. Going to take a quick stab at this.
https://user-images.githubusercontent.com/1430060/197546476-b5587adb-657c-433c-a6a7-968c65ccd1cb.mp4

the background is white on scrolling down

This fixes it:
diff --git a/src/app/src/components/Submissions/Detail/Detail.js b/src/app/src/components/Submissions/Detail/Detail.js
index 5b044c6..b91af9b 100644
--- a/src/app/src/components/Submissions/Detail/Detail.js
+++ b/src/app/src/components/Submissions/Detail/Detail.js
@@ -18,6 +18,7 @@ import Info from './Info';
 import Map from './Map';
 import { useEndpointToastError } from '../../../hooks';
 import { useStartReviewMutation } from '../../../api/reviews';
+import { NAVBAR_HEIGHT } from '../../../constants';

 export default function SubmissionDetail() {
     const navigate = useNavigate();
@@ -56,7 +57,7 @@ export default function SubmissionDetail() {
             bg='gray.50'
             align='stretch'
             divider={<StackDivider />}
-            h='100vh'
+            minH={`calc(100vh - ${NAVBAR_HEIGHT}px)`}
         >
             <Flex mb={7}>
                 <Flex direction='column' w='50%'>

c9d657d - Validator Approve button
Should administrator also see this?

Also regarding the "Mark approved" button: I couldn't find an empty circle hero icon so I used the checked circle instead.

Going to take another look


Encoding on Web breaks the image

Not sure where the issue is coming from. I'm clearly doing something wrong. Help :D

`
final ByteData byteData = await rootBundle.load(assetPath);
final Uint8List inputBytes = byteData.buffer.asUint8List();
final Uint8List avifBytes = await encodeAvif(inputBytes);
final uniqueFileName = '${nanoid()}.avif';

final supabase = Supabase.instance.client;

await supabase.storage.from(bucketName).uploadBinary(
      uniqueFileName,
      avifBytes,
      fileOptions: const FileOptions(
        contentType: 'image/avif',
      ),
    );

Yeah I'm seeing this too. The output resembles the input image but it's garbled. So it's not failing outright; it's just messing up the conversion somehow. I'd try to debug it but I'm not really sure yet how to look into the rust/wasm side of things.

It looks like there might be an issue with width/height detection. All my original test images for this were square images and I couldn't replicate the issue. Then I tried with a non square image and I got the same broken result.

Ah yep, I can replicate that. Works fine with a square-cropped image, and becomes increasingly more garbled as the aspect ratio grows.

Okay I poked around with this a bit more. I think it has something to do with the decoder returning pixels in the wrong orientation.
On line 37 of lib/src/avif_encoder.dart, I can change the orientation value to anything from 2 through 8 and it will encode the image fine (although it appears in the wrong orientation):
// any value but 1 works
final decoded = await avif_platform.FlutterAvifPlatform.decode(input, 2);

If the orientation is 1 the image becomes garbled, but if I manually swap the width and height values it ends up encoding correctly:
width = orientation == 1 ? decoded.height: decoded.width;
height = orientation == 1 ? decoded.width: decoded.height;

Unfortunately, even with all this hackery I can't it to output a correctly-encoded image in the right orientation. It feels like the problem might be somewhere in the blob of wasm but I don't really know how to explore that.

This part of the code is for fixing the exif orientation issue.
I think you are right about the issue being on the wasm side. We probably shouldn't rotate the image here.
I can take a detailed look at this over the weekend and publish a fix. Feel free to open a PR yourself if you need this sooner.
Thanks for your help.

I think you're exactly right. I was able to to test this locally and it works great.
I'd be happy to publish a PR, but I'm a little lost with the Rust side of things. Seems like that function needs to return an ImageBuffer, and I'm not sure how to do that from a GenericImageView without doing a transformation. I just did imageops::flip_horizontal twice to hack together a test.
I'm not in any desperate hurry for a fix; just needed to get something working for a small test build, which I can do now. Thanks for being so responsive and for keeping up with this plugin in general. Really a lifesaver.


Set "Host: localhost" on all IPP requests targeted to the loopback address

Under some circumstances, Avahi announces local services under the name different from localhost. It cannot be controlled by service itself, even if service attempts to use localhost name, Avahi may override it.
It breaks printing on some IPP over USB devices. IPP over USB specification explicitly requires that the Host: header to be set as either localhost or localhost:port. Although most of devices allows arbitrary syntactically correct value to be set to the Host: header, some of them are more restrictive.
As example, you may look to the following ipp-usb ussue: https://github.com/OpenPrinting/ipp-usb/issues/29
Ideally, this problem should be fixed at Avahi side. However, experience shows that fixing something related to the localhost announces in Avahi may take years :-(
The proposed workaround is to modify CUPS so that it will always set Host: localhost:port, if IPP request is directed to <IP_ADDRESS> or ::1 addresses, regardless of printer's host name, obtained from Avahi

I thought we were already doing this, but will verify.

According to logs from OpenPrinting/ipp-usb#29, no. But may be, it is some old version of CUPS, coming with some distro

No, we were just adding the port number...
[master 8ea6ed3b8] Use localhost host header for loopback/domain sockets (Issue #185)


Update hacking.md

Closes https://github.com/caskroom/homebrew-cask/issues/28964 and https://github.com/caskroom/homebrew-cask/issues/17007.
Ping @caskroom/maintainers for suggestions and feedback - please feel free to edit my commit directly.

Ideally, to close https://github.com/caskroom/homebrew-cask/issues/17007 we should also add _stanza do the man page. @reitermarkus already made a section, anyway, so it’d be a nice fit.

@vitorgalvao so would I update both of these files:
https://github.com/Homebrew/brew/blob/master/manpages/brew-cask.1
https://github.com/Homebrew/brew/blob/master/Library/Homebrew/manpages/brew-cask.1.md
or just one and the other is automatically updated? I remember updating a man file in the past, and I think I updated the wrong one?
PS: Thank you for the careful review and your updates.

@miccal The md one is the one to update. The other is generated with brew man.

@vitorgalvao done in https://github.com/Homebrew/brew/pull/1919.
I was not sure how much information to add to the man entry?


FEATURE REQUEST add Tlayudas

Tlayuda is a traditional mexican food from oaxaca, it´s a bigass tortilla with a bunch of stuff on top, so I had the idea of the tlayuda rendering as a 3d food in the player´s hand would look pretty funny, maybe making it restore a lot of hunger but take longer to eat

most of the food items needed are already added by this mod or other farmer´s delight addons


Fix Counts object creation with empty input

Summary
Previously the counts object was not correctly handling when an empty
dict was passed into the constructor. This was because the
postprocessing was unconditionally being called even though it requires
data to work. This commit fixes the issue by checking if we have data
first and if not, just setting all the fields populated by
postprocessing to empty dicts. This is necessary because we
unconditionally build a results object from the get_counts() call even
if there are no measurement results in the data. At the same time error
handling is added for the most_frequent() method to account for the case
when there is no data in the object.
Details and comments
Fixes #5017

Thank you for the prompt response! Which Terra release will include this fix? Thank you!


Encrypt the datasource password when using JDBC backend

Basically, as the title says, when using JDBC backend on the config server, how can I encrypt the datasource password?
The simplest way seems to be using encrypt.key for symmetric key encryption/decryption but it will be included in the source code.
For asymmetric key encryption/decryption, seems that RSA key can be used.
However, if I use other mechanism, for example the key is in a key vault, how can I extend Spring and implement it myself?
If it is something impossible today, please treat this as a feature request.
Thank you.

I figured it out.
Instead of using {cipher}, I can have my own DataSourceProperties bean that takes username and password from other sources.


router, twig need default Parameter

hi.
twig.extension {{ qrcode_data_uri }} have default parameter, i think {{ qrcode_url }} and router.endroid_qrcode also need. So qrcode generated is unified.

Have same problem with qrcode_url.
Always need write extension option for now. {{ qrcode_url('test', {'extension': 'png'}) }}

@Bukashk0zzz The route parameters is now passed implicitly. @ForeverGlory the controller handling the URL generated by qrcode_url currently merges the URL parameters with the defaults determined in the factory.


Harden immutability of ImmutableList.

Harden immutability of ImmutableList.
This closes a few avenues that could have lead to mutating the supposed to be immutable list. In particular, the backing array was non-final and protected (now private and final), and mutations could still happen through the iterator.
Adds the cult-favorite optimization of sharing a single empty instance if given empty arguments to the static constructor.
Also add fast toArray for object based ImmutableList and ArrayList.

I'm a bit confused. What does this defend us against? The user can always subclass and modify the underlying array—it's protected. Waiting for sealed classes (http://openjdk.java.net/jeps/360) shouldn't we make the backing array private? And at that point, wouldn't all mutation method inducing an actual mutation throw an exception anyway? It's true that in this case if one does an addAll(emptyset) there is no thrown exception, but this seems to me the only case covered here. Am I wrong?

Oh, I didn't realize the backing array was protected, not private.
If you think overriding all of those methods to throw explicitly is too much noise, I'll remove them. (Also, addAll(empty collection) is fine to not throw as now mutation is attempted)

Actually,  it could be a good idea to make it private. No? I think the JDK throws exceptions on any mutation method,  even if the method would not cause a mutation.

The reason I overrode the methods is so if you did something like.
ImmutableIntList intList = ImmutableIntList.of(2,3,4);
intList.add(5);
The add method would show up as deprecated and strikethrough as the compiletime type of intList if ImmutableIntList. If you don't think that is worth their weight I will remove them.

I think the JDK throws exceptions on any mutation method, even if the method would not cause a mutation.

Yes and its a very good idea to have that IMO. If something is immutable, it should be verbose about it.

Just thinking. This might  be a good idea but it should happen for all immutable classes for ortogonality. Probably only ImmutablePair needs fixing.

I'm working on the bulk operation methods now and am also adding the cult-favorite optimization of sharing an empty instance from the static factory.

@vigna If we are going that route, then we should an ImmutableCollection class be made that both of them extend (which will also shoulder some of the burden of some of the overrides)

I'm thinking. An AbstractImmutableCollection extending AbstractCollection would contain basically the same methods and work for future immutable sets, for example. We cannot possibly have completeness—if the JDK adds default mutation methods to the Collection interface we will not cover that, but it does not seem so bad.
I also realized that Pair has two types and it does not make any sense to make into a collection. SortedPair might be a candidate, but the main usefulness I see is contains(), which would tell you whether either element in the pair is equal to some other element. But in order to implement that, we should implement a lot of boilerplate code (iterators, etc.) and it seems a bit overkill to me. Or we should have an additional SameTypePair interface which extends Pair<K,K> and implement sthose as default methods.
I just don't know if this is worth the additional complexity.
I'm adding now an ImmutableCollection driver file—would you kindly move the deprecated/finalized mutation methods up there? Thanks!

I also realized that Pair has two types and it does not make any sense to make into a collection.

Jeah, also conceptually it doesn't make sense IMO. A collection is an arbitrary length structure. A pair is a 2-tuple / 2-list, not a list.

Meh. In standard mathematics, a pair is a set. In the standard axiomatization of mathematics (Zermelo–Fraenkel or Von Neumann), you define an unordered pair as {x, y}, and an ordered pair as { x, y, {x} }. An unordered pair is a set containing the elements, and an ordered pair is a set containing the elements of the pair and a singleton set that tells you which is the first element of the pair. So it is not completely nonsensical. But I agree it's a stretch. We might add just a default convenience method contains() to SortedPair.

@techsy730 no I completely forgot about the lack of multiple inheritance. Sets inherit from AbstractSet, lists from AbstractList, etc. There's no way to slip an class with finalized, deprecated mutation methods in. The best we can do is an AbstractImmutableList extending AbstractLlist, but that really feels wrong.

So it is not completely nonsensical.

Not mathematically, but for JDK's notion of a "Collection".
contains certainly makes sense! But not the whole barrage of collection methods I think.

no I completely forgot about the lack of multiple inheritance. Sets inherit from AbstractSet, lists from AbstractList, etc. There's no way to slip an class with finalized, deprecated mutation methods in.

You could add mixin-interfaces with default methods maybe? But that's also meh

The best we can do is an AbstractImmutableList extending AbstractLlist, but that really feels wrong.

Why? Otherwise you have ConcreteImmutableList extends AbstractList, right :-)?

You could add mixin-interfaces with default methods maybe? But that's also meh

Wait wait. Can you really do that? Override already-implemented methods using a default method from an interface?

The best we can do is an AbstractImmutableList extending AbstractLlist, but that really feels wrong.

Why? Otherwise you have ConcreteImmutableList extends AbstractList, right :-)?

Wrong in the sense that AbstractList > AbstractImmutableList > ImmutableList and then there is no other immutable list implementation seems overkill...

Wait wait. Can you really do that? Override already-implemented methods using a default method from an interface?

Oh, not if they are implemented, I think, true.

Wrong in the sense that AbstractList > AbstractImmutableList > ImmutableList and then there is no other immutable list implementation seems overkill...

Ah, true. Yeah.

One possibility is to not have ImmutableList extend AbstractList, and just implement everything as needed (sublist wouldn't be too terribly hard, as it is just a view over a subarray, and the rest would be busywork method forwarding). That way it can extend ImmutableCollection.
But if we have only one concrete Immutable type, is that refactor really worth it?

Wait wait. Can you really do that? Override already-implemented methods using a default method from an interface?

Sort of. You have to do it explicitly, but you can do
class A extends BFoo implements IFoo {
  @Override
  public void foo() {
    IFoo.super.foo();
  }
}```
and I believe that makes foo call IFoo's default implementation instead of BFoo's implementation (which would normally win otherwise)

and I believe that makes foo call IFoo's default implementation instead of BFoo's implementation (which would normally win otherwise)

yes, that works. But then you might aswell write
  @Override
  public void foo() {
    throw immutable("foo");
  }

(where immutable is some helper generating the exception)

Well, yes, for our case we would be better just throwing the exception or making a separate helper method. But I was speaking in general where such a thing might not be so easy.

and I believe that makes foo call IFoo's default implementation instead of BFoo's implementation (which would normally win otherwise)

yes, that works. But then you might aswell write
  @Override
  public void foo() {
    throw immutable("foo");
  }

(where immutable is some helper generating the exception)

But this is even more code 😂

Re: Pair as collection, while implementing Collection is probably indeed overkill, it might be worth implementing Iterable?

Re: Pair as collection, while implementing Collection is probably indeed overkill, it might be worth implementing Iterable?

Well, what would be its type? Pair has (in general) two distinct elements and Iterable<Object> isn't that useful. Maybe you can add something like public static <TYPE, LEFT extends TYPE, RIGHT extends TYPE> List<TYPE> asList(Pair<LEFT, RIGHT>)?

 I'm finding a lot of BIG_ARRAYS.get(), etc. instead of BigArrays.get() around.

Also, at line 473 of BigListIterators the max variable is never used—can you check it can be removed?

I'm cumulating here observations about the whole code checked in the the last few days, as this is is open (I know, not good practice, please bear with me).
I'm seeing this:
   [javac] /Users/vigna/git/fastutil/src/it/unimi/dsi/fastutil/floats/FloatIterable.java:130: warning: [overloads] forEach(DoubleConsumer) in FloatIterable is potentially ambiguous with forEach(Consumer<? super Float>) in FloatIterable
    [javac] 	default void forEach(final java.util.function.DoubleConsumer action) {
    [javac] 	             ^

That does not sound good. What is happening?

OK, 409 warnings still. This stuff needs some work.

Mind if I deal with the compile warnings in another PR?

Not at all. I fixed a lot of those,  but there are a few unused private method and classe and I don't want to mess up your work.


Failed to parse input fileresults.json if we if we dont use finding-rule-level "0" from versions v0.1.6 onwards

We encountered an issue while parsing the input file "fileresults.json" in versions<EMAIL_ADDRESS>and above. This issue arises when users do not include "0" in the finding-rule-level.
To address this problem, we kindly request that update the readme notes to specify that "0" must be included, as failure to do so it will fail to parse input fileresults.json in versions v0.1.6 and onwards.

Please see the latest testing observation with the v1.0.5
Working Code Scenario-1:
uses<EMAIL_ADDRESS>with:
pipeline-results-json: results.json
finding-rule-level: "4:3:0"
Working Code Scenario-2:
uses<EMAIL_ADDRESS>with:
pipeline-results-json: results.json
finding-rule-level: "3:1:0"
Working Code Scenario-3:
uses<EMAIL_ADDRESS>with:
pipeline-results-json: results.json
finding-rule-level: "3:1:1"
Working Code Scenario-4:
uses<EMAIL_ADDRESS>with:
pipeline-results-json: results.json
finding-rule-level: "4:1:1"
Failing Code:
uses<EMAIL_ADDRESS>with:
pipeline-results-json: results.json
finding-rule-level: "4:3:1"
Error: Failed to parse input fileresults.json
uses<EMAIL_ADDRESS>with:
pipeline-results-json: results.json
finding-rule-level: "4:2:1"
Error: Failed to parse input fileresults.json

For Python code<EMAIL_ADDRESS>onwards failing with the finding rule 3:1:0
Failing Code:
uses<EMAIL_ADDRESS>with:
pipeline-results-json: results.json
finding-rule-level: "3:1:0"
Error: Failed to parse input fileresults.json
uses<EMAIL_ADDRESS>with:
pipeline-results-json: results.json
finding-rule-level: "3:1:0"
Error: Failed to parse input fileresults.json

Hi Team,
do we have any update on this?

Thanks to the Veracode team for putting a fix out for this. It appears to be fixed in 1.0.7 version. The problem was a missing section (flaw_match) in results.json for some languages. This is expected results, but those results aren't accounted for in this action until now. Tweaks have been made to allow the results to still be parsed if that section does not exist in v1.0.7.

Veracode Static Analysis Pipeline scan and import of results to SARIF issue is fixed in<EMAIL_ADDRESS>is working fine for Python code as well. Thank you to the Veracode team


Fix for issue #125 Multiple users are able to sign up with the same email

fix: prevent multiple users from registering via the same email id
Description

Previously multiple users could use the same email address to sign up. With this fix, an email can only be associated to a single user
Related Issue
Fix #125

I think we should get that sqlite database up and running for the user interaction sooner than later, because to find a user by its value in a hset, that is not straight forward 😅

Totally agree with this since the key for hset is currently the user name, having any other db that will allow us to query on basis of document (no-sql) or column (sql) data would make it easier overall. Also, Redis might not be enough at scale

I think we should get that sqlite database up and running for the user interaction sooner than later, because to find a user by its value in a hset, that is not straight forward 😅

Totally agree with this since the key for hset is currently the user name, having any other db that will allow us to query on basis of document (no-sql) or column (sql) data would make it easier overall. Also, Redis might not be enough at scale

Oh no, it wont scale. Started out just for secrets, but you know. It grows.
Thanks for this PR :)


does Franz run on raspberry pi ?

Hi
Is the Franz App image supposed to be able to run on Raspberry pi Raspbian ?
I understood Appimage are supposed to run on any distribution easily, but is it the case for Raspbian ?
Thanks.

im afraid that appimages do not work on raspberry pi we need an intel prosesor even then deb does not work maybe you can close this now?

Thanks for the response

your welcome


iterate over key value pair instead of just keys

local_context.properties only returns the set of keys and thus throws a "ValueError: too many values to unpack" when trying to unwrap it into (key, value) tuple

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. We will now review your pull request.
Thanks,
Microsoft Pull Request Bot


Clearer failure message when repo option is not set

I think we can do something similar to the message used in Phoenix views: https://github.com/phoenixframework/phoenix/blob/v1.0.2/lib/phoenix/view.ex#L145

Closed by #25


added simple examples

See https://plothist.readthedocs.io/en/docs/basics/1d_hist.html#adding-simple-elements


Problems with signatures in websockets live

Error in dashboard/debug on Pusher.com shows up upon logging into a new account, so far only on creating it. Try at home by opening dashboard before opening site.
Websockets network tab shows error after subscribing (which seems to work)
Notifications and messages are not sent due to error (can be caught with a try-catch but will not solve the issue)

Setting 'ForceTLS' on true because that's what the documentation says. Will also try to comment out 'disableStats' and 'enabledTransports', see if that makes a difference.


Add extra stop words

clear.py -> add extra stop words;
clear_20220821_120535_717.csv - > old df deleted
clear_20220827_120356_775.csv - > new cleaned df
EDA_improved.ipynb -> updated charts

Message contain disaster context:

Message contain disaster context:
Message not contain disaster context:

As you can see above, there are almost no common words in the graphs of both cloud graphs. Further search for stop words is unnecessary because it is possible to create too clean data. And the model will be overfitting.