Tracer's imag method returns float; crashes with the Array API

Description
The following:
import jax.numpy as jnp
from jax.lax import while_loop
from array_api_compat import get_namespace

def body(x):
    assert False

def cond(x):
    # x is a tracer, x.real is a tracer, x.imag is a float!
    xp = get_namespace(x)
    xp.square(x.imag)  # No problem with x.real!

while_loop(cond, body, jnp.asarray(0.0))

crashes with:
ValueError: square: inputs must be arrays; got types [<class 'float'>]

Also broken:
import jax.numpy as jnp
from jax.lax import while_loop

def body(x):
    assert False

def cond(x):
    x.imag.shape  # Crash!

while_loop(cond, body, jnp.asarray(0.0))

According to the Array API spec, x.imag must be a Jax array (not a NumPy array, nor a float).
System info (python version, jaxlib version, accelerator, etc.)
An NVIDIA GPU may be present on this machine, but a CUDA-enabled jaxlib is not installed. Falling back to cpu.
jax:    0.4.26
jaxlib: 0.4.26
numpy:  1.26.4
python: 3.11.8 (main, Feb 22 2024, 17:25:49) [GCC 11.4.0]

@jakevdp (This breaks Array API usage)

Thanks - it seems that the validation for array API inputs is too strict: we should probably allow Python scalars here: https://github.com/google/jax/blob/1d26365e601528d4cb63ca9d39213248eb320adb/jax/experimental/array_api/_elementwise_functions.py#L25-L26

Thanks - it seems that the validation for array API inputs is too strict: we should probably allow Python scalars here:

Hmm, are you sure that's enough?   If you allow scalars, it means that client code has to handle scalars, which often means wrapping return values in jnp.asarray.  Also, the Array API spec says that imag returns an "array".  Doesn't that mean that the return value should be a jax.Array?

In general JAX code uses scalars and arrays interchangeably: for example, in jaxprs, compile-time constants are represented by scalars, not by JAX arrays. I suspect it would be very intrusive to try to change this.
Another aspect of this change: evenutally, when jax.numpy itself subsumes jax.experimental.array_api, the functions will accept scalar arguments, so this change makes the current temporary namespace more inline with how it will look in the future.

In general JAX code uses scalars and arrays interchangeably: for example, in jaxprs, compile-time constants are represented by scalars, not by JAX arrays. I suspect it would be very intrusive to try to change this.

I understand that, but I think we're talking about different things.
Whether the library accepts scalars in place of arrays is up to you.  That's not the issue.
The issue is what the Jax library returns.  As a user, I think we should be able to count on the return value being an array because that's what the spec promises.  Otherwise, Array API compliant code will not run with Jax.

The issue is what the Jax library returns

Understood: within traced code, tracer.imag returns a float 0.0 for a real-valued tracer, representing the fact that it's a constant that does not depend on any input value. Changing this will be a very intrusive change, and not easy to do.

This is a bit of a tricky area: note that x.imag will always return an array if the input is an array (rather than something derived from a Python scalar).
In [2]: def f(x):
   ...:     print(type(x.imag))
   ...:     return x
   ...:

In [3]: f(1.0)
<class 'float'>
Out[3]: 1.0

In [4]: jax.jit(f)(1.0)
<class 'float'>
Out[4]: Array(1., dtype=float32, weak_type=True)

In [5]: f(jnp.arange(4))
<class 'jaxlib.xla_extension.ArrayImpl'>
Out[5]: Array([0, 1, 2, 3], dtype=int32)

In [6]: jax.jit(f)(jnp.arange(4))
<class 'jax._src.interpreters.partial_eval.DynamicJaxprTracer'>
Out[6]: Array([0, 1, 2, 3], dtype=int32)

jnp.array(0.0) is kind of a strange thing: it's essentially JAX's representation of a float scalar, which lets us trace functions with scalar arguments so that they'll have the same semantics as a non-traced version of the function. This does lead to weird corner cases, but my experience is that changing those corner cases often leads to other, deeper errors.

Changing this will be a very intrusive change, and may not be easy to do.

Okay, glad we're on the same page :smile:   It's unfortunate that's a difficult change, but I guess it has to do with declaring that the value is constant?
Regarding your last comment, yeah I was just trying various things like that.  I understand your point.  From the outside, it is a bit odd that scalar arrays are so fundamentally different from non-scalar arrays.
Would it be possible to use np.empty((), dtype=float0 in place of 0.0?  Perhaps this can be solved in tandem with https://github.com/google/jax/issues/20620?

float0 is an autodiff thing; this is unrelated.

Strangely enough, all of this scalar array weirdness comes from the fact that we want x + 1 to have the same dtype as x. It's hard to change these things without affecting those promotion semantics.

Okay, I thought it was just a way to represent a constant zero, which seems to be the motivation for using 0.0 instead of jnp.zeros(()) ?  Thanks for correcting me.

Okay, I thought it was just a way to represent a constant zero,

float0 is the sole element of a zero-dimensional vector space. Constant zero is a particular value within a 1-dimensional vector space.

So float0 arrays should always have shape ()?  If that's the case, I've been using it completely wrong.

No, float0 can have arbitrary shape. Each element in a float0 array represents the sole elements in a zero-dimensional vector space.

Reopening, we fixed the initial issue, but we need to think about the fact that jax.jit(lambda x: x.imag.shape)(1.0) fails for weakly-typed scalar inputs. It's a strange corner case...


Integrate AdapterDrop

🚀 Feature request
Add our internal implementation of AdapterDrop to the AdapterHub repository.
https://arxiv.org/abs/2010.11918
This consists of several smaller features, which I'll add later to this feature request.

Just to vote here, that I'm following this and will be using it for our company's releases this summer.

Just to vote here, that I'm following this and will be using it for our company's releases this summer.

Great to know! We are currently integrating the required changes into our upcoming release (v2 of AdapterHub). It will be available in a few weeks.

Great to know! We are currently integrating the required changes into our upcoming release (v2 of AdapterHub). It will be available in a few weeks.

Closing with release of v2.


[Codespace] There is no file shows when trying uploading a file

OS: Win10
Build Version: Latest Release
Repro Steps:

Create a new Storage Account -> Create a blob container.
Right click the blob container -> Click "Upload Files...".
Check the result.

Expect:
The file shows in a dialog.
Actual:
There is no file shows.

Related: https://github.com/microsoft/vscode/issues/110265

I've tried this scenario. The experiences aren't optimal.

In a newly created storage account, created a blob container called "container1"
Right click on the blob container, then select "Upload Files..."
In the command palette, select the readme.md file from: codespace ➜ ~/workspace/node-todo (master)

Actual result: once the upload completed, readme.md did show up under the container "container1" node
Continue testing:

Right click on the "container1" node and select "Open in File Explorer"
In the command palette, select "Open in new window". This will launch another tab of VS Code Codespace in the browser and on the "container1" node will be displayed.

Actual result: You will see the new tab "container1 [Codespaces] - Visual Studio Code - Insiders - Codespaces" like this:

Clicking on the node "container1' shown as the last node in the above screenshot, you'll get the below error:

Remember that at this point, I already have the file "readme.md" uploaded into container "container1" as shown in the main Codespaces window:

BTW, this works as expected in normal VS Code with the storage extension. That is, the files are shown if i open in a new window.

Actual result: once the upload completed, readme.md did show up under the container "container1" node

@jinglouMSFT As of right now it's by design to not show a blob that has just been uploaded (unless the blob container is already expanded). When you uploaded "readme.md" was "container1" expanded?

Actual result: You will see the new tab "container1 [Codespaces] - Visual Studio Code - Insiders - Codespaces" like this:

Codespaces' behavior with opening in file explorer is funky right now. It looks like you ran into a similar issue CTI filed in https://github.com/microsoft/vscode-azurestorage/issues/874. A VS Code bug on this has been filed in https://github.com/microsoft/vscode/issues/110352.
As for the original reason for this issue, which was not being able to select files to upload in Codespaces, it has been resolved (VS Code bug: https://github.com/microsoft/vscode/issues/110265).
So this issue can be closed once we tie up any loose ends based on this comment.

OK. my issue is different from what's originally in bug 877.  Created a new issue #898 for my part of the issue.
#877 is considered fixed and closed.


Can't add new machine to cluster with discovery URL

According to the docs,

If you’re already operating a bootstrapped cluster with a discovery URL, adding new machines to the cluster is very easy. All you need to do is to boot the new machines with a cloud-config containing the same discovery URL. After boot, the new machines will see that a cluster already exists and attempt to join through one of the addresses stored with the discovery URL.

First, I create a cluster with 2 members bootstrapping via a discovery URL, and that boots up fine. If I try to add another member by deploying another instance with the same cloud-config as the other two, I get the following output:
Feb 19 04:01:06 ip-10-0-3-4.ec2.internal systemd[1]: Starting etcd2...
Feb 19 04:01:06 ip-10-0-3-4.ec2.internal etcd2[1330]: recognized and used environment variable ETCD_ADVERTISE_CLIENT_URLS=http://<IP_ADDRESS>:2379,http://<IP_ADDRESS>:4001
Feb 19 04:01:06 ip-10-0-3-4.ec2.internal etcd2[1330]: recognized and used environment variable ETCD_DATA_DIR=/var/lib/etcd2
Feb 19 04:01:06 ip-10-0-3-4.ec2.internal etcd2[1330]: recognized and used environment variable ETCD_DISCOVERY=https://discovery.etcd.io/fad7312b90740dae2ac80fe883f29aa3
Feb 19 04:01:06 ip-10-0-3-4.ec2.internal etcd2[1330]: recognized and used environment variable ETCD_ELECTION_TIMEOUT=1200
Feb 19 04:01:06 ip-10-0-3-4.ec2.internal etcd2[1330]: recognized and used environment variable ETCD_INITIAL_ADVERTISE_PEER_URLS=http://<IP_ADDRESS>:2380
Feb 19 04:01:06 ip-10-0-3-4.ec2.internal etcd2[1330]: recognized and used environment variable ETCD_LISTEN_CLIENT_URLS=http://<IP_ADDRESS>:2379,http://<IP_ADDRESS>:4001
Feb 19 04:01:06 ip-10-0-3-4.ec2.internal etcd2[1330]: recognized and used environment variable ETCD_LISTEN_PEER_URLS=http://<IP_ADDRESS>:2380
Feb 19 04:01:06 ip-10-0-3-4.ec2.internal etcd2[1330]: recognized and used environment variable ETCD_NAME=62035782f5474270b6df65b954eaff4d
Feb 19 04:01:06 ip-10-0-3-4.ec2.internal etcd2[1330]: etcd Version: 2.2.0
Feb 19 04:01:06 ip-10-0-3-4.ec2.internal etcd2[1330]: Git SHA: e4561dd
Feb 19 04:01:06 ip-10-0-3-4.ec2.internal etcd2[1330]: Go Version: go1.4.2
Feb 19 04:01:06 ip-10-0-3-4.ec2.internal etcd2[1330]: Go OS/Arch: linux/amd64
Feb 19 04:01:06 ip-10-0-3-4.ec2.internal etcd2[1330]: setting maximum number of CPUs to 1, total number of available CPUs is 1
Feb 19 04:01:06 ip-10-0-3-4.ec2.internal etcd2[1330]: the server is already initialized as member before, starting as etcd member...
Feb 19 04:01:06 ip-10-0-3-4.ec2.internal etcd2[1330]: listening for peers on http://<IP_ADDRESS>:2380
Feb 19 04:01:06 ip-10-0-3-4.ec2.internal etcd2[1330]: listening for client requests on http://<IP_ADDRESS>:2379
Feb 19 04:01:06 ip-10-0-3-4.ec2.internal etcd2[1330]: listening for client requests on http://<IP_ADDRESS>:4001
Feb 19 04:01:11 ip-10-0-3-4.ec2.internal unknown[1330]: stopping listening for client requests on http://<IP_ADDRESS>:4001
Feb 19 04:01:11 ip-10-0-3-4.ec2.internal unknown[1330]: stopping listening for client requests on http://<IP_ADDRESS>:2379
Feb 19 04:01:11 ip-10-0-3-4.ec2.internal unknown[1330]: stopping listening for peers on http://<IP_ADDRESS>:2380
Feb 19 04:01:11 ip-10-0-3-4.ec2.internal unknown[1330]: context deadline exceeded
Feb 19 04:01:11 ip-10-0-3-4.ec2.internal systemd[1]: etcd2.service: Main process exited, code=exited, status=1/FAILURE
Feb 19 04:01:11 ip-10-0-3-4.ec2.internal systemd[1]: Failed to start etcd2.
Feb 19 04:01:11 ip-10-0-3-4.ec2.internal systemd[1]: etcd2.service: Unit entered failed state.
Feb 19 04:01:11 ip-10-0-3-4.ec2.internal systemd[1]: etcd2.service: Failed with result 'exit-code'.
Feb 19 04:01:21 ip-10-0-3-4.ec2.internal systemd[1]: etcd2.service: Service hold-off time over, scheduling restart.
Feb 19 04:01:21 ip-10-0-3-4.ec2.internal systemd[1]: Stopped etcd2.

I believe the doc you refer is out of date. Please check https://github.com/coreos/etcd/blob/master/Documentation/runtime-reconf-design.md#do-not-use-public-discovery-service-for-runtime-reconfiguration
/cc @joshix

close in favor of https://github.com/coreos/docs/issues/755

Thank you!

@ericandrewlewis If I understand what you're trying to do correctly; it's what I was trying to do: promote an etcd2 node from a proxy to a cluster member.  @joshix wrote and pointed me to the etcd live cluster reconfiguration doc that outlines this process nicely.

@ericandrewlewis @rca ... and we'll have updates soon for that confusing legacy section in https://coreos.com/os/docs/latest/cluster-discovery.html, so that it will stop lying to you about how to add new members.


How to make the columns, filters and actions sections collapsed by default ?

https://github.com/dcasia/nova-mega-filter#settings
MegaFilter::make([
    'settings' => [
        'columnsActive' => false,
        'filtersActive' => false,
        'actionsActive' => false,
    ],
])

You can set all these value to false

thank you for your reply but it didn't work for me.


Remove unnecessary state from iptableBuffer

Hi, I'm trying to figure out how to implement IPv6 support and this PR is meant to make the code a little bit clearer.
Every change should not affect the overall component behavior, I think.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

12 of 32 (37.5%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+1.2%) to 50.743%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

pkg/server/server.go
0
20
0.0%

Totals

Change from base Build<PHONE_NUMBER>:
1.2%

Covered Lines:
854

Relevant Lines:
1683

💛  - Coveralls

Hi @s1061123 , I tried to run pulicyrules_test.go in a loop, using Go benchmark features.
It shows some flakiness in the test environment, and failures prevent me to see the number of allocations per test run.
I think it is due to a sort of delay between podListers and informers, derived from test environment. I think there is no problem on the production side.
Here is a sample error
2022-08-23T10:26:19.9916932Z •I0823 10:26:19.989801   11303 pod.go:123] Starting pod config controller
2022-08-23T10:26:19.9917474Z I0823 10:26:19.989817   11303 shared_informer.go:223] Waiting for caches to sync for pod config
2022-08-23T10:26:19.9917959Z I0823 10:26:19.989860   11303 pod.go:361] pod:testns1/testpod1 samplehost/
2022-08-23T10:26:19.9918707Z I0823 10:26:19.989905   11303 reflector.go:175] Starting reflector *v1.Pod (15m0s) from pkg/mod/k8s.io/client-go@v0.18.8/tools/cache/reflector.go:125
2022-08-23T10:26:19.9919539Z I0823 10:26:19.989910   11303 reflector.go:211] Listing and watching *v1.Pod from pkg/mod/k8s.io/client-go@v0.18.8/tools/cache/reflector.go:125
2022-08-23T10:26:19.9920298Z I0823 10:26:19.989994   11303 pod.go:361] pod:testns1/testpod2 samplehost/
2022-08-23T10:26:19.9921373Z I0823 10:26:19.990059   11303 server.go:301] OnPodUpdate testns1/testpod1 -> testns1/testpod1
2022-08-23T10:26:19.9921740Z I0823 10:26:19.990130   11303 pod.go:361] pod:testns1/testpod1 samplehost/
2022-08-23T10:26:19.9922095Z I0823 10:26:19.990171   11303 pod.go:361] pod:testns1/testpod1 samplehost/
2022-08-23T10:26:19.9922408Z I0823 10:26:19.990188   11303 server.go:309] OnPodDelete
2022-08-23T10:26:19.9922846Z I0823 10:26:19.990191   11303 server.go:301] OnPodUpdate testns1/testpod2 -> <nil>
2022-08-23T10:26:19.9923197Z I0823 10:26:19.990228   11303 pod.go:361] pod:testns1/testpod2 samplehost/
2022-08-23T10:26:19.9923506Z I0823 10:26:19.990319   11303 server.go:295] OnPodUpdate
2022-08-23T10:26:19.9923940Z I0823 10:26:19.990324   11303 server.go:301] OnPodUpdate <nil> -> testns1/testpod2
2022-08-23T10:26:19.9924272Z I0823 10:26:19.990365   11303 pod.go:361] pod:testns1/testpod2 samplehost/
2022-08-23T10:26:19.9924450Z
2022-08-23T10:26:19.9924645Z ------------------------------
2022-08-23T10:26:19.9924977Z • Failure [0.001 seconds]
2022-08-23T10:26:19.9925202Z policyrules testing
2022-08-23T10:26:19.9925933Z /home/runner/work/multi-networkpolicy-iptables/multi-networkpolicy-iptables/pkg/server/policyrules_test.go:222
2022-08-23T10:26:19.9926745Z   egress rules podselector/matchlabels [It]
2022-08-23T10:26:19.9927553Z   /home/runner/work/multi-networkpolicy-iptables/multi-networkpolicy-iptables/pkg/server/policyrules_test.go:694
2022-08-23T10:26:19.9927844Z
2022-08-23T10:26:19.9928003Z   Expected
2022-08-23T10:26:19.9928333Z       <string>: "...-TO -m comm..."
2022-08-23T10:26:19.9928580Z   to equal               |
2022-08-23T10:26:19.9928913Z       <string>: "...-TO -o net1..."
2022-08-23T10:26:19.9929195Z
2022-08-23T10:26:19.9929681Z   /home/runner/work/multi-networkpolicy-iptables/multi-networkpolicy-iptables/pkg/server/policyrules_test.go:768

Anyway, even if doing a benchmark is the most correct way to remove performance doubts, consider having a look at the code, as iptableBuffer variable is created, used, and finalized in server.generatePolicyRules(*v1.Pod, *controllers.PodInfo) that is invoked once per target pod.
The number of invocation of newIptableBuffer() should be the same as FinalizeRules(), but maybe I'm missing some usage of it.

My concern in your design is bytes.NewBuffer() in FinalizeRules() because 'bytes.NewBuffer()` may invoke memory allocation.
In this case, I suppose we should benchmark, focusing on the buffer structure (i.e. your change and current) to understand how many memopy allocation is invoked in test, not in CI.


gRPC PHP Client Interceptor

This PR adds machinery to intercept RPCs on client side to gRPC PHP.

Really appreciate @mehrdada for spending a lot of time helping to review the code before create this PR.
Going to write an gRFC.

Can you please change the commit message ("new implementation") to be more descriptive? (This is a good guide to follow: https://chris.beams.io/posts/git-commit/#seven-rules)
(For history preservation purposes, draft versions of this PR were reviewed https://github.com/ZhouyihaiDing/grpc/pull/4)

Ping

@ZhouyihaiDing @stanley-cheung what remains to be done for this PR?
It seems strange that the C/C++ build failed for the PHP only change. Should this just be a matter of re-running?

@hsaliak I'll update and rebase it, and get it merged today.

@mehrdada . PR is reviewed and rebased to one commit. Sorry about this delay!

Interop Cloud-to-Cloud Tests (internal CI) - #15289
Interop Cloud-to-Prod Tests (internal CI) - #15289
Distribution Tests Linux (standalone subset)  - #14094


Idle Account Suspension Configuration Form Is Not Validated

Describe the issue:
The system doesn't validate the "Allowed idle time span in days" field and the "Alert sending time periods in day" field in "Idle Account Suspend" form.

How to reproduce:

Open the IS management console.
Change values of the "Allowed idle time span in days" field and the "Alert sending time periods in day" field in the "Idle Account Suspend" section. (change them to strings in any pattern, any decimal values, or any minus integers).
Click on the "update" button and check the response alert.

Expected behavior:
Should raise a validation error for any invalid form inputs. But currently, it stores invalid form input values also.
Environment information :

Product Version: IS 6.0.0-m1
OS: Mac OS 12.3.1
Database: PostgreSQL 14
Userstore: LDAP

This issue is being closed due to extended inactivity. Please feel free to reopen it if further attention is needed. Thank you for helping us keep the issue list relevant and focused!


Wrong metric name in "Querying Metrics from Prometheus"

@ozevren commented on Tue Jul 17 2018
https://preliminary.istio.io/docs/tasks/telemetry/querying-metrics/
Instructions ask to enter "istio_request_count", but this doesn't exist. "istio_request_bytes_count" works.

istio_request_count has been changed to istio_requests_total and https://github.com/istio/istio.github.io/pull/1742 fixed this.


Fix readonly serializing on structs/string

PR Details
Fixes Serialization of readonly members
Description

readonly structs/strings dont get serialized anymore
get only properties of structs/strings dont get serialized anymore
HasSet fix in fielddescriptor

Related Issue
https://discord.com/channels/500285081265635328/1156630820430303373
First part of fixing the serialization on get only members.
Fixing non backing fields is unaffected by this PR
Types of changes

[ ] Docs change / refactoring / dependency upgrade
[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist

[ ] My change requires a change to the documentation.
[ ] I have added tests to cover my changes.
[x] All new and existing tests passed. ( The Image tests and rasterized fonts test fail i was never able to get them working, but they fail without the changes too )

Can I close this one @IXLLEGACYIXL ?

yes


how the -R switch works in bsgs mode

how the -R switch works in bsgs mode

hi. can you explain how random mode works in BSGS mode

It select a random value in the given range, and then  it use as basekey for the search in the bsgs mode, from that value to the same value plus N
example:
[+] Min range:<PHONE_NUMBER>00000000000000000000
[+] Max range:<PHONE_NUMBER>000000000000000000000
[+] Setting random mode.
[+] Setting N up to<PHONE_NUMBER>4416.
...
[+] Thread b521656305ca32547ac29f567793ee
[+] Thread 9af90da21dc807ac91977a4430c3cd
[+] Thread c2d10f360a2c06150876e5bad364e0
...

ever thread set his own base key, N =<PHONE_NUMBER>4416 this is 0x100000000000 (hexadecimal)  (2^25), so every thread search from - to:
[+] Thread b521656305ca32547ac29f567793ee to b521656305ca32547ad29f567793ee
[+] Thread 9af90da21dc807ac91977a4430c3cd to 9af90da21dc807ac91a77a4430c3cd
[+] Thread c2d10f360a2c06150876e5bad364e0 to c2d10f360a2c06150886e5bad364e0

Sorry for not explain this before.
Regards

how to increase N

-n value
I recoment one of the next values:
70368744177664
281474976710656
1125899906842624
4503599627370496
18014398509481984
72057594037927936
288230376151711744
1152921504606846976
4611686018427387904

keyhunt -m bsgs -f 120.txt -b 120 -R -k 20 -n<PHONE_NUMBER>4416
error

yes i have some bug,  i will solve it in the next update

thx.
when to wait for the update?

it fixed now!

Thank you so much 😊

From: Alberto @.>
Sent: Tuesday, November 22, 2022 02:27
To: albertobsd/keyhunt @.>
Cc: Subscribed @.***>
Subject: Re: [albertobsd/keyhunt] how the -R switch works in bsgs mode (#72)
Closed #72https://github.com/albertobsd/keyhunt/issues/72 as completed.
—
Reply to this email directly, view it on GitHubhttps://github.com/albertobsd/keyhunt/issues/72#event-7862535235, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AXPS6QJM7DMOEVMYBMWEN4TWJQORTANCNFSM45FHR2DA.
You are receiving this because you are subscribed to this thread.Message ID: @.***>


question about the swin-tiny model

I can replicate the result of the swin-large* model. But i can't replicate the result of the swin-tiny model with the same training command
python -m torch.distributed.launch
--nproc_per_node=8
--use_env main.py
--backbone swin_tiny
--pretrained params/swin_tiny_patch4_window7_224.pth
--output_dir logs/swin_tiny_mul3
--epochs 150
--lr_drop 120
--num_feature_levels 3
--num_queries 300
--use_nms

Could you attach the GPU devices and environment you used？
We train the Swin-Tiny model with 8xA6000, Pytorch 1.9, and CUDA 11.2.

I used 8*A100, pytorch1.8 and CUDA 11.2 for training swin-tiny model. Now i can get 27.44mAP, but there still exists 1 mAP gap.

Thanks for your reply.
We have not trained the model on A100 and hope you can do a few more training sessions and test with the best model.
We report the model with the highest mAP during training rather than the model of the last epoch.


Need a version that works with Windows 10 Kiosk Mode

Currently there is no way to select the Windows Virtual Desktop client to be used with Windows 10 kiosk mode. I have tried both the wizard and the Powershell ways of setting it up and neither way "sees" the WVD client as a valid app that can be used. Would like to use with Windows 10 Enterprise LTSC in Kiosk mode on a thin client so they can log in and work securely.

@will-smothers, happy to help! Kindly share a link to the documentation you are referencing and we will gladly assist further.
Cheers,
Femi

https://docs.microsoft.com/en-us/azure/virtual-desktop/connect-windows-7-and-10

Adding content author, @Heidilohr for insight.

@femsulu  @Heidilohr
Any chance that improvements have been made in this arena? We're running into the same thing.

Closing this as it's not an issue with a specific article. LTSC is not supported for Azure Virtual Desktop.  Ideas should be posted to the Azure Virtual Desktop feedback pages: https://techcommunity.microsoft.com/t5/azure-virtual-desktop-feedback/idb-p/AzureVirtualDesktop
#please-close


Cut release 0.18.2 with the fix for Docker + memory limits

@dchen1107

Thanks @brendandburns
LGTM

dang it, I screwed this up...  reverting...


Recurring error in links.py due to Numpy

Hi!
I observe a recurring error message when using GammaGAM and InvGaussianGAM: "ValueError: Integers to negative integer powers are not allowed".
This seems to be generated by for example the row 304 in links.py, where the power is applied as follows: "mu**-2" (but such powers occurs more than once in this script).
It seems that Numpy doesn't allow this but would allow "mu**-2.0". See here for more info: https://stackoverflow.com/questions/43287311/why-cant-i-raise-to-a-negative-power-in-numpy
Would be nice if you could implement this quick fix, adding a ".0" :) Thanks!

@AnastasiaVarlet
great find! i will take a look

ive replicated this error. here is the change you suggested (in a few places)
https://github.com/dswah/pyGAM/pull/134


Ignore system tests results

The directory keeps popping up after I test any system test PR. This should stop.

LGTM 💯 👍  Merge after test passes.


The terminal process exited with code 1 - Can't open terminal

VSCode Version: 1.4
OS Version: Ubuntu 16.04

Steps to Reproduce:

Open VSCode
Press Ctrl+` to open integrated terminal
The message "The terminal process exited with code 1" is displayed always (attached)

Can you check if there are errors in the dev tools console? (Help > Toggle Developer Tools)
Also do you have anything in your settings.json? Anything running in your .bashrc that could be causing the exit?

The dev console doesn't show any errors, settings.json is empty, .bashrc hasn't been changed.
It appears that after installing zsh, console is now working.
I think this is a local issue, If it happens again I'll try to dive deeper.
Thank you for your help @Tyriar.


feature: relates to #121; ensure operator-builder binary builds

Signed-off-by: Dustin Scott<EMAIL_ADDRESS>

LGTM.  Only comment is commit message should be ci: ... rather than feature: ...
I can change that when I squash and merge.

LGTM. Only comment is commit message should be ci: ... rather than feature: ...
I can change that when I squash and merge.

Gotcha, makes sense.  Once we get our developer guide we probably should include what we feel are the recommended categories probably via https://github.com/vmware-tanzu-labs/operator-builder/issues/64 .

@lander2k2 @scottd018 ci is a normal category according to conventions, it describes changes to a CI pipeline that do not add or fix components of the software itself

@lander2k2 @scottd018 ci is a normal category according to conventions, it describes changes to a CI pipeline that do not add or fix components of the software itself

Yep, that’s good info. I just ask that we link what is considered common convention in the extended contributing guide. Not everyone has the conventions memorized so a link will be handy for those that don’t know them well or are learning to conform to them (like myself…ha)


Gracefully handle Processors that can't provide options early

The Processor interface demands that the init() method of a processor
is called before any of its other methods. However, we need to decorate
the processing environment according to the processor type and that type
is determined based on the supported options.
This change makes the handling of supported options lenient, ignoring
failures that happen when a processor does not support calling this
method early. If a processor wants to be incremental, it needs to allow
this early call.
@ronshapiro, @tbroyer, @eamonnmcmanus I'd appreciate your feedback
on this possible solution.
~Alternatively we could replace the  getSupportedOptions call
with looking for the @SupportedOptions annotation and mandating that
incrementality be declared there.~

What if instead of wrapping the Processor (and Filer) with different implementations based on the kind of incremental processor, there was one type of Processor that had a DelegatingStrategy which could be created lazily (when getSupportedOptions() is called). That way you can keep the ordering specified by the Processor contract and still wrap the types as necessary.

Alternatively we could replace the getSupportedOptions call
with looking for the @SupportedOptions annotation and mandating that
incrementality be declared there.

That would defeat the whole idea of using getSupportedOptions() to begin with (which was to allow incrementality to be dynamic)

@ronshapiro We can't unconditionally wrap the environment, because some processors expect to be able to cast it to its implementation type. E.g. Lombok will cast the ProcessingEnvironment to JavacProcessingEnvironment and I assume others do similar things. For Lombok this has been fixed but we don't want to just break other processors that do this.

I don't think you'd need to unconditionally wrap the environment. In the simple case (no incrementality) it'd just be a pass through.

FWIW, the current approach of the PR wouldn't work for Dagger. This is a way to make sure the incremental processor doesn't crash as reported in the initial bug, but instead would force it to be non-incremental.
It's also not such a clear way to identify the error to the user - if I intend to be incremental but I need init() to be called, I will never realize that my processor isn't actually working as expected.

@ronshapiro The environment is passed to init(). We only know if a processor is incremental after calling getSupportedOptions(). So how would we know whether to wrap the environment when calling init()?

I think I have a solution that'll work well for everyone: We stay with the META-INF file as the first line of registration. If a processor wants to decide its type at runtime, it declares itself as "dynamic" in the META-INF file. This tells Gradle that it is safe to wrap the environment for this processor. Processors that don't opt-in at all will work as before.

@marcphilipp This is ready for another look.

With this change, if a processor knows nothing about Gradle and needs init() to be called before getSupportedOptions(), the compilation will crash.

@ronshapiro I changed the implementation.

If they want to rely on an unsupported API, let them deal with the complications.

You'd be surprised by how many processors do that and we can't take that stance without breaking lot of builds out there. We are very serious about backwards compatibility.


Key Statistics No Display

OS
Mac
VERSION
1.6.6
ISSUE DESCRIPTION
redis version 5.x.x Key Statistics No Display

try again in latest version


fix(#233): made voiceover fix smaller

Fixes #233 without breaking voiceover
A fix mostly inspired by https://github.com/twbs/bootstrap/blob/1df098361cac04217d6a464c80e890c4335ecb5c/scss/mixins/_visually-hidden.scss

Hello @jonathantneal, could you please review this PR?


Add option to include relative links

Initial checklist

[X] I read the support docs
[X] I read the contributing guide
[X] I agree to follow the code of conduct
[X] I searched issues and couldn’t find anything (or linked relevant results below)

Problem
I'd like to use this plugin to add target and rel properties to links with relative urls. Currently only absolute urls are supported.
Solution
I suggest the test option to be responsible for that. By default it filters links with absolute urls, and you can override it. This is a breaking change.
Alternatives

Add a new option includeRelative
Remove filtering completely

Your use case sounds unrelated to this project. This project is explicitly called “external links”, and is about making them safe.
What rels and target do you want to add?
I’d probably recommend to make your own plugin. That’s what our entire ecosystem is about: that you can write plugins to do anything. You likely don’t need much of the logic here. You’ll have simpler code, a smaller bundler, and better performance

I just want certain links to open in a new tab. My own plugin might be a better option here. Thanks!


Question

Hello,
First thank you for building this project. I am curious is this simply a packaging system similar to Atmosphere, where I deploy stratosphere on my server, then I can make pull my own packages?
Also is this approach dual compatible meaning can I use Atmospherejs packages as well as my own private packages ?
And finally I am using meteor <IP_ADDRESS> , and meteor tool s at 1.1.9, will this have any adverse affects by modifying that file with the changes in your instructions?

Hello,
This might indeed need some clarification in the readme.
This is indeed something like atmosphere, but which you can deploy on your own servers. The way meteor works is that you can have only 1 package server set and it needs to contain all packages you use. Therefore stratosphere will contain the information about all upstream (atmosphere) packages + your own packages.
So yes, you will have access to all atmosphere packages + your own ones.
The only adverse affect of the file change is that you can not publish to atmosphere with the file change. It disables login to the package server, which atmosphere requires but stratosphere currently does not support. You can however always undo the file change and everything is back to normal.

Interesting,
Do you have a solution to the last response?

The only adverse affect of the file change is that you can not publish to atmosphere with the file change. It disables login to the package server, which atmosphere requires but stratosphere currently does not support. You can however always undo the file change and everything is back to normal.

I'd be interested in possibly doing a PR if you can point me in the right direction.

Well, Meteor-tool tries to do an oAuth login with a meteor developer account. So in theory, setting up oAuth for meteor developer accounts (using default package: meteor-developer-accounts) should be sufficient. But this gave me errors.
I describe my findings here: https://github.com/meteor/meteor/issues/4497 .
This could be a bug in Meteor, but I'm not familiar enough with oAuth to say. However, if this would be solved, then no file modifications would be necessary and installation of stratosphere would be much less cumbersome.

@sebakerckhof I agree that this app is sorely needed. I am also interested in hosting my own packages.  Maybe we can figure out the OAuth issue together :-)
I cloned the repo, created my OAuth app on meteor.com, and went to start it. But it's not clear what needs to be done in step 5. I found my packages database file. But when I look in the app, there are no instructions. Help?

Have you tried typing meteor login prior to publishing the package. ?
On Tue, Oct 13, 2015 at 8:40 AM Gerard Sychay<EMAIL_ADDRESS>wrote:

@sebakerckhof https://github.com/sebakerckhof I agree that this app is
sorely needed. I am also interested in hosting my own packages. Maybe we
can figure out the OAuth issue together :-)
I cloned the repo, created my OAuth app on meteor.com, and went to start
it. But it's not clear what needs to be done in step 5. I found my packages
database file. But when I look in the app, there are no instructions. Help?
—
Reply to this email directly or view it on GitHub
https://github.com/sebakerckhof/stratosphere/issues/2#issuecomment-147754318
.

Not yet. I thought that before I started publishing my own packages, I would see all the Atmosphere packages on my Stratosphere app. Right now, the main screen says 'No published packages', since I haven't done the syncing step and the directions aren't clear.
More info:
I went ahead and created a toy Meteor app with meteor --create. Then, started it with METEOR_PACKAGE_SERVER_URL=http://localhost:3000 meteor --port 9000 (after starting Stratosphere on 3000). I am getting a Match fail:
Exception while invoking method 'syncNewPackageData' Error: Match error: Last deletion is required
I20151013-11:43:47.498(-4)?     at [object Object].SimpleSchema.condition (packages/aldeed_simple-schema/packages/aldeed_simple-schema.js:1465:1)
I20151013-11:43:47.498(-4)?     at checkSubtree (packages/check/match.js:220:1)
I20151013-11:43:47.498(-4)?     at check (packages/check/match.js:32:1)
I20151013-11:43:47.498(-4)?     at [object Object].Meteor.methods.syncNewPackageData (server/rpc/syncNewPackageData.js:54:9)
I20151013-11:43:47.498(-4)?     at maybeAuditArgumentChecks (livedata_server.js:1692:12)
I20151013-11:43:47.498(-4)?     at livedata_server.js:708:19
I20151013-11:43:47.498(-4)?     at [object Object]._.extend.withValue (packages/meteor/dynamics_nodejs.js:56:1)
I20151013-11:43:47.499(-4)?     at livedata_server.js:706:40
I20151013-11:43:47.499(-4)?     at [object Object]._.extend.withValue (packages/meteor/dynamics_nodejs.js:56:1)
I20151013-11:43:47.499(-4)?     at livedata_server.js:704:46
I20151013-11:43:47.499(-4)? Sanitized and reported to the client as: Last deletion is required [400]

Note that, although the database will contain all packages (your own + from atmosphere) the GUI will only show private packages. Mainly because the GUI is written pretty fast and not ready to handle huge amounts of data (no good search, no good paging, ...)

@hellogerard the issue could have 2 causes.

I forgot something, I just pushed a fix.
You made an error in step 5 with the database copy.

Basically if you have your packages.data.db you should copy it and rename it to a sanitized version of your package server url, in your case this would be: localhostX9000.data.db

Feel free to assign something to me if you'd like help

@sebakerckhof That last commit fixed the error. Thanks!
Interestingly, after that was fixed, I didn't need to copy the database file. I just started Stratosphere, and started my app with the environment variable, and everything seems to be working. I can start the app, run meteor list, and add packages no problem.
I tried publishing my first private package and got stopped. I will create a new issue for that.

Yeah, copying of the database is not always necessary. It depends on what command you execute, so the step is there to make sure it always works. However, once it has synchronized, you're good to go for every meteor-tool command.

@rwatts3 All help is welcome. However for some things you'll need a good understanding of how meteor deals with packages and the structure of the package database. This isn't documented somewhere, I'll try to do this once I've got some time.
The easiest thing to help with would be improvements to the frontend (based on angular-material), but this is also the least important for now.
The most annoying thing is the oAuth flow, maybe you can help there. I'll make a new branch where I'm going to enable meteor-developer-accounts and then maybe we'll find what goes wrong.

Sounds good,
I'll look for the new branch and pull once it's available.
So from what I understand the goal is to allow the oAuth to function without modifying the meteor-tools file.

Exactly.
I've tried this before but I ran into errors described here: https://github.com/meteor/meteor/issues/4497
Thing is that there are 3 parties involved (meteor-tool, stratosphere and meteor.com servers) and all communication is asynchronous, which makes it very hard to debug.

@sebakerckhof Thanks for the clarification.

Basically if you have your packages.data.db you should copy it and rename it to a sanitized version of your package server url, in your case this would be: localhostX9000.data.db. Normally this should be visible in the instructions in the frontend somewhere. But I rewrote the frontend for beta1 (it used to be based on Telescope) and I might have missed this part.

and

Yeah, copying of the database is not always necessary. It depends on what command you execute, so the step is there to make sure it always works. However, once it has synchronized, you're good to go for every meteor-tool command.

These remarks might make good additions to the README. (I know, I know, pull request)

@rwatts3 This branch has meteor-developer-accounts enabled and a minimal front-end to test manual login https://github.com/sebakerckhof/stratosphere/tree/oauth
I can login if I set the correct credentials in my settings.json file and I have to set my redirect url to: http://localhost:3000/_oauth/meteor-developer?close for manual login to work.
That should be enough to get you started (of course, You'll have to undo the changes to auth-client.js ).
@hellogerard Yeah, the readme can use a lot of improvements, but I'd rather focus on trying to make sure some steps are not necessary anymore.

@rwatts3 Actually, I just found out that I can login with meteor-tool 1.1.9 and the oauth branch. Can you verify?

Everything is working for me now :+1:

Yeah I verified the same thing. So there is no need to change the file
anymore ? And we have full leverage of both tools
On Wed, Oct 14, 2015 at 12:32 PM Gerard Sychay<EMAIL_ADDRESS>wrote:

Everything is working for me now [image: :+1:]
—
Reply to this email directly or view it on GitHub
https://github.com/sebakerckhof/stratosphere/issues/2#issuecomment-148169208
.

Ok so i'm having trouble setting the environment variable . Meteor still publishes to atmosphere.

That's... very strange. Really almost impossible if you see how simple the code is: https://github.com/meteor/meteor/blob/devel/tools/meteor-services/config.js#L139
Could you maybe do a console log there of your environment variables. Are you sure you've set them permanently on your system and not just temporarily (what the commands in the readme will do)?

I'll try to set it again. I'm using windows right now mac is at home but it didn't quite work that well last time It published 2 packages to the atmosphere

Actually ,
I am going to push my stratosphere to Digital Ocean so that I can use it across multiple projects. Do you know if the environment settings is for my own local computer or if it should be pushed with the stratosphere app as well.

Ok ,
I think we should consider writing scripts to handle the editing of the environment variables and the db for the user. This will make it a more seamless project.

I usually prepend the environment variable on the command line, like this:
$ METEOR_PACKAGE_SERVER_URL=http://localhost:3000 meteor
$ METEOR_PACKAGE_SERVER_URL=http://localhost:3000 meteor add my:package
$ METEOR_PACKAGE_SERVER_URL=http://localhost:3000 meteor list

I've got them saved in my bash profile on linux and using the gui editor on
windows.
I'm currently finishing a (quick and dirty) user management in the GUI and
some smaller modifications for beta2.
2015-10-16 21:13 GMT+02:00 Gerard Sychay<EMAIL_ADDRESS>
I usually prepend the environment variable on the command line, like this:
$ METEOR_PACKAGE_SERVER_URL=http://localhost:3000 meteor
$ METEOR_PACKAGE_SERVER_URL=http://localhost:3000 meteor add my:package
$ METEOR_PACKAGE_SERVER_URL=http://localhost:3000 meteor list
—
Reply to this email directly or view it on GitHub
https://github.com/sebakerckhof/stratosphere/issues/2#issuecomment-148810112
.

The oauth branch is gone ? I've got everything setup however I can't seem to login upon creating a new package.

The branch is merged into master.

Receiving this error when trying to publish
Error: access-denied
    at sendAuthorizeRequest (C:\tools\meteor-services\auth.js:351:11)
    at oauthFlow (C:\tools\meteor-services\auth.js:382:25)
    at Object.exports.loginWithTokenOrOAuth (C:\tools\meteor-services\auth.js:956:17)
    at Object.exports.loggedInConnection (C:\tools\meteor-services\auth-client.js:87:12)
    at Object.exports.loggedInPackagesConnection (C:\tools\packaging\package-client.js:232:21)
    at Command.main.registerCommand.name [as func] (C:\tools\cli\commands-packages.js:305:32)
    at C:\tools\cli\main.js:1378:23

I just released beta 2 which has a lot of changes regarding user authentication and management.
Note that the settings.json file template has changed (allowedUsers is renamed to superUsers).
Some remarks:
-I cannot secure synchronization of packages, since meteor-tool does not try to authenticate for this. So if you want your packages to be truly private protect stratosphere in some other way. So authorization only works for publishing and unpublishing of packages.
-If loginRequired is set to true, you need to add at least one superUser (meteor developer account name). Super users can add and manage other users in a new part of the GUI.

Thank you I will pull the latest update down now and give it a spin

By the way I got it working.
I think we can make some improvements to the UI. When I have some time, I'll create a branch on my repo and explore a little maybe, you'd be interested in some of the ideas.


Not working when Next.js app is not at the root of the repo (npm workspaces)

Hello,
Everything seems to work until I try to use a repo where my Next.js app is not at the root (npm workspaces).
I have used app_location to specify the subfolder and the build step seems ok according to the logs:
---End of Oryx build logs---
Oryx has determined that the app build artifacts are in the '.next' directory. If this is incorrect please specify the app artifact location.
Finished building app with Oryx
Detected standalone folder, so using it for deployment.
Repackaged Next.js app to deploy on the backend function.
Skipping step to build /bin/staticsites/58fc9b11-d714-4fbf-9518-3810d1a59b20-swa-oryx/app/.next/standalone with Oryx
Function Runtime Information. OS: linux, Functions Runtime: ~4, node version: 16
Zipping Api Artifacts
Done Zipping Api Artifacts
Zipping App Artifacts
Done Zipping App Artifacts
Uploading build artifacts.
Finished Upload. Polling on deployment.
Status: InProgress. Time: 1.0715993(s)
Status: InProgress. Time: 16.2513246(s)
Status: Succeeded. Time: 31.4279009(s)
Deployment Complete :)
But then all pages / api endpoints return an error:
Server Error.
There was an unexpected error in the request processing.
By running a dir cmd after the build I noticed that the node_modules is not present in the app folder so I have even tried to copy it from the root cp ../node_modules ./node_modules -r but this does not help :(
Could you please advise on how this could be fixed?

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

ID: 790875c0-a47d-8bb1-7437-7fd04ed97cb0
Version Independent ID: ce306bfa-443d-6ff1-3627-b7543d360255
Content: Tutorial: Deploy hybrid Next.js websites on Azure Static Web Apps
Content Source: articles/static-web-apps/deploy-nextjs-hybrid.md
Service: static-web-apps
GitHub Login: @aaronpowell
Microsoft Alias: aapowell

@bertrand-riviere
Thanks for your feedback! We will investigate and update as appropriate.

Apologies for the delay from over the weekend! I was unable to repro this issue. Are you still seeing this error?
Just to highlight, about the config folder for deployment:
app_location - The root location of the source code to be deployed. This setting is typically / or the location of the JavaScript and HTML for your project.
output_location  - Name of the folder created by any build process from a bundler such as webpack. This folder both needs to be created by the build process, and a subdirectory under the app_location
api_location - The root location of your Azure Functions application hosted by Azure Static Web Apps. This points to the root folder of all Azure Functions for your project, typically api.
You may always Azure Monitor (if enabled) to fetch more info on the runtime error, see Monitor Azure Static Web Apps
Retrieve deployment error messages

Hello,
Thanks for having a look to this issue but yes I still "see the error" :(
I understand that my initial message was maybe not clear enough to reproduce so I have created 2 public git repos that you can use to reproduce (this is of course dummy code but that simulate quite well what I want to achieve).
Just to be super clear; when running npm run build followed by npm run start locally both apps works exactly the same.

Simple npm app => The app works when deployed as an Azure "Static Web App"
https://github.com/bertrand-riviere/next-azure-static-scr-root
Test urls:

https://victorious-bush-0e8625a03.2.azurestaticapps.net/a/1/2/3: ok
https://victorious-bush-0e8625a03.2.azurestaticapps.net/api/public: ok
https://victorious-bush-0e8625a03.2.azurestaticapps.net/api/backend: ok (401)

Monorepo (npm workspaces) npm app => the app does NOT work when deployed as an Azure "Static Web App"
https://github.com/bertrand-riviere/next-azure-static-scr-subfolder
The app_location is configured to '/subfolder': https://github.com/bertrand-riviere/next-azure-static-scr-subfolder/blob/2228e62b04fbc9e1861b2940a04056f20b68f93d/.github/workflows/azure-static-web-apps-nice-pebble-0a31a2003.yml#L30 and the build is successful but the app dos not work.
Unfortunately when in this case (where it would be very useful) it is not even possible to enable "Application Insight".
I assume the problem is somehow related to folder structure after the build (node_modules at the root and code, .next folder in a subfolder...) so I have tried various workarounds like copying it in the build script (next build && cp ../node_modules ./node_modules -r) but it does not help and since there is no log I am kind of blind.
Test urls:

https://nice-pebble-0a31a2003.2.azurestaticapps.net/a/1/2/3: Server Error
https://nice-pebble-0a31a2003.2.azurestaticapps.net/api/public: Server Error
https://nice-pebble-0a31a2003.2.azurestaticapps.net/api/backend: Server Error

Hello @AjayKumar-MSFT, @Naveenommi-MSFT,
Have you been able to investigate on this issue?

Apologies for the delay!  To investigate this issue, we would need additional information about your subscription and WebApp details, for this, we need to connect offline.  If you have a support plan, please raise a support ticket for a specialized assistance. Else, kindly let me know.
-This channel is reserved for ‘Azure docs’ feedback- for sharing doc feedback and suggesting content improvements.


Wonderous gets frozen after adding an item to the collection

Is there an existing issue for this?

[X] I have searched the existing issues
[X] I have read the guide to filing a bug

Steps to reproduce

Get latest version of Wonderous app (commit 5d7f14fd17038c8bdd3a75ce8cf3e6200728c54d (HEAD -> main, origin/main, origin/HEAD)
Author: Shawn<EMAIL_ADDRESS>Date:   Fri Nov 3 14:30:05 2023 -0600
Fix centering issue in photo gallery with hidden collectibles )
Run Wonderous in XCode (target: iphone 14 pro + iOS17.1.1) so that it is installed from scratch
Navigate to the Great Wall (Navigate to: /wonder/greatWall?t=0)
Check that you cannot enter this wonder after a couple of taps
Once you are in the Great Wall scroll down until the bottom of the page
Add the collectible item
Check that the app gets frozen and following error is logged:

-[MTLDebugBlitCommandEncoder internalValidateCopyFromTexture:sourceSlice:sourceLevel:sourceOrigin:sourceSize:toTexture:destinationSlice:destinationLevel:destinationOrigin:options:]:388: failed assertion `Copy From Texture Validation
[sourceTexture pixelFormat](MTLPixelFormatBGRA8Unorm) must be compatible with [destinationTexture pixelFormat](MTLPixelFormatRGBA16Float).
'

Expected results
Collectible item should be added without errors
Actual results

You need to tap a couple of times until you can navigate through the Great Wall wonder (Navigate to: /wonder/greatWall?t=0)
Once you add the collecitble item, the following error is returned:

-[MTLDebugBlitCommandEncoder internalValidateCopyFromTexture:sourceSlice:sourceLevel:sourceOrigin:sourceSize:toTexture:destinationSlice:destinationLevel:destinationOrigin:options:]:388: failed assertion `Copy From Texture Validation
[sourceTexture pixelFormat](MTLPixelFormatBGRA8Unorm) must be compatible with [destinationTexture pixelFormat](MTLPixelFormatRGBA16Float).
'

Code sample
Code sample
git clone https://github.com/gskinnerTeam/flutter-wonderous-app.git

Screenshots or Video

Screenshots / Video demonstration

Video:
https://drive.google.com/file/d/1zvFLrlH9zEFgt2JV5rJ7EMbOMLs888iw/view?usp=sharing

Logs
Logs
-[MTLDebugBlitCommandEncoder internalValidateCopyFromTexture:sourceSlice:sourceLevel:sourceOrigin:sourceSize:toTexture:destinationSlice:destinationLevel:destinationOrigin:options:]:388: failed assertion `Copy From Texture Validation
[sourceTexture pixelFormat](MTLPixelFormatBGRA8Unorm) must be compatible with [destinationTexture pixelFormat](MTLPixelFormatRGBA16Float).
'

Flutter Doctor output
Doctor output
[✓] Flutter (Channel master, 3.17.0-5.0.pre.71, on macOS 14.1 23B74 darwin-arm64, locale en-US)
    • Flutter version 3.17.0-5.0.pre.71 on channel master at /Users/diegogawenda/fvm/versions/master
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 5980342ead (2 hours ago), 2023-11-13 14:31:12 -0500
    • Engine revision db6da000a1
    • Dart version 3.3.0 (build 3.3.0-120.0.dev)
    • DevTools version 2.30.0-dev.1

[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at /Users/diegogawenda/Library/Android/sdk
    • Platform android-34, build-tools 34.0.0
    • ANDROID_HOME = /Users/diegogawenda/Library/Android/sdk
    • ANDROID_SDK_ROOT = /Users/diegogawenda/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b829.9-10027231)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 15.0.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 15A507
    • CocoaPods version 1.12.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2022.3)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b829.9-10027231)

[✓] VS Code (version 1.83.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.74.0

[✓] Connected device (3 available)
    • Somnio’s iPhone (mobile) • 00008120-001168D83C87C01E • ios            • iOS 17.1.1 21B91
    • macOS (desktop)          • macos                     • darwin-arm64   • macOS 14.1 23B74 darwin-arm64
    • Chrome (web)             • chrome                    • web-javascript • Google Chrome 119.0.6045.123

[✓] Network resources
    • All expected network resources are available.

• No issues found!

The problem here is that if the onscreen surface format is wide gamut and the offscreen format is not, then we can't blit that onto the onscreen and instead need to fall back to a draw. I think we can handle this in EntityPass


Changed the wrp.go file for bug fixes so it now supports the AuthStat…

…usMsg
@johnabass

Current coverage is 91.21% (diff: 100%)

Merging #12 into master will increase coverage by 6.40%

@@             master        #12   diff @@
==========================================
  Files            41         15    -26
  Lines          1027        353   -674
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
- Hits            871        322   -549
+ Misses          129         20   -109
+ Partials         27         11    -16

Powered by Codecov. Last update c8f3b7c...b3f4e01


How to use with esp_modem component?

I want to connect to Internet via 4G, using SIMCOM A7672x module. How to use es-idf-svc with esp_modem component?

Discussed in the Matrix room, let's close this.

you can add the matrix link to it if you click on share. Here is the link in that time-frame


Update default-crawled-file-name-extensions-and-parsed-file-types.md

Removed comments about mhtml and eml extentions as now they are supported. We validated that they can be crawled and indexed without issues

@JohanFreelancer9 Copy editing is needed for this PR. Thanks.

@SerdarSoysal PR has been copyedited and is ready for final review, could you please check and merge? Thanks!


too slow to process a short video

why the RAVE never converge, it took more than 4 hour to process a short 10sec video of 300 frames (720 x 1280). it simply not usable in the realworld. any optimization options? thx

Hello,
thank you for sharing your experience about RAVE. Unfortunately, it might take a while to process comparably longer videos with high resolution, similar to most of the approaches in the literature. I would suggest to use lower resolution (at a scale of 512x512) to be able to get results quicker. Also, depending on your GPU resources, you can play with ‘batch size’ parameter to get an affect in the speed.
Please feel free to share your results.


Prep data sample

Could you also commit/uplaod your sample somehwere so it is easy to quickly test check performance and usage
data/LaSOT
├── airplane/
│   ├── airplane-1/
│   │   ├── full_occlusion.txt
│   │   ├── groundtruth.txt
│   │   ├── img
│   │   ├── nlp.txt
│   │   └── out_of_view.txt
│   ├── airplane-2/
│   ├── airplane-3/
│   ├── ...
├── basketball
├── bear
├── bicycle
...
├── training_set.txt
└── testing_set.txt

To get a quick start on the VOT dataset, I recommend following the hugging face dataset cards prepare by the original author:

LaSOT
LaSOT-ext

they provided download script and setup information that we also followed.

We also provide a script/demo.py to inference on your own video, please check out!

We also provide a script/demo.py to inference on your own video, please check out!

Hello, I would like to know where is training_set.txt and test_test.txt?


fix(key-auth) do not error with 400 when body cannot be decoded

Summary
Issue #5893 pointed out that key-auth plugin returns 400 and "Cannot process request body" message in case the body decoding fails. This happens even in case the key is found in other places like query of headers.
Issues Resolved
Fix #5893

@bungle Since this looks like a fix, should it instead go to master and bump the version to 2.2.1 instead?

@hishamhm hard to say, as it changes behavior a bit (different status code, doesn't try to read body until neccessary, etc.), even for better, it has been for long like this. This is not that important that we need to backport it. Thus I thought that perhaps next is good enough. But I am fine with making it into master


ParticleDevice.subscribeToEvents doesn't include access_token in Uri

This is in reference to this open topic on the particle community forums.
After digging through some of the cloud sdk's source code and understanding a portion of it, it seems that the sdk does not include the ParticleCloud instance's current access token as a parameter in the Uri that is passed to the EventReader.
I cloned the repo and made enough changes to get the uri that gets output to the log in subscribeToEventWithUri to function in a browser.
However the ParticleEventHandler I've implemented in my app still isn't receiving events.

Note: I'm going to continue the conversation around this bug over on that community post, since that's where the bulk of the info is, and (seemingly) where the community prefers to discuss these things.

Fixed by #8


Update style.css

Fixes Issue🛠

Closes #
Description👨💻

Type of Change📄

[ ] Bug fix (non-breaking change which fixes a bug)
[ ] New feature (non-breaking change which adds functionality)
[ ] Style (non-breaking change which improves website style or formatting)
[ ] Documentation (non-breaking change which updates or adds documentation)
[ ] Responsiveness (non-breaking change which improves UI/UX on different screen sizes)

Checklist✅

[ ] I am an Open Source contributor
[ ] I have performed a self-review of my code
[ ] My code follows the style guidelines of this project
[ ] I have commented on my code, particularly in hard-to-understand areas

Screenshots/GIF📷

Hey, don't create PRs or comment on someone's issue unnecessarily @piyushsahujtp


Another parser issue, this time with links

Discord recently added Webhooks, which allow services to post custom links into chat (we don't allow this otherwise to protect users from bad links). I noticed during testing that links containing escaped markdown, like \) do not properly escape.
For example, [test link](https://test.link/\(test\)) becomes test link) with simple-markdown. GitHub renders this properly: test link
Here's a console output too:
> JSON.stringify(SimpleMarkdown.defaultBlockParse('[test link](https://test.link/\(test\))'))
'[{"content":[{"content":[{"content":"test link","type":"text"}],"target":"https://test.link/(test","type":"link"},{"content":")","type":"text"}],"type":"paragraph"}]'

Interesting; I'm a bit surprised GFM lets you \-escape characters in urls. That said, \'s shouldn't be valid in links anyways, so this seems fine to change.
We could also change the link matching function to handle nested parentheses correctly (replacing the regex matcher with a function that loops through characters), which is more verbose but probably worthwhile long-term.
In general the escape rules work well at the start of rules (cause text handles them well), but there are some rules that don't handle them correctly that I should fix (looking at bold/italics recently).
Anyways, should be able to get to fixing this by tomorrow.

Fixed in af77481 / 0.2.1 :)


League auto login

Make auto login for league.

Where it checks the name?
HTTP - querys?

Don't worry, only I can do this since League source code is not available.


Validate cached wrapper support for null cache keys

I was originally under the impression that providing a value of null to the <% cached %> wrapper was equivalent to using an <% uncached %> wrapper. It sounds like this might not be the case though.
Need to validate what the behaviour is of the <% cached %> wrapper is when a value of null is provided to it.
The workaround (for now) is to conditionally add/avoid the <% cached %> wrapper depending on whether $CacheKey returns a value or not.

I'm not 100% sure if this was added in 4.10 or earlier, but it looks like a $CacheCondition is available for the <% cached %> wrapper.
https://docs.silverstripe.org/en/4/developer_guides/templates/partial_template_caching
I think the solution would be for us to update the recommended installation docs to reflect this. Something like:
<% cached $CacheKey if $CacheKey %>

But I also need to check what versions of 4 this is available in.


Fix the dircache is not correctly expired after transaction is completed.

@martindurant Fixed and replaced the abbreviation "txn".


Incentives not adding Assignee + Creator rewards on permit amount

Permit comment says 95.1 WXDAI but permit amount was 37.5 WXDAI

Well it combined your rewards for identifying the issue and fixing it. It just gave you a lot of rewards for issue creation, which we will eventually limit to the bounty price. I think it looks fine.

It added it in the permit comment but when i try to claim, it does not add the creator amount
I traced it down to this line: https://github.com/ubiquity/ubiquibot/blob/f41c03691d5849e546db8bfb62b907122294a820/src/handlers/payout/action.ts#L415
It's supposed to be priceInEth not assigneeReward.reward[0].priceInEth
Originally posted by @seprintour in https://github.com/ubiquity/ubiquibot-telegram/issues/29#issuecomment-1732534328

This is outdated now, already fixed in #375


[RFC] Introduce a dataloader factory class to better manage data modules

🚀 Feature

Create a new class to manage dataloaders
Proposal: https://docs.google.com/document/d/1c0dBmASUfQy0kIpliGD7sGmdzC0sgbuOQStkM02UySM/edit
Motivation

DataModules bundle together training, validation, and testing dataloaders
Often times, we want to configure different dataloader settings for each of these phases

Example: configure larger batch sizes for validation (no gradients so we can use more memory for batches/activations)
Example: handle uneven end of data differently across training vs validation (drop tail in training, wraparound for validation)

This is combination of bundling of different phases along with a variety of knobs creates complex datamodule initialization logic
Furthermore, a generic datamodule is difficult to implement as it can be used for training (where the train dataloader must be defined and optionally the val dataloader) or validation (where only the val dataloader must be defined) or testing (where only the test dataloader must be defined) or prediction (where only the predict dataloader must be defined).

Pitch
from typing import Any, Dict, List, Mapping, Optional
from abc import ABC, abstractmethod

import torch
from pytorch_lightning.core.hooks import CheckpointHooks
import pytorch_lightning as pl
from torch.utils.data import DataLoader

class DataLoaderFactory(ABC, CheckpointHooks):

    def __init__(self) -> None:
        # Pointer to the trainer object
        # Placeholder until we define a proper TrainerContext class (e.g. frozen dataclass)
        # to pass things like progress tracking, rank, or world size to the factory
        self.trainer = None

        # Private attrs to keep track of whether or not data hooks have been called yet
        self._prepare_data_called: bool = False
        self._setup_called: bool = False
        self._teardown_called: bool = False

        # This should not be a trainer setting
        # https://pytorch-lightning.readthedocs.io/en/latest/common/trainer.html#prepare-data-per-node
        self.prepare_data_per_node: bool = True

    def prepare_data(self) -> None:
        pass

    def setup(self) -> None:
        pass

    @abstractmethod
    def get_dataloader(self) -> Union[DataLoader, List[DataLoader]]:

    def teardown(self) -> None:
        pass

    @property
    def prepare_data_called(self) -> bool:
        return self._prepare_data_called

    @prepare_data_called.setter
    def prepare_data_called(self, val: bool) -> None:
        self._prepare_data_called = val

    @property
    def setup_called(self) -> bool:
        return self._setup_called

    @setup_called.setter
    def setup_called(self, val: bool) -> None:
        self._setup_called = val

    @property
    def teardown_called(self) -> bool:
        return self._teardown_called

    @teardown_called.setter
    def teardown_called(self, val: bool) -> None:
        self._teardown_called = val

We can add optional attributes inside of the datamodule for these classes, one for each of train/val/test/predict as a convenience, along with a convenience method to instantiate a datamodule from these factories similar to this: https://github.com/PyTorchLightning/pytorch-lightning/blob/a72a7992a283f2eb5183d129a8cf6466903f1dc8/pytorch_lightning/core/datamodule.py#L343-L398
class LightningDataModule(...)
    train_dataloader_factory: Optional[DataLoaderFactory] = None
    val_dataloader_factory: Optional[DataLoaderFactory] = None
    test_dataloader_factory: Optional[DataLoaderFactory] = None
    predict_dataloader_factory: Optional[DataLoaderFactory] = None

   @classmethod
    def from_dataloader_factories(
        cls,
        train_dataloader_factory: Optional[DataLoaderFactory] = None,
        val_dataloader_factory: Optional[DataLoaderFactory]  = None,
        test_dataloader_factory: Optional[DataLoaderFactory] = None,
        predict_dataloader_factory: Optional[DataLoaderFactory] = None
    ):
        datamodule = cls()
        if train_dataloader_factory is not None:
            datamodule.train_dataloader = train_dataloader_factory.get_dataloader
        if val_dataloader_factory is not None:
            datamodule.val_dataloader = val_dataloader_factory.get_dataloader
        if test_dataloader_factory is not None:
            datamodule.test_dataloader = test_dataloader_factory.get_dataloader
        if predict_dataloader_factory is not None:
            datamodule.predict_dataloader = predict_dataloader_factory.get_dataloader
        return datamodule

This can also replace the raw dataloaders that are currently accepted on the Trainer.fit()/validate()/test()/predict() APIs - the classes here are an improvement as they can have access to trainer context which the existing dataloaders do not have.
cc @justusschock @awaelchli @carmocca
Alternatives

Additional context

Rather than holding a pointer to the trainer and waiting until TrainerContext to be implemented, why not pass the trainer state it in at call time to get_dataloaders? This would avoid potential tangled states between the trainer and factory.

Because you might already prepare some other stuff earlier that may rely on the trainer (e.g. when frequently recreating a dataloader yo may not want to do all the steps over and over again and thus may want to rely on some trainer states in other methods too/want them to be triggered asynchronously

This ended up being more of a configuration issue than anything else. The core DataModule API is mostly good  (https://github.com/PyTorchLightning/pytorch-lightning/issues/7301 + other properties not used anywhere else). Adding dedicated add_{train/val/test}_dataloader_options methods to our datamodule is a way we can support complexity per running stage instead of putting everything into the constructor


Update<EMAIL_ADDRESS>

Addresses https://nvd.nist.gov/vuln/detail/CVE-2018-16469

Oh wait I guess snyk got it in #48

Coverage remained the same at 100.0% when pulling 864fc97d452120cf8c77a81ab83f56c21a204db6 on merge into 9c977ede8516dbdb08ec53bda2d0945019e043fb on master.


[BUG] [Plugin] Conditions Task branch flow failed

Search before asking

[X] I had searched in the issues and found no similar issues.

What happened
Condition is a condition node that decides which downstream task should run based on the condition of the upstream task. When the upstream task runs successfully, run the success branch. When the upstream task fails to run, run the failure branch. But now no matter whether the upstream task runs successfully or fails, only the tasks of the successful branch will be run.
What you expected to happen
The Condition task should decide which downstream task should run based on the conditions of the upstream task.
How to reproduce
Create a Condition task, determine the successful or failed branch task and run it。

When the upstream task runs successfully, Conditions select the successful branch task and run it.

But when the upstream task fails to run, Conditions still select the successful branch task and run it.

Anything else
No response
Version
dev
Are you willing to submit PR?

[ ] Yes I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

I will fix it.

I will fix it.

Conditions should use previousNodes result, and now use dependency result? I find add Custom Parameters can make it trigger fail Node....

I will fix it.

Conditions should use previousNodes result, and now only use dependency result? I find add Custom Parameters can make it trigger fail Node....May be #10077 should use previousNodes and/or Custom Parameters? This is my doubt, don't mind if I'm wrong.

Yes. In this PR, I change the detection logic to use previousNodes to check condition instead of use dependency result.
However, I don't think the success or failure of task nodes should be related to user-defined parameters.

I will fix it.

Conditions should use previousNodes result, and now only use dependency result? I find add Custom Parameters can make it trigger fail Node....May be #10077 should use previousNodes and/or Custom Parameters? This is my doubt, don't mind if I'm wrong.

Yes. In this PR, I change the detection logic to use previousNodes to check condition instead of use dependency result.
However, I don't think the success or failure of task nodes should be related to user-defined parameters.

The Condition's Custom Parameters is different from other, it's has and/or relation with pre node in ui(it's also only has success  and failure), and when i run the task, these Custom Parameters will be used in dependencyList, this is why i think they should be calculate together.

@huangchenguang123 This is the dependent task node. Not condition task node.

@huangchenguang123 This is the dependent task node. Not condition task node.

This is condition task node. May be you can try?

@huangchenguang123 This is the dependent task node. Not condition task node.

This is condition task node. May be you can try?

I take a deep look into UI. There are indeed some misleading description of UI. I'll fix it too. Thanks.

The ui that confuses me is one of the problems. Another problems is Custom Parameters' effect. If you only use previousNodes result, where does the custom parameter take effect? I think they will be skip in #10077 because of they be remove from runTask.And If custom parameter will effect, how does it relate to the previousNodes result?This is how task nodes differ from other nodes, because task node need know previousNodes result, and other task's previousNodes only decide when to run next node.

The ui that confuses me is one of the problems. Another problems is Custom Parameters' effect. If you only use previousNodes result, where does the custom parameter take effect? I think they will be skip in #10077 because of they be remove from runTask.And If custom parameter will effect, how does it relate to the previousNodes result?This is how task nodes differ from other nodes, because task node need know previousNodes result, and other task's previousNodes only decide when to run next node.

You can retry the condition task node after #10077 is merged.

@SbloodyS  i tried in 3.0.0 beta version, which merged the code of https://github.com/apache/dolphinscheduler/pull/10077, but condition task plugin is still not work fine.

@SbloodyS  oh, i see, need add pre task, thank you.


Uploading files with Multer

Hi everyone!
I am trying to uploading files with Multer through GraphQL. There are two ways to go.

Uploading files in a single no-GraphQL endpoint or using Multer like Express middleware.
Uploading files using Multer inside a specific GraphQL resolver function.

For the first approach any file can be uploaded using .any() (Multer), which is fast but it is not possible to make specific validation rules for each GraphQL resource.
For the second approach is totally valid make validation rules, which is more flexible.
Once explained this, I am interested to achieve the second approach. I think it is almost done but I am getting errors.
Test output.
Uncaught SyntaxError: Unexpected token u in JSON at position 0 at JSON.parse (<anonymous>)

I am getting this error because the server is not returning text in the response. res.text is undefined on expect(JSON.parse(res.text)).to.deep.equal(...).
Server output.
TypeError: Cannot read property 'definitions' of undefined
    at buildExecutionContext (\Projects\graphql-express-multer-example\node_modules\graphql\execution\execute.js:162:11)
    at Object.execute (\Projects\graphql-express-multer-example\node_modules\graphql\execution\execute.js:109:17)
    at doRunQuery (\Projects\graphql-express-multer-example\node_modules\graphql-server-core\dist\runQuery.js:77:26)
    at resolvedPromise.then (\Projects\graphql-express-multer-example\node_modules\graphql-server-core\dist\runQuery.js:18:39)

You can see and check the repository here. Feel free to send a PR or create a issue there.
Maybe something related with Apollo Server? Any thoughts on this?
Thanks in advance.
// server.js

const express = require('express');
const bodyParser = require('body-parser');
const multer = require('multer');
const { graphqlExpress, graphiqlExpress } = require('graphql-server-express');
const schema = require('./schema');

const PORT = 3000;
const app = express();

app.use('/graphql', bodyParser.json(), graphqlExpress(request => ({
  schema,
  context: { request },
  formatError: err => { console.log(err.stack); return err; }
})));

app.use('/graphiql', graphiqlExpress({
  endpointURL: '/graphql',
}));

const server = app.listen(PORT);

// schema.js

const multer = require('multer');
const { makeExecutableSchema } = require('graphql-tools');

const typeDefs = [/* GraphQL */`
  type UserPhoto {
    name: String
    extension: String
  }

  type Query {
    hello: String
  }

  type Mutation {
    uploadUserPhoto: UserPhoto
  }

  schema {
    query: Query
    mutation: Mutation
  }
`];

const resolvers = {
  Query: {
    hello() {
      return 'Hello World!';
    }
  },
  Mutation: {
    uploadUserPhoto(root, args, context) {
      const storage = multer.diskStorage({
        destination: function (req, file, callback) {
          callback(null, './uploads');
        },
        filename: function (req, file, callback) {
          callback(null, Date.now() + '-' + file.originalname);
        }
      });

      const upload = multer({ storage }).single('userPhoto');

      return upload(context.request, {}, (err) => {
        if (err) {
          throw err;
        }

        console.log({
          query: context.request.query,
          body: context.request.body,
          file: context.request.file,
          files: context.request.files
        });

        return {
          name: 'success.jpg',
          extension: 'jpg'
        };
      });
    }
  }
};

module.exports = makeExecutableSchema({ typeDefs, resolvers });

// graphql.test.js

const fs = require('fs');
const { describe, it } = require('mocha');
const { expect } = require('chai');
const request = require('request');

describe('GraphQL', () => {
  describe('Mutation', () => {
    it('uploadUserPhoto on /graphql endpoint (THIS DOES NOT WORK)', done => {
      const query = `
        mutation uploadUserPhoto {
          name
          extension
        }
      `;

      const data = {
        qs: {
          query
        },
        formData: {
          userPhoto: fs.createReadStream(__filename)
        }
      };

      request.post('http://localhost:3000/graphql', data, (err, res, body) => {
        if (err) {
          return done(err);
        }

        console.log('Upload successful!  Server responded with:', body);

        expect(JSON.parse(res.text)).to.deep.equal({
          data: {
            uploadUserPhoto: {
              name: 'success.jpg',
              extension: 'jpg'
            }
          }
        });
        done();
      });
    });
  });
});

Have you seen this?
https://github.com/jangerhofer/apolloFileUpload/blob/master/server/main.js
Also, are you using apollo-client? If you are, have a look at this issue.
Scott

Thanks @smolinari.
Note in the code that I would like to use Multer inside GraphQL resolve functions, not using a single endpoint or middleware before calling graphqlExpress(). The example you gave me is using Multer like a Express middleware before calling GraphQL.
I think my approach is worth because I do not miss the validation rules with Multer, so I can set different validation rules depending of the resource.
Thanks for the issue! I did not know about it.

@jferrettiboke did you get it to work in the end?

Hi @jaydenseric. No, yet. Do you have some ideas?

Yea, I'll try to get everything working and publish it sometime soon.

Closing this for lack of activity. Let's keep track of file upload related things in #229. If anyone has time to write up and propose a design, I'd be more than happy to review it.

For an immediate solution, checkout apollo-upload-server.


chore: Added 'npm link' to start

Issue
Needed to run npm link on every change.
Intent
Update start command in package.json
Implementation
Added npm link to  start command in package.json
Checks

[ ] Code is formatted correctly (npm run lint:fix).
[ ] Any new functionality has been unit tested.
[ ] All unit tests are passing (npm test).
[ ] All CI checks are green.
[ ] JSDoc comments have been added or updated.
[ ] Reviewer is assigned.

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Fix up readmes

Use ``` for examples - fixes https://github.com/dart-lang/stagehand/issues/577
Drop package name - fixes https://github.com/dart-lang/stagehand/issues/576

Want me to release stagehand, or will you do it?

Go ahead. Not urgent, though.
On Fri, Aug 31, 2018 at 3:30 PM Kathy Walrath<EMAIL_ADDRESS>wrote:

Want me to release stagehand, or will you do it?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/dart-lang/stagehand/pull/578#issuecomment-417805336,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AABCilYTgrSIj2HywwlfzKs1AoZ-ZE4Qks5uWbkOgaJpZM4WVhQM
.

I'll make a note to do it Monday.

k
On Fri, Aug 31, 2018 at 5:05 PM Kathy Walrath<EMAIL_ADDRESS>wrote:

I'll make a note to do it Monday.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/dart-lang/stagehand/pull/578#issuecomment-417817371,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AABCiuT37faJ7oA2UpzjiTa-gA3J8L2yks5uWc87gaJpZM4WVhQM
.


[PowerToys Run] Failed to set registry key. System.UnauthorizedAccessException: Attempted to perform an unauthorized operation.

Microsoft PowerToys version
0.43
Running as admin

[X] Yes

Area(s) with issue?
General
Steps to reproduce
Just as I log on to my Windows 10. The error window pops up.
This is the error message:
Version: <IP_ADDRESS>
OS Version: Microsoft Windows NT 10.0.19043.0
IntPtr Length: 8
x64: True
Date: 2021-08-25 9:25:02 AM
Exception:
System.UnauthorizedAccessException: Attempted to perform an unauthorized operation.
at Microsoft.Win32.RegistryKey.Win32Error(Int32 errorCode, String str)
at Microsoft.Win32.RegistryKey.SetValueCore(String name, Object value, RegistryValueKind valueKind)
at Microsoft.Win32.RegistryKey.SetValue(String name, Object value, RegistryValueKind valueKind)
at Microsoft.Win32.RegistryKey.SetValue(String name, Object value)
at Microsoft.Toolkit.Uwp.Notifications.DesktopNotificationManagerCompat.RegisterComServer[T](String exePath)
at Microsoft.Toolkit.Uwp.Notifications.DesktopNotificationManagerCompat.RegisterAumidAndComServer[T](String aumid)
at Wox.PublicAPIInstance..ctor(SettingWindowViewModel settingsVM, MainViewModel mainVM, ThemeManager themeManager)
at PowerLauncher.App.<>c__DisplayClass13_0.b__0()
at Wox.Infrastructure.Stopwatch.Normal(String message, Action action)
at PowerLauncher.App.OnStartup(Object sender, StartupEventArgs e)
at System.Windows.Application.OnStartup(StartupEventArgs e)
at System.Windows.Application.<.ctor>b__1_0(Object unused)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
✔ Expected Behavior
It does not restart automatically so the functions I'd like to use can't use right away (eg. FancyZones)
❌ Actual Behavior
I need to manually start the Power Toy, and after that, it seems normal to use the function provided.
Other Software
No response

Resolved with the release of v0.45.


Return accountID with personalDetails from Auth

Problem
Currently there is no way for the front end to map accountID -> personalDetails.
Why is this important?
We are saving emoji reactions using accountIDs, and need a way to turn the accountID into a display name. Otherwise, when you look at who reacted you will only see numbers.
Solution
Return accountIDs with personalDetails so that we can iterate over the personalDetails array with only an accountID and find the corresponding display name.
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01dbc19780151f4175
Upwork Job ID:<PHONE_NUMBER>853424640
Last Price Increase: 2023-02-10

Job added to Upwork: https://www.upwork.com/jobs/~01dbc19780151f4175

Triggered auto assignment to Contributor Plus for review of internal employee PR - @eVoloshchak (Internal)

This was deployed last night!


langserver: change SymbolDescriptor id format to use slashes

For details see https://github.com/sourcegraph/sourcegraph/issues/3233#issuecomment-274165937

Ok I see now you are using /-/ to delim, now you don't lose uniqueness in the same way I was thinking.


Fix comment count

On posts that receive Likes and/or Reposts, the comment count is wrong. We should exclude likes and reposts from the count.
Eg: this post: https://mattwiebe.blog/2024/11/24/support-week-for-activitypub-for-wordpress/

Shows "34 responses" in the comments section. It should only show 5 responses, after the 29 combined likes and reposts are removed from it.
List of possible hooks:

get_comments_number
wp_count_comments
pre_wp_update_comment_count_now
get_page_of_comment_query_args?
parse_comment_query?

I looked into that a bit the other day. It won't be a slam dunk, I'm afraid. WP has multiple ways to store and retrieve comment counts :(

@mattwiebe @obenland let's collect the list of hooks in the issue. I started adding get_comments_number!

get_comments_number grabs the count from a post field that's saved in the database, it doesn't calculate that number. That way it can be used in the front-end relatively cheaply.
I guess the question is, should we hook into the place where that number gets updated, rather than displayed?

should we hook into the place where that number gets updated, rather than displayed

I think it would make most sense to hook into where it gets updated and saved to the DB, unless that breaks something somewhere else, like in wp-admin/edit-comments.php.


Use getUri to maintain query parameters

If only getPathInfo() is used, query parameters are lost. getUri() to includes query parameters allowing Unpoly to correctly update the URL when a link contains query parameters.
Prior to this change, clicking a link like:
Next Page

Would result in the URL staying:
http://localhost/posts

Related: https://github.com/unpoly/unpoly/issues/130

Awesome! Thank you for fixing this!

Happy to help @robinvdvleuten! :smile:


Downoad folder doesn't download every file in the folder

Downoad folder doesn't download every file in the folder

Does the folder contain more than 50 files? If so, it is a known issue, and we're not sure how to fix it.
https://github.com/wkentaro/gdown/pull/120

No it happens even if i try 3 files
Please check back once, if you don't find such error you can close the issue.

I cannot reproduce, so I'll close for now.


Web - LHN - GBR and Amount is shown in LHN for expense deleted in OD

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: v9.0.49-1
Reproducible in staging?: Y
Reproducible in production?: Y
Email or phone of affected tester (no customers<EMAIL_ADDRESS>Issue reported by: Applause Internal Team
Action Performed:
Precondition
WS set to Submit Manually
Employee is a member of a WS
As Employee

in OD add expense to in the WS, but don't submit it.
Go to ND > WS chat. notice that added expense is shown in the LHN with GBR showing owned amount.
Go to OD and delete the expense
Go to ND. and notice GBR and owned amount are shown in the LHN

Expected Result:
GBR and owned amount are not shown in the LHN when the expense is deleted in OD
Actual Result:
GBR and owned amount are shown in the LHN after expense is deleted in OD
Workaround:
Unknown
Platforms:

[ ] Android: Standalone
[ ] Android: HybridApp
[ ] Android: mWeb Chrome
[ ] iOS: Standalone
[ ] iOS: HybridApp
[ ] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos
https://github.com/user-attachments/assets/1c0395b4-d449-495a-88fb-a903988662f6

View all open jobs on GitHub

@IuliiaHerets do you think this should be closed?

I don't think this is an issue as it's not actually related to deleting an expense but rather deleting a report.


cmd/compile: pre-allocate a slice of provable length

Go version
go1.21.2
What did you do?
Compile the following snippet:
func transform(a []int) []uint {
	var b []uint
	for _, x := range a {
		b = append(b, uint(x))
	}
	return b
}

What did you expect to see?
I would expect it to compile to something like:
func transform(a []int) []uint {
	b := make([]uint, len(a), len(a) + ...) // where ... is some extra capacity to reproduce above behavior
	for i, x := range a {
		b[i] = uint(x)
	}
	return b
}

I expect to see the following:

An implicit call to makeslice of a given length and capacity. The elements within the length need not be explicitly zeroed (since it can be provably overwritten).
The append call in the loop be essentially rewritten as an index operation, thus avoiding a call to runtime.growslice in every iteration of the loop.

The conversation of int to uint is for demonstration, but the above optimization should be doable for any conversion that does not panic.
What did you see instead?
Right now, this compiles more or less to what you see in the original code snippet.

cc @golang/compiler

There is also a linter which helps with this https://github.com/alexkohler/prealloc, it's not good enough to do machine fixes, but it's way good enough for primates look at it's output and fix interesting cases.
Primates easily have the missing context of which panic, error and other branches which are worth disregarding and worth optimizing.

I believe that use case is covered by upcoming iterator proposals, in particular iter.Map from #61898 and slices.Append from #61899.

@randall77 Thank you. Those revolve around iter.Seq which does not provide size so they will not be able to pre-allocate result afaict.

True. The size could be passed somehow using an unexported method, although I don't immediately see an obvious way to do that (we could return a named iter.Seq with its own methods, but because iter.Seq must be a function type, maybe there's no place to store the length to return? Except hackily in the closure somehow).

There is also a linter which helps

The issue at hand is that most times I don't want to think about it when writing code.
On the coding side of this, I want to focus on the business logic, rather than optimizations.
On the optimization side, writing the loop naturally with append allows PGO to make a decision whether preallocating is worth it if it realizes the loop is continually re-allocating in practice.

Several of us have recently been brainstorming online slice/map pre-sizing (#64703). To a degree, this is a special case of that, where the ideal [1] size can be determined statically.
[1] The exception is that transform returns b. If the caller continues to append to b, then the ideal initial capacity is even higher. Online tracking could capture that.

I wonder how often this optimizations makes things slower: If a is a very large slice of empty slices, then the new algorithm makes two passes over it, causing twice as many cache misses. Rare, I suspect.


Download top 5 most popular videos

Checklist

[x] I'm asking a question
[x] I've looked through the README and FAQ for similar questions
[x] I've searched the bugtracker for similar questions including closed ones

Question

Hey!
I would like to upload the 5 most viewed videos from the channel page, or at least any 5. Because YouTube-DL
trying to download all the videos of the channel... Links to them can be obtained manually by clicking in the browser, sometimes a lot of channels accumulate and it becomes time consuming.
I tried adding such parameters, but it didn't work.
-i=1
--playlist-start 5
--yes-playlist --playlist-start 1 --playlist-end 5

@dmsergeevich63 ?


Fix nodebalancer and dns record deletions

Closes #1137

Coverage decreased (-0.02%) to 82.542% when pulling d6feb901925985475b6f99f9e780733074d65d8e on eatonphil:fix-dns-delete into d41be034bf9a5fd24a7195eaff9cd6060182d914 on linode:master.

Tested locally, looks good

Coverage decreased (-0.02%) to 81.449% when pulling be893ba5077eef7349f366896e1bb97b95984116 on eatonphil:fix-dns-delete into 2c6202cf732540df53b3f0fa6e5ae8583f19ef97 on linode:master.


Add CRLF to .editorconfig to Prevent Mixed Line Endings

Description of bug
When contributing to DNN if you open up most files your IDE such as Visual Studio will display a message about mixed line endings. We should standardize the line endings in the editor config.
This was discussed with @bdukes in #3995

Closing this issue as the PR has been merged


[BUG] IWebAppsOperations.ListSlotConfigurationNamesWithHttpMessagesAsync lacking slotName input

Describe the bug
The IWebAppsOperations.ListSlotConfigurationNamesWithHttpMessagesAsync method lacks an input parameter for the slot name, which causes the method to only work for Web apps (and not Web app slots).
See also related issue 12680 over at Azure Powershell.
Expected behavior
I can pass a slot name and get the slot config names for the slot.
Actual behavior (include Exception or Stack Trace)
The above is not possible.
To Reproduce
Steps to reproduce the behavior (include a code snippet, screenshot, or any additional information that might help us reproduce the issue)

Get-AzWebAppSlot to get a slot
Use Get-AzWebAppSlotConfigName and pass the resulting object from above to the -WebApp parameter
The error "Input object is a deployment slot, not a production web app" is displayed.

The error mentioned above might come from the Powershell commandlet, but it throws this because of the bug I'm reporting now.
See also my comment in the related issue mentioned earlier.
Environment:

Microsoft.Azure.Management.WebSites (2.2.0, obtained from this file, but parameter is lacking in file on the master branch)
See environment data in related issue (mentioned at the top) for more info.
IDE and version : N/A

Thank you for your feedback.  Tagging and routing to the team member best able to assist.

@Devvox93 - The Get-AzWebAppSlotConfigName cmdlet retrieves the list of App Setting and Connection String names that are currently marked as slot settings. To get the slot config names we should pass webapp object not webapp slot object.

$webApp= Get-AzWebApp -ResourceGroupName "Default-Web-WestUS" -Name "ContosoSite" - to fecth webapp object
Use Get-AzWebAppSlotConfigName  -WebApp $webApp - to fetch the slot config names.

check here for more details.
@panchagnula - FYI

With the steps described above, one can only get the slot settings for the main web app. It is impossible to get the slot settings for a specific slot with this command. Since this issue is closed, I conclude that full support will not be built into this command nor in an alternative.