Tidy object resolution following object / value split

I feel like this change adds risk to the code. In the past, I have accidentally added code that caused resolve to be called recursively, which created hard-to-find bugs, so I added these checks as defensive coding. Unless there's a big reason to remove them, I'd rather leave them in place. The code feels more complex and error prone after this change. Can you explain why you think this is a good change? Sometimes I think we need to choose maintainability over performance, unless there's a really big gain.

Also I may have overlooked it but I see you inserting into resolving but not removing from it. My ResolveRecorder is RAII to ensure that the protection against re-entrant resolve is safe across exceptions.

Sorry, I am missing something.
resolve must only be called on an unresolved object. It therefore can be called at most once, after which it is an error to call it again as it would overwrite the cache entry. Removing the resolving.erase(og) ensures that most of these cases will be trapped in addition to any recursive calling of resolve.
Without the  resolving.erase(og) in the destructor, there does not seem any benefit in having a separate class manage the resolving set.
If there is an exception, the unresolved object will be replaced by a null object in the obj cache and therefore resolve will not be  called a second time, even if the user decides to take some action to remediate.
All that said, I do see a benefit in having a debug_assert for the isUnresolved()  precondition.

Sorry, I am missing something.

I'm probably the one who's missing something. I'll give it a close look before cutting 11.1.

I see what you're doing, but unless I'm still missing something, I think the change is more complex than necessary.

I have a better fix, inspired by this one, that is a smaller code change with a better performance gain and also improves error reporting for an existing edge case. I will push it up soon.

I have to step away for a few hours but will push it up when I return. The result is on my work branch but I intend to rework the commits and push up a separate branch with an explanation of what I was trying to get at with my comments here.

I haven't studied your solution in detail, but from what I can tell we came to the same conclusion on:

it's not worth it making getObject try to resolve objects
making calling resolve  with a resolved object a logic error would not guard in itself against reentry.
and therefore , we might as well just return rather than throw a logic error, getting rid of the need to always check twice that the object is unresolved.

From what I can tell at first glance, you removed the check for direct  objects in getObject, creating "direct" unresolved objects.

I plan on closing this in favor of #773 but want to give you @m-holger a chance to take a look.

From what I can tell at first glance, you removed the check for direct objects in getObject, creating "direct" unresolved objects.

Correct -- it never happens in the regular code path, and there's no reason to really have it as a special case as it actually hides error conditions in files that have 0 0 R in them. The end result is the same -- 0,0 will never be in the xref table, and so resolve will end up creating a null. The only difference is that it will be cached, but that is harmless. If I wanted to block it, I'd probably block it in resolve itself, just to prevent actually caching it. All the existing test cases around indirect references to object 0 either passed or actually improved somewhat when I made that change.

Your summary of conclusions matches mine. I kind of went around in a circle to get there.

Removal of the explicit check makes this code cause getAllObjects() to return a direct null, but I haven't been able to find anything this breaks, and it turns out there has always been a code path through reserved objects to get this same result. I think I don't care. The advantages of removing the check seem to slightly outweigh the disadvantages.
#define POINTERHOLDER_TRANSITION 4
#include <qpdf/QPDF.hh>
#include <qpdf/QPDFWriter.hh>

int main()
{
    QPDF q;
    q.emptyPDF();
    auto oh = q.getObject(QPDFObjGen(0, 0));
    auto a = "[]"_qpdf;
    a.appendItem(oh);
    q.getTrailer().replaceKey("/Z", a);
    QPDFWriter w(q, "/tmp/a.pdf");
    w.setPreserveUnreferencedObjects(true);
    for (auto& o: q.getAllObjects()) {
        std::cout << o.unparse() << std::endl;
    }
    w.write();
    return 0;
}

@m-holger I'd like to release 11.1 today so we can get an official pikepdf out and unblock distributions and so forth. I think we have reached the point of diminishing return on this and wouldn't recommend spending more time on it, though I'm still willing to look at suggested enhancements.

There is no reason to hold up 11.1. From a performance point of view, there is very little to be gained here.

@m-holger Can we close this, or are you still planning to tweak it? I think we've gone far enough here, but I'll defer to your preferences.

Any additional tweaks are to facilitate other changes. Might as well include them with those changes.


chore: update release to v1.21

Updated go release to v1.21
Updated Github actions with v1.21
Tested locally with act and received no errors

Again thanks @hennersz and @06kellyjac :heart:


Example deployment in a tutorial stays in not READY

What happened?
I try to create a deployment as https://v1-28.docs.kubernetes.io/docs/tutorials/kubernetes-basics/deploy-app/deploy-intro/. However, the deployment stays in not READY.
What did you expect to happen?
The deployment becomes READY.
How can we reproduce it (as minimally and precisely as possible)?
kubectl create deployment kubernetes-bootcamp --image=gcr.lank8s.cn/google-samples/kubernetes-bootcamp:v1
Anything else we need to know?

The worker node is Nividia's AGX Xavier.
The worker node (that the pod is scheduled to) has incomplete ip_vs kernel module. But the node is Ready.
On the worker node:
root@lincom-desktop:/home/lincom# lsmod | grep ip_vs
ip_vs_rr                1891  0
ip_vs                 126902  2 ip_vs_rr
nf_conntrack          106659  10 ip_vs,nf_conntrack_ipv6,nf_conntrack_ipv4,nf_nat_masquerade_ipv6,nf_conntrack_netlink,nf_nat_ipv6,nf_nat_masquerade_ipv4,xt_conntrack,nf_nat_ipv4,nf_nat
On the worker node:
systemctl status containerd
● containerd.service - containerd container runtime
Loaded: loaded (/lib/systemd/system/containerd.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2024-09-26 19:14:22 +08; 58min ago
....................................

Sep 26 20:11:49 lincom-desktop containerd[12818]: time="2024-09-26T20:11:49.482528431+08:00" level=info msg="CreateContainer within sandbox "08f1beecfa660b8e060890895af55bde4f6ecd3ed566efb9a06686a66b3bb2
Sep 26 20:11:49 lincom-desktop containerd[12818]: time="2024-09-26T20:11:49.484490266+08:00" level=info msg="StartContainer for "e0ab3499df1dd7ee92ad07d74638856451db492cc25d7ebc9c0f81c8d73fcc02""
Sep 26 20:11:49 lincom-desktop containerd[12818]: time="2024-09-26T20:11:49.812733666+08:00" level=error msg="add cg to OOM monitor" error="open /sys/fs/cgroup/memory/kubepods.slice/kubepods-besteffort.sl
Sep 26 20:11:49 lincom-desktop containerd[12818]: time="2024-09-26T20:11:49.824925353+08:00" level=info msg="StartContainer for "e0ab3499df1dd7ee92ad07d74638856451db492cc25d7ebc9c0f81c8d73fcc02" returns
Sep 26 20:11:49 lincom-desktop containerd[12818]: time="2024-09-26T20:11:49.922645757+08:00" level=info msg="shim disconnected" id=e0ab3499df1dd7ee92ad07d74638856451db492cc25d7ebc9c0f81c8d73fcc02
Sep 26 20:11:49 lincom-desktop containerd[12818]: time="2024-09-26T20:11:49.922922463+08:00" level=warning msg="cleaning up after shim disconnected" id=e0ab3499df1dd7ee92ad07d74638856451db492cc25d7ebc9c0f
Sep 26 20:11:49 lincom-desktop containerd[12818]: time="2024-09-26T20:11:49.922974111+08:00" level=info msg="cleaning up dead shim"
Sep 26 20:11:49 lincom-desktop containerd[12818]: time="2024-09-26T20:11:49.950275869+08:00" level=warning msg="cleanup warnings time="2024-09-26T20:11:49+08:00" level=info msg="starting signal loop"
Sep 26 20:11:50 lincom-desktop containerd[12818]: time="2024-09-26T20:11:50.453119577+08:00" level=info msg="RemoveContainer for "83808b6dd6c1fdbe56607e37f6386a3930c0f68193ef738dc710351426419205""
Sep 26 20:11:50 lincom-desktop containerd[12818]: time="2024-09-26T20:11:50.467662861+08:00" level=info msg="RemoveContainer for "83808b6dd6c1fdbe56607e37f6386a3930c0f68193ef738dc710351426419205" return
Kubernetes version

$ kubectl version
Client Version: v1.28.14
Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3
Server Version: v1.28.14

Cloud provider

No provider. On premise.

OS version

# On Linux:
$ cat /etc/os-release
NAME="Ubuntu"
VERSION="18.04.6 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.6 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic
$ uname -a
Linux lincom-desktop 4.9.253-tegra kubernetes/kubernetes#1 SMP PREEMPT Mon Jul 26 12:19:28 PDT 2021 aarch64 aarch64 aarch64 GNU/Linux

Install tools

Kubeadm

Container runtime (CRI) and version (if applicable)

containerd containerd.io 1.6.21

Related plugins (CNI, CSI, ...) and versions (if applicable)

flannel:v0.25.1
flannel-cni-plugin:v1.4.1

/sig apps

/retitle Example deployment in a tutorial stays in not READY

/remove-sig apps

Please confirm that https://kubernetes.io/docs/tutorials/kubernetes-basics/deploy-app/deploy-intro/ also doesn't work.
https://v1-28.docs.kubernetes.io/docs/tutorials/kubernetes-basics/deploy-app/deploy-intro/ is in maintenance mode; we are not especially prioritizing bug fixes there.
Also, I notice you're not following the instructions verbatim. You should do that (if you're not able to due to state level censorship, you could ask for an exemption).
/priority awaiting-more-evidence

Please confirm that https://kubernetes.io/docs/tutorials/kubernetes-basics/deploy-app/deploy-intro/ also doesn't work.
https://v1-28.docs.kubernetes.io/docs/tutorials/kubernetes-basics/deploy-app/deploy-intro/ is in maintenance mode; we are not especially prioritizing bug fixes there.
Also, I notice you're not following the instructions verbatim. You should do that (if you're not able to due to state level censorship, you could ask for an exemption).
/priority awaiting-more-evidence

Thank you.
I think the only difference is that I changed the image repository, which is a mirror. I don't think this is the cause.
I will try https://kubernetes.io/docs/tutorials/kubernetes-basics/deploy-app/deploy-intro/.

smells like a memcg config issue, not a docs problem.

smells like a memcg config issue, not a docs problem.

How to change the config?

This is also a very old and out of support OS. Are you able to upgrade your Ubuntu version to something more recent? It's quite possible not everything still works on 18.04.
Also the upstream version of gcr.io/google-samples/kubernetes-bootcamp:v1 reports as amd64. I've not used the AGX Xavier, but I think that's arm64. You may need to use an ARM version of that image.

You may need to use an ARM version of that image.

~Which would mean there is a valid docs bug here in that it should either call out the tutorial must be run using an AMD64 host, or be updated to provide a multi-arch image that will work on either. I've confirmed the current version of the docs have not changed.~
Scratch that, the current version of the doc actually does call out at the beginning that it is targeting AMD64.

This tutorial uses a container that requires the AMD64 architecture. If you are using minikube on a computer with a different CPU architecture, you could try using minikube with a driver that can emulate AMD64. For example, the Docker Desktop driver can do this.

You may need to use an ARM version of that image.

~Which would mean there is a valid docs bug here in that it should either call out the tutorial must be run using an AMD64 host, or be updated to provide a multi-arch image that will work on either. I've confirmed the current version of the docs have not changed.~
Scratch that, the current version of the doc actually does call out at the beginning that it is targeting AMD64.

This tutorial uses a container that requires the AMD64 architecture. If you are using minikube on a computer with a different CPU architecture, you could try using minikube with a driver that can emulate AMD64. For example, the Docker Desktop driver can do this.

Thank you. I don't know that it is targeting AMD64.


Add release pipeline

Build vsix
Publish to vsix to our own (possibly maven repo)
Release to marketplace (maybe first releases not to handle marketplace but prepare for it)

First release is going to be manual and then we start playing with a release from a pipeline.


linkify-code not working on PR commits (PR commit compare?)

Description
Likely an issue within the URL detector

How to replicate the issue
Here it works: https://github.com/refined-github/refined-github/pull/5830/files#diff-5a831ea67cf5cf8703b0de46901ab25bd191f56b320053be9332d9a3b0d01d15
Here it doesn't https://github.com/refined-github/refined-github/pull/5830/files/bab8b992ff6e7c4c156810aa99ea1008dfbee05f..75a0d8eb7bae1abb7cfa41cffd640a31d7ffe9df
Extension version
22.7.1
Browser(s) used
Safari

It works in 22.9.9 🎉


Forwarded Ports count incorrect

Does this issue occur when all extensions are disabled?: (Yes)/No

VS Code Version: 1.90.1
OS Version: Ubuntu 24.04.1

Steps to Reproduce:

Open any project that forwards ports
Delete all the forwarded ports

I have checked and this happens in 1.95.2 also


legacy: unescape all $u...$ that encode non-control Unicode codepoints.

With this PR, we're only hardcoding the "named" $...$ escapes, but not the unicode ones.
This has been bugging me for a while now, and I'll probably also fix it in the legacy C demanglers in various projects, just before upstreaming the new one.

Looks good to me, thanks!


ComboBox style problem

For some reason, styling for the combo boxes isn't initiated.

Fixed in 9aa7710b86b8bcdeb13b7ee314bfa7266b720c7a


[Bug] upgrade commons-validator as v1.6 depends on commons-beanutils 1.92 which has a CVE

Search before asking

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

Environment
Other
EventMesh version
1.3.0
What happened
n/a
How to reproduce
n/a
Debug logs
No response
Are you willing to submit PR?

[X] Yes I am willing to submit a PR!

this would be fixed by upgrading to latest rocketmq version - https://github.com/apache/incubator-eventmesh/issues/755


Fix cron trait issue for release 1.3.x

As described in

https://github.com/apache/camel-k/issues/2439
https://camel.zulipchat.com/#narrow/stream/257299-camel-k/topic/Cron.20and.20duration.20max.20messages

Release Note
NONE

I don't there will be a new 1.3.x release.

@oscerd We are now using release-1.3.2.

Yes, there won't be a 1.3.3. The target release is 1.4.x, probably there will be patch releases there, but not on 1.3.x. It's not an active branch.

Yes we dont have active older branches, next release is 1.5.0, closing this


Offsets here vs pytorch

Hi,
Thanks for publishing! This looks really useful.

Would you consider aligning the definition with the pytorch one, which seems to make more sense as "offset"?
Thank you!

Hi Amit.
This is on purpose - by specifying where each bag ends rather than begins, we can support a different number of embeddings per sample in a mini-batch, since we can ignore the padding tail of each sample. If you have an alternative design in mind, which allows using a different number of embeddings per training sample, please write it here.

How, in PyTorch, do you specify where the last bag ends? For example, suppose we have two bags in the following padded sample (padded, because it's a part of a mini-batch, where each sample has a different number of embeddings):
[1, 5, 8, 10, 2, 0, 0, 0]

I want the first two embeddings [1, 5] to belong to one bag, and the next three to belong to the another bag, and ignore the padding tail. In our design we can specify [1, 4] as the bag endpoints. How would you do it in PyTorch? How would you ignore he tail?

I don't think pytorch supports this without changing the input a bit. In any case, pytorch offsets are offsets and here they are inclusive endpoints. Seems confusing, but this is just a suggestion. Thank you for publishing.

Yes, I understand.  It was easier to do experiments with this design we chose, since we could easily construct the input by concatenating field embedding indices, and then constructing a mini-batch in a custom collate_fn using using torch.nn.utils.rnn.pad_sequence, like this:
    indices = ... # a list of int tensors
    weights = ... # a list of float tensors
    indices = torch.nn.utils.rnn.pad_sequence(indices, batch_first=True, padding_value=0)
    weights = torch.nn.utils.rnn.pad_sequence(weights, batch_first=True, padding_value=0.)
    ...

The idea you suggested, using the convention chosen by torch.nn.EmbeddingBag is also possible, since we can just use zero weights for the embeddings we don't need, and that way support a variable number of embeddings in each bag. However, it makes mini-batch construction in your DataLoader a bit harder, and also wastes time on multiplying embeddings you won't use by a zero weight, which prolongs the time we invest in running experiments by a bit.
I think we can solve it by renaming the offsets keyword to endpoints, and using another offsets keyword for the convention used by torch.nn.EmbeddingBag. That way both conventions will be supported, and it will make adoption by people who want the PyTorch convention easier, but also our experimentation easier.


handle broken subscriptions

Shouldn't be too hard to reproduce in dev: open up a subscription in one pane and restart the EventStoreDB in another. Could sent a simple atom like :eos (although this is kinda co-opting the gRPC spec) or some empty struct %Spear.SubscriptionTerminated{}.

the :shark: says that eventstoredb is giving us a GOAWAY frame on sudo systemctl restart eventstore

don't immediately see how Mint is interacting with this but I figure it's probably a {:done, request_ref} signature

so some IO.inspect/2s say that what's happening is that
Mint.HTTP2.stream(conn, message)
=> {:error, conn, %Mint.TransportError{reason: :closed}, []}

which currently triggers the c:Connection.disconnect/2 callback and also reconnect retry
I think the solution here is to dispatch whatever the "end of stream" message is in the c:Connection.disconnect/2 implementation


timerfd API on android (aarch64-linux-android && arm-linux-androideabi)

timerfd APIs are only available as SYS_* calls
As Android is linux, these should be available too.
Should they be added?
List of APIs:

timerfd_create
timerfd_settime
timerfd_gettime

That's and various definitions like TFD_NONBLOCK
Reference http://man7.org/linux/man-pages/man2/timerfd_create.2.html

seems like they were added in api level 19, im sure that's depreciated by now
/*
 * Copyright (C) 2013 The Android Open Source Project
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 *  * Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 *  * Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in
 *    the documentation and/or other materials provided with the
 *    distribution.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
 * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
 * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 * SUCH DAMAGE.
 */

#pragma once

/**
 * @file sys/timerfd.h
 * @brief Timer file descriptors.
 */

#include <fcntl.h> /* For O_CLOEXEC and O_NONBLOCK. */
#include <time.h>
#include <sys/cdefs.h>
#include <sys/types.h>

__BEGIN_DECLS

/** The timerfd_create() flag for a close-on-exec file descriptor. */
#define TFD_CLOEXEC O_CLOEXEC
/** The timerfd_create() flag for a non-blocking file descriptor. */
#define TFD_NONBLOCK O_NONBLOCK

/**
 * [timerfd_create(2)](http://man7.org/linux/man-pages/man2/timerfd_create.2.html) creates a
 * timer file descriptor.
 *
 * Returns the new file descriptor on success, and returns -1 and sets `errno` on failure.
 *
 * Available since API level 19.
 */

#if __ANDROID_API__ >= 19
int timerfd_create(clockid_t __clock, int __flags) __INTRODUCED_IN(19);
#endif /* __ANDROID_API__ >= 19 */

/** The timerfd_settime() flag to use absolute rather than relative times. */
#define TFD_TIMER_ABSTIME (1 << 0)
/** The timerfd_settime() flag to cancel an absolute timer if the realtime clock changes. */
#define TFD_TIMER_CANCEL_ON_SET (1 << 1)

/**
 * [timerfd_settime(2)](http://man7.org/linux/man-pages/man2/timerfd_settime.2.html) starts or
 * stops a timer.
 *
 * Returns 0 on success, and returns -1 and sets `errno` on failure.
 *
 * Available since API level 19.
 */

#if __ANDROID_API__ >= 19
int timerfd_settime(int __fd, int __flags, const struct itimerspec* __new_value, struct itimerspec* __old_value) __INTRODUCED_IN(19);

/**
 * [timerfd_gettime(2)](http://man7.org/linux/man-pages/man2/timerfd_gettime.2.html) queries the
 * current timer settings.
 *
 * Returns 0 on success, and returns -1 and sets `errno` on failure.
 *
 * Available since API level 19.
 */
int timerfd_gettime(int __fd, struct itimerspec* __current_value) __INTRODUCED_IN(19);
#endif /* __ANDROID_API__ >= 19 */

__END_DECLS

seems like they were added in api level 19, im sure that's depreciated by now

Multiple people--including the person who submitted the pull request #1751--seem to have read this wording and got confused; I'm assuming you mean that API level 19 (Android 4.4) is sufficiently old such that many people can feel comfortable using APIs from it, not that anything has been "deprecated". That PR should be resurrected and committed (as I'd argue that old versions of non-Android Linux are of course also missing these APIs, and yet it is available there).

@saurik While it is unfortunate that libc decided on such weird way to deal with API version.
It is not difficult to write imports yourself. See my timer crate:
https://github.com/DoumanAsh/async-timer/blob/master/src/timer/timer_fd.rs#L9-L23


Update File.new signature

Motivation
Updating signatures for File. Most of the time Pathname is an accepted type.
Test plan
See included automated tests.

Thanks!

Super quick, cheers mate 👍

@ChrisBr i believe CI is failing for you because your merge base is 2+ months old. Can you rebase?

@jez updated

@jez Anything blocking this?

We have a policy of testing changes to Sorbet against Stripe's codebase before
merging them. I've kicked off a test run for the current PR.  When the build
finishes, I'll share with you whether or how it failed. Thanks!
Stripe employees can see the build results here:
→ https://go/builds/bui_IacTDgSDaGhxAs
→ https://go/builds/bui_IacTwI8M5eMsVe

Cheers @jez


How to use td.Map with lambda

Assum that a is a sequence of number, b is a number and c is a number too.
How can I use Map and lambda to get a sequence of number [a1+b+c, a2+b+c, ... , an+b+c]
I think Map(Function(lambda x,y,z: x+y+x)) is not work?

I use Broadcast and Zip to achieve my goal.However, Broadcast copy the data many times so it cost a lot of memery.Is there a more efficient way?

Yes, you should use broadcast and zip.  Broadcast does not copy the data;
it's a python generator that expands a single element to a stream.
On Mon, Apr 10, 2017 at 1:50 AM, acelove<EMAIL_ADDRESS>wrote:

I use Broadcast and Zip to achieve my goal.However, Broadcast copy
the data many times so it cost a lot of memery.Is there a more efficient
way?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/tensorflow/fold/issues/43#issuecomment-292887904, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AGGbTfHDQMWoAQ43uXm1ifeBFnVi5Py9ks5rue09gaJpZM4M3jOJ
.

--
DeLesley Hutchins | Software Engineer |<EMAIL_ADDRESS>|<PHONE_NUMBER>


Subscription text update

Need to update text in Tiers based on latest changes done

https://github.com/bithyve/bitcoin-keeper/issues/3450 duplicate


[Bugfix] Force async XMLHttpRequest

Force to make XMLHttpRequest's async because timeouts on synchronous requests fires the following error:
InvalidAccessError
Failed to set the 'timeout' property on 'XMLHttpRequest': Timeouts cannot be set for synchronous requests made from a document.

For more information see

https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/Synchronous_and_Asynchronous_Requests

Thank you @JumpLink ! didn't know that.
The new version will be using Fetch API, and those kind of things will be addressed accordingly.


Change copyright from Filament Group to Scott Jehl

@pra85 Is there a reason for this change? As far as I know, this is still Copyrighted by Filament Group.

Maybe @wilto or @scottjehl can weigh in.

@pra85 I'm going to go ahead and close this PR. Filament Group is still the copyright holder with this package (even though it's under Scott's github name).

:+1: thanks tho

No problems, thanks for clarifying :+1:


[Unity] Fix the ambiguity issue in vDevice constructor on Mac with Apple clang version 14.0.3

PR https://github.com/apache/tvm/pull/15447 introduces vDevice and currently, it causes compilation failure on my Mac with the following error:
sung@spark-mbp build % gcc --version
Apple clang version 14.0.3 (clang-14<IP_ADDRESS>.1)
Target: x86_64-apple-darwin22.3.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

/Users/sung/tvm/src/ir/global_info.cc:33:25: error: addition of default argument on redeclaration makes this constructor a default constructor
VDevice::VDevice(Target tgt = {}, int dev_id = -1, MemoryScope mem_scope = {}) {
                        ^   ~~~~
/Users/sung/tvm/include/tvm/ir/global_info.h:97:20: note: previous declaration is here
  TVM_DLL explicit VDevice(Target tgt, int dev_id, MemoryScope mem_scope);
                   ^
1 error generated.
make[2]: *** [CMakeFiles/tvm_objs.dir/src/ir/global_info.cc.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [CMakeFiles/tvm_objs.dir/all] Error 2

This occurs due to the ambiguity with the default constructor defined within TVM_DEFINE_OBJECT_REF_METHODS.
Therefore, this PR eliminates such ambiguity by explicitly calling the constructor.
Since it requires explicit passing of the default arguments, I'd like to find a way to support previous usage (e.g., VDevice()) without the ambiguity. But I don't have good idea at the moment unfortunately.
cc. @yongwww

Thanks @sunggg  for the hot fix! To pass the CI tests, please change this line to if (n->vdevice.defined() && n->vdevice.value()->target.defined()) {. I can submit fix to your branch for this hotfix if some other tests fail


[joy-ui][Select] Scroll-jumping when clicking Select element in responsive mode

Duplicates

[X] I have searched the existing issues

Latest version

[X] I have tested the latest version

Steps to reproduce 🕹
Link to live example:
https://streamable.com/7854lm
Steps:

Create a Select element with Options.
Turn on responsive mode w/ Touch Actions in Firefox / Chromium
Give/Allow the Select element a width greater than ~60vw. 100vw is best as it scales.
Ensure that the vertical viewport is long enough to enable scrolling
Ensure that the Select element has a large offset from the top
Scroll down to the Select element
Click the Select element and notice the following
a. The scroll will jump upwards depending on the set width
b.  For some reason with a setting of "overflow-x: hidden" on the HTML element on Firefox the horizontal scrollbar will   appear as well
bb. For fun, if you highlight the element in DevTools and cause a re-calculation it will slowly return back to normal

const _Main = () =>
    <>

        <Select defaultValue="dog">
            <Option value="dog">Dog</Option>
            <Option value="cat">Cat</Option>
        </Select>

    </>

(For me only) 8. Spend countless hours trying to understand what the heck is going on.
The issue comes back to the Touch Actions. Turning it off resolves the issue. Would love to know what causes this though.
I chalked it up to the horizontal overflow appearing and rapidly disappearing, causing the jump in the vertical positioning. If that makes sense. Mainly because the size of the jump depended on the width of the element.
If it means anything it seems to follow the formula of: bodyScrollWidth = selectElementWidth * 1.5 - 29. With a viewport of 387 x 878.
The element had a height of 28 (+2 from border). So, not sure where the 29 or 1.5x comes from. But I was always able to predict what the scrollWidth would be using this formula
Current behavior 😯
Firefox:

Jump occurs immediately.
Horizontal scrollbar only appears if HTML element has overflow-x: hidden

Chromium:

Jump occurs after closing menu
Horizontal scrollbar appears

Expected behavior 🤔
Should be normal
Context 🔦
In the video I actually tested this using the MUI website to confirm it wasn't something strange in my environment.
I just hope someone else doesn't fall into this issue and waste a bunch of hours like I did.
Your environment 🌎

I used the MUI website as seen in the video and tested on Firefox + Chromium
Firefox: 113.0.1 (64-bit)
Chromium: 117.0.5938.88 (Official Build) snap (64-bit)

Here's a new Video (the one from OP is not available anymore)
Also a repro Sandbox (open in standalone tab and enable responseive view at iPhone SE or similar small screens)
https://codesandbox.io/s/joy-ui-select-overflow-nl4n57?file=/src/App.js
Direct Link to standalone: https://nl4n57.csb.app/
https://github.com/mui/material-ui/assets/1148334/18dbf344-087c-4062-aeb3-225799209385

Additional note:
My html and body have overflow:hidden (the repro sandbox does not)
As already mentioned by @RonaldRuckus the issue resolves when hovering any element in the DOM inspector.
I prepared a listBoxOpen: true version which also illustrates the issue. THere is definitely something strange going on (see inital jump and jump on interaction in the screenrecording)
Standalone: https://gz8v9l.csb.app/
Sandbox: https://codesandbox.io/s/joy-ui-select-overflow-forked-gz8v9l?file=/src/App.js
https://github.com/mui/material-ui/assets/1148334/f1807c8b-d24b-4d41-9bfd-ea0b158a9cb6

⚠ Important Note: I just checked the examples from above on my iPhone 12 mini and could not reproduce the jump or overflow) It might just be a bug in the browser implementation of touch mocking.

In my case the select is in a Modal. I am not sure if that is related.
Overscroll (but no jump) also happens here (from original Jouy-UI docs): https://5r5vs6.csb.app/
I looked at the styles and noticed that the ModalDialog uses 100vw which is know to cause issues and IMHO should never be used since scrollbars are not respected in 100vw. This lead me to some testing. I adjusted the styles of the ModalDialog to use max (I know this breaks the intent) in combination with 100% instead of 100vw.

Only the combination of max AND 100% fixes this

With this change the overflow goes away, but there is a strange gap (see screen-recording) and the Layout off the dDialog is oviously broke due to the width hack.
Sandbox: https://codesandbox.io/s/joy-ui-select-overflow-forked-6djjtr?file=/src/App.js
Standalone: https://6djjtr.csb.app/
Before
<ModalDialog sx={{
  minWidth: `min(calc(100vw - 2 * var(--Card-padding)), var(--ModalDialog-minWidth, 300px))`,
}}>

After
<ModalDialog sx={{
  minWidth: `max(calc(100% - 2 * var(--Card-padding)), var(--ModalDialog-minWidth, 300px))`,
}}>

https://github.com/mui/material-ui/assets/1148334/69f90f08-5a5f-4706-9eb9-e182f5b81203

Thanks for adding a new video and information.
I have noticed this actually happens on my phone as well. A Pixel 7.
I believe it's an issue with how the options are rendered.
There is a transform applied to place it beneath the select element and for whatever reason it confuses the browser.
Would really like to get this resolved.

https://codesandbox.io/s/joy-ui-select-overflow-nl4n57?file=/src/App.js
Direct Link to standalone: https://nl4n57.csb.app/

I can reproduce the issue but cannot figure out the root cause yet.

Just an idea. Maybe it's related to finding the perfect placement for the dropdown. Haven't tested. It was just a thought I had and wanted to propose.

I also faced the described horizontal overflow issue on Chromium with a Select in a Modal.
If this can help someone, adding width: '100%' to the listbox fixed it for me: the listbox doesn't overflow anymore.
<Select
  slotProps={{
    listbox: {
      sx: {
        width: '100%',     // <- this
      },
    },
  }}
>
  [...]
</Select>

Before:

After:

<Select
slotProps={{
listbox: {
sx: {
width: '100%',     // <- this
},
},
}}

[...]

This didn't work for me, but the following did:
<Select
  slotProps={{
    listbox: {
      sx: {
        minwidth: 'unset',     // <- this
      },
    },
  }}
>
  [...]
</Select>

I also faced the described horizontal overflow issue on Chromium with a Select in a Modal. If this can help someone, adding width: '100%' to the listbox fixed it for me: the listbox doesn't overflow anymore.
<Select
  slotProps={{
    listbox: {
      sx: {
        width: '100%',     // <- this
      },
    },
  }}
>
  [...]
</Select>

Before:
After:

Tks man.


Is this project dead?

Hi,
Although this project seems to be just what I'm looking for, there hasn't been a lot of activity around it.
My question is simple, Is this project still maintained?

Hi @eladchen,
I‘m sorry but this project is inactive at the moment. Maybe someone else starts working on it someday.
Cheers


fix(sbb-journey-summary): minor fixes

Preflight Checklist

[x] I have read the Contributing Guidelines for this project.
[x] I agree to follow the Code of Conduct that this project adheres to.
[x] I have searched the pull request tracker for a Pull Request (PR) that matches the one I want to submit, without success.

Issue
This PR Closes #
Pull request checklist
Please check if your PR fulfills the following requirements:

[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been reviewed and added / updated if needed (for bug fixes / features)

See Review Guidelines for more information what is checked during review process.
Changes
Changes in this pull request:

Browsers
I tested the build on the following browsers:

[ ] Firefox Desktop
[ ] Chrome Desktop
[ ] Edge Desktop
[ ] Safari Desktop
[ ] Chrome Mobile
[ ] Safari Mobile

Screen readers
I tested the build on the following browsers:

[ ] JAWS Firefox Desktop
[ ] JAWS Chrome Desktop
[ ] NVDA Firefox Desktop
[ ] NVDA Chrome Desktop
[ ] VoiceOver Safari Desktop
[ ] VoiceOver Chrome Desktop
[ ] VoiceOver Safari Mobile
[ ] Android Accessibility Suite Chrome Mobile

Pull request type

Please check the type of change your PR introduces:

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, renaming)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] Documentation content changes
[ ] Other (please describe):

Does this introduce a breaking change?

[ ] Yes
[ ] No

Other information

Codecov Report

Merging #1565 (cacab93) into master (ab917b0) will decrease coverage by 2.84%.
The diff coverage is 59.36%.

@@            Coverage Diff             @@
##           master    #1565      +/-   ##
==========================================
- Coverage   54.85%   52.01%   -2.84%
==========================================
  Files          49       83      +34
  Lines        1659     3666    +2007
  Branches      406      987     +581
==========================================
+ Hits          910     1907     +997
- Misses        671     1624     +953
- Partials       78      135      +57

Impacted Files
Coverage Δ

...mponents/sbb-accordion-item/sbb-accordion-item.tsx
0.00% <0.00%> (-37.21%)
:arrow_down:

src/components/sbb-clock/sbb-clock.tsx
0.00% <0.00%> (ø)

...onents/sbb-journey-summary/sbb-journey-summary.tsx
81.63% <ø> (ø)

src/components/sbb-link-list/sbb-link-list.tsx
84.00% <ø> (-4.24%)
:arrow_down:

src/components/sbb-link/sbb-link.tsx
58.00% <ø> (-33.43%)
:arrow_down:

src/components/sbb-logo/sbb-logo.tsx
0.00% <ø> (ø)

src/components/sbb-menu-action/sbb-menu-action.tsx
60.00% <ø> (ø)

src/components/sbb-menu/sbb-menu.tsx
26.54% <ø> (ø)

...ts/sbb-navigation-action/sbb-navigation-action.tsx
66.66% <ø> (ø)

...onents/sbb-navigation-list/sbb-navigation-list.tsx
84.00% <ø> (ø)

... and 80 more

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


Add experiment with orthogonal filters

Hi @zimmerrol I'm not super familiar with github's code review interface, so perhaps I'm just missing something obvious - I added four comments that are now shown as resolved, but I can't see any updates to the code. Have you committed any revisions?


Added two new classes for User Access Management and Group Management

Added 2 new classes for Access Management:

User Access Management - models events where privileges are assigned to, or revoked from, a user.
Group Management - updates to group membership and privileges.

Unfortunately I was unavailable for the time proposed yesterday for the meeting, so may be missing some context, but it seems we have switched to classifying by entity.

@jp-harvey, should we have another discussion/meeting about this change?


Cannot be used in the 1.20.1fabric version of Minecraft

Cannot be used in the 1.20.1fabric version of Minecraft, I cannot find these items or synthesize them.

I download 1.20.1 fabric version form modrinth.

Cann't found in JEI.


Issue709/dpl 277 ont create samples and requests {c m v 4}

Closes #
Changes proposed in this pull request:

...

@sdjmchattie Yep, the raises are to validate that the code is indeed unused once the flags have been flipped. Intent is to help improve confidence in their removal, but to allow quick rollback if it turns out they are used elsewhere.

I am a little uncomfortable with all the raises for when the flag is on, but I assume you've got them in the right places. I also assume it's just to check that the wrong behaviour isn't running when the flag is on. Normally you try to avoid this mixed behaviour throughout the whole system when using flags by making them smaller scope or making them able to direct all alternative behaviour through common areas of the code.

I get what you are saying but this made sense to me. There is a feature flag for the unified reception and other feature flags for turning off each of the pipeline receptions.


Price

The price is extremely steep, and there are no consumer protections in place. Please consider releasing a trial version of your bot. This would allow people to see that the bot is

Legit
Works as advertised
Worth the money.

Indeed, not offering a trial version will not make consumers make a decision to buy!

If you have your own dedicated blockchain node, the result of your creation using a high server, I will give you a trial

Is there a reason youre only offering it to me if I run a node? I can do it, and have done it before, but that is an extremely time consuming task, and synchronizing everything sucks.

Apakah ada alasan Anda hanya menawarkannya kepada saya jika saya menjalankan sebuah node? Saya bisa melakukannya, dan telah melakukannya sebelumnya, tetapi itu adalah tugas yang sangat memakan waktu, dan menyinkronkan semuanya menyebalkan. Belum lagi risiko keamanan menjalankan program yang tidak saya kenali di node pribadi. . .

what bot would you like to try?  if you want to try botexploit then you need your own dedicated blockchain node because I don't provide default mempool for trial users

I own a dedicated blockchain node for bsc. ping=5ms,Can this speed make me profitable?

you need trial bro? contact me

Are there any updates on this?

if you have further questions contact me directly via telegram


Decide supported versions of python and pandas

Right now we support python >=3.4. There are workarounds in the code for old pandas versions too. The reason for these is that we were running on Travis with old python infrastructure. Since the split this is less of an issue and we could think about removing 3.4 support and demanding a new(ish) version of pandas. Probably >0.19.

Question label applied because I guess I want to know: Should we support python 3.4?


Add support for local files, even without arguments (fix #35)

I think it's fix for #35
Now all of those links are correct:
C:...\image.png
C:...\image.png?
C:...\image.png?123
file:\C:...\image.png
file:\C:...\image.png?
file:\C:...\image.png?123

Your approach handles these local files but then fails to recognize images that were embedded via the Obsidian Syntax (i.e. ![[image.jpg]]).
These image get a path ending with a query parameter e.g. app://4de8acc508e45a4cd7f12451e76d83dbb293/C:/.../image.png?1754515
Your regex includes the query part so the function would return image.png?1754515. This can then not be matched in the file as the query part is appended by obsidian.
I will add a commit with a new Regex that (hopefully) covers all cases. I think we can safely disregard the handling of query parameters for local files as ? is not allowed in filenames.

Hmm, really missed that way of attaching files when I was testing. And I was thinking "why would a file path even have a construct with arguments...?". Turns out that's why :)
Actually, I was thinking about a similar one to your regular expression, but decided to cut it down for unnecessary, huh


Update proposal query

Add some extra fields to the proposals query

Closing as this ticket's source wasn't the proposal query lacking fields, it was due to a failure in the GQL api. We've hardcoded a rest api fallback as a temporary fix


Reimported 3D models not updating in Instanced Scene

Godot version
4.0.2.stable.mono.official [7a0977ce2]
System information
Windows 10, Vulkan
Issue description
Reimported an updated animated 3D model to Godot, old version of models remains in instanced scene. Saving and exiting, then restart Godot did not fix the issue.
Steps to reproduce
Reimported an updated animated 3D model to Godot which also belongs to an instanced scene.
Minimal reproduction project
N/A

Did you ever mark the models used as unique?

Possibly duplicate of #68672 but hard to know with limited information on what is the exact issue and setup here

I refrained from making the instance locally available within the scene, as it was initially generated from the main scene. Consequently, I opted to discard the TPS controller I was constructing. Instead of generating an instance from the model in the main scene,
I created a fresh scene, imported the model into it, and then produced an instance of the model. As of now, the model is successfully updating on re-imports. However, I have yet to incorporate the scripts and IK setup into the controller. I will address this matter and provide further updates if necessary.

@IcyChills Link didn't post?

My apologies seems github didn't post it and I didn't notice. Power was off, so reply is late.
https://www.youtube.com/watch?v=VasHZZyPpYU

Here is a quick and rather sloppy made rigged 3D model for your convenience
https://filebin.net/ts0mvy27h59sgcw5

Is this still a problem? The filebin is not accessible anymore and there is no MRP attached to this issue.

Is this still a problem? The filebin is not accessible anymore and there is no MRP attached to this issue.

Sorry for the delayed response, didn't check github for a while. It is still a problem, changes made in Blender is not being updated when reimporting the model. Tested with blend and gltf formats.
Only workaround is to create the entire player scene from scratch with every update on the model. I'll have to create an MRP as the current project can't be shared anymore in its current state. I'll post a link once that is done.

I am running into this issue on 4.1.1.
After iteratively updating a character's 3D model, eventually something happens where the model's inherited scene stops updating upon reimport.
Has anyone figured out a way to force the model in the inherited scene to start updating again? I've come across some older fixes for this sort've thing but they don't seem to work any longer.

I'm not sure if this is the same problem but this happens to me constantly when using the "editible children" feature. In this screenshot house_1 and house_2 are the same file :

I have noticed the scene stops updating the when the "inherited scene" icon is no longer there even though the children are still in yellow as if inherited from something 🤷.
When using glb files instead of blender files my child scene's children just disappear completely and I'm left with a empty Node3D instead.
This bug is my one major gripe with Godot so far. It's causing me to redo any modifications I might have done to the scenes children whenever it breaks, which is not all the time still but very often.

Godot 4.3 I tried to recreate the Scene and copy all the nodes from previous scene, the problem still existed. It is updated in viewport but still playing the old animation in game. Still no solution till now?


Mbsync per account multiple channels

Description

Checklist

[x] Change is backwards compatible.

[x] Code formatted with ./format.

[x] Code tested through nix-shell --pure tests -A run.all.

[x] Test cases updated/added. See example.

[x] Commit messages are formatted like
{component}: {description}

{long description}

See CONTRIBUTING for more information and recent commit messages for examples.

If this PR adds a new module

[x] Added myself as module maintainer. See example.

[ ] Added myself and the module files to .github/CODEOWNERS.

I also want to note, that this pull request will also fix Issue #747.
https://github.com/rycee/home-manager/issues/747

Backwards compatibility was tested by generating the old test configuration file using the new changes and performing a diff on the output.
home-manager.txt
As you can see, the only difference is that an extra newline has been introduced, which should not affect mbsync/isync operation.

Thanks for this PR @KarlJoad, that's a very nice addition to HM for isync users.


Allow use of different icons via the config.yml file

UPDATE: See below for a temporary workaround. Ideally someone can still make this happen via the config.yml file instead though.

Original Request
- Do you want to request a feature or report a bug?
Feature request
- What is the current behavior?
All icons for collections are the same. It is hard to quickly differentiate if there is a large number of collection types.
- What is the expected behavior?
Possibly through using something like font awesome instead of SVG's, allow developers to change the look of the icon next to each category in the side bar.
- Please link or paste your config.yml below if applicable.
See the addition of the icon attribute below as an example:
collections:
  - name: settings
    label: Settings
    icon: fa-cog
    files:
      - label: Global Settings
        name: global
        file: global-settings.yml

Many users probably have font awesome cached in their browser as well if that helps.

Temporary Solution & Example of Output
For reference, I have added font awesome css to my site and used the web inspector to manually change the icons to see if it works. SPOILER: IT DOES! (as you would expect..)
So far all I had to do was replace the relevant SVG elements with the following:
<i class="fa fa-<<icon name>> fa-fw" aria-hidden="true"></i>

I did this by using the following javascript code placed after the react app:
<script>
    icons = [
      {"name": "cal","fa": "calendar"},
      // ...
      {"name": "settings","fa": "cogs"}
    ]

  function iconify() {
      icons.forEach(function(item) {
          var selector = "a[href$='" + item.name + "'] .nc-icon span";
          var loc = document.querySelector(selector);
          var i = document.createElement("i");
          i.classList.add("fa", "fa-fw", "fa-" + item.fa);
          i.setAttribute("aria-hidden", "true");
          if (loc) {
              while (loc.firstChild) loc.removeChild(loc.firstChild);
              loc.appendChild(i);
          }
      })
  }

  var observer = new MutationObserver(function(changes) {
      iconify();
  });

  var init = new MutationObserver(function(changes) {
      var exists = !!document.querySelector(".nc-app-main div");

      if (exists) {
          iconify();
          observer.observe(document.querySelector('.nc-app-main div'), {
              childList: true
          });
          init.disconnect();
      }
  });

  init.observe(document.querySelector('body'), {
      childList: true
  });
</script>

...and put the following in my HTML header:
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" />
<link href="https://unpkg.com/netlify-cms/dist/cms.css" rel="stylesheet" />
<style>
    .nc-collectionPage-sidebarLink i {
        font-size: 19px;
        line-height: 24px;
        margin-left: -1px;
    }
</style>

... which results in this:

This is exactly the type of output I am hoping for from this feature request. Unfortunately I don't have any time for a little while to try and integrate these better myself, but this might help someone else in the mean time?
P.S. This workaround only works in modern browsers due to use of MutationObserver. I'm also not sure how efficient it is.. feedback appreciated!

CSS-only workaround with icon font:
Choose your favorite icon font or generate your own on https://icomoon.io/ and include it the cms page:
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">

This example uses Font Awesome:
aside a span {
  display: inline-flex !important;
  justify-content: center;
  align-items: center
}

aside a span svg {
  display: none !important;
}

aside a span:before {
  font-family: "Font Awesome 5 Free";
  font-size: 1rem;
}

aside a[href="#/collections/posts"] span:before {
  content: "\f5a1";
}

aside a[href="#/collections/pages"] span:before {
  content: "\f15c";
}

aside a[href="#/collections/sections"] span:before {
  content: "\f550";
}

aside a[href="#/collections/menus"] span:before {
  content: "\f0e8";
}

aside a[href="#/collections/people"] span:before {
  content: "\f2b9";
}

aside a[href="#/collections/settings"] span:before {
  content: "\f085";
}

You just have to pick which character is assigned to the icon you want in your font and use as the content of the pseudo-element.
Use more or less specific selectors as you see fit.

Please, be a good bot and don't close this. @erquhart promised us changes soon. Let him close it when it's time 🙂

Is it worth checking out how to integrate react-icons since they seem to support all of the most common icon libraries out there?
We could possible build a icon library registry that we use internally and expose to the user to register their own icon libraries if they really wanted to.
Something like
const myIconLibrary {
  prefix: "mi",
  get: (name) => <MyIcon name={name} />
}

CMS.registerIconLibrary(myIconLibrary)

and in the configuration icons could be referenced like mi/cog or in the case of all supported react-icons icon libraries, eg. fa/FaAccessibleIcon.

Regarding #2557, I am using the open source Feather icon set with a few additions of my own. In this redesign I planned to allow to specify the icon used for each collection by specifying the name in config.yml.
We could default to this set and allow for custom icons or entire icon sets to be used.

I love feather icons. They would make a great default. Also they come with the react-icons package as well.
I just don't know how we would incorporate your additions. Are they intended to be used internally or with user defined collections as well?
I think then we should add something like a default icon library so the user can drop the fi prefix (or any other for that matter) and just use the icon names.

@hanneskuettner Check out our Icon story in storybook here. Also look at the ui-default package in the v3-ui-redesign branch.
As you can see right now they are all react components but maybe we could be handling that better. I am not including the Feather icons package because I wanted to do my own and include them. But now that I think about it, we might just use our icon as a proxy and only include custom icons. Maybe not though. I think I did it this way to allow for more flexibility. If you have any input here I’m all ears!

Is there any update on this?

Is there any update on this?

Both @hanneskuettner and myself have started working at Directus since this was first created. So I guess that is an update? Not to brag or anything, but you can customise the Collection icons in Directus 💪


Run coverage in GitHub Actions and upload results to coveralls.io

This PR configures GitHub Actions to run tests with coverage and uploads the coverage results to coveralls.io [SAT-4655]

LGTM! Thanks Vlad!


Added alt tags to all images for improved accessibility and SEO

Description
Added alt tags to all images for improved accessibility and SEO.
This PR fixes #1369
Notes for Reviewers
Signed commits

[x] Yes, I signed my commits.

hey @blindaks while making commit run this command on your terminal git -s -m "your msg" . It will sign-off your commit.

Hii @blindaks
Let's discuss it on the websites call.
Please add this as an agenda item in the meeting minutes, if you would :)
https://docs.google.com/document/d/1XczAHXVe2FIWPqiF57ospJ43zw5cZQ7ui8mn39v5EvA/edit#heading=h.lohhtewfwima

@blindaks  , You havent joined our slack channel yet . Please join to get updates about meeting and discuss about your progress
https://layer5io.slack.com

@blindaks   After making changes, commit with the sign-off flag (-s)!

This is what helped me
Now you need to close the existing PR and raise a new one with proper signoff commits
To signoff the commits you can use --signoff or -s while writing the command to commit the changes
Use this command: $ git commit -s -m “my commit message”
For more info you can checkout this one :- https://volunteer.coscup.org/docs/en/dev/how-to-signoff/


feat(server): migrate extensible enum rule to context object to support openapi 3

Related to #714

Codecov Report

Merging #810 into master will increase coverage by 0.29%.
The diff coverage is 92.85%.

@@             Coverage Diff              @@
##             master     #810      +/-   ##
============================================
+ Coverage     84.35%   84.65%   +0.29%
+ Complexity      957      928      -29
============================================
  Files           171      171
  Lines          2647     2627      -20
  Branches        407      397      -10
============================================
- Hits           2233     2224       -9
  Misses          198      198
+ Partials        216      205      -11

Impacted Files
Coverage Δ
Complexity Δ

...src/main/java/de/zalando/zally/util/OpenApiUtil.kt
59.57% <100%> (+10.92%)
0 <0> (ø)
:arrow_down:

...e/zalando/zally/rule/zalando/ExtensibleEnumRule.kt
80% <75%> (+14.28%)
6 <5> (-29)
:arrow_down:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 71bdd29...2d11016. Read the comment docs.

:+1:

:+1:


yolov8_ResBlock_CBAM过拟合

如题，请问为什么我用yolov8_ResBlock_CBAM.yaml训练时会过拟合呢

Hi,
One reason is that the dataset we used is limited (serious class imbalance).
Maybe you can use more data to solve this problem.


Bump cargo dependencies

We'd like to enforce cargo-audit testing on all new pull requests via Travis. PR #9 addresses this for sevctl, but the test currently fails due to out-of-date dependencies. This PR updates dependencies in Cargo.lock with cargo update to address this.
@steveeJ I cannot add reviewers myself on this repo; tagging you for review.

@steveeJ Yes, that's correct. I've reworded it to be a bit more specific.

Yes, that's correct. I've reworded it to be a bit more specific.

Thanks. I think "Refresh Cargo lockfile with new dependencies" doesn't quite cut it either. Logically we're not introducing new dependencies. We're merely refreshing the lockfile to consider newer versions of the existing dependencies. From the cargo manpage: "Update dependencies as recorded in the local lock file.", so let's use "Cargo: update dependencies in lock file"?

Done.

As a last step, did you run cargo test on this after refreshing the lockfile?

As a last step, did you run cargo test on this after refreshing the lockfile?

There aren't any tests defined yet, so that doesn't more than building the program, but at least it'll do that ;-)

@steveeJ Yes, compiles fine :smile:

Yes, compiles fine smile

Thanks :wink:


Change colour used in phase tags to govuk-blue [DO NOT MERGE]

Summary
This pr changes the background colour used in the phase tags to $govuk-blue rather than $alpha-colour or $beta-colour which have insufficient contrast.
The current pink has a contrast of 4.46:1 (nearly ok), but the orange is 2.78:1.
Have discussed with accessibility team and @timpaul but will want to discuss with the rest of the design team.
Ideally I'd use a semantic sass name, but I believe $mainstream-brand may change per org, which is not what we want here.
Before:

After:

Why not adjust to darker colours?
The pink can be adjusted (will do regardless in a separate pr), but there's no way of getting the orange to meet contrast checks without being brown or red.
Separately - there's no real reason for them to have different colours - users don't know what alpha or beta mean, let alone the colours. Changing them to blue makes the pages more consistent.
Why not remove the banners entirely?
Is a possible solution, but will need much more discussion. This is an easier change to do - whilst any other discussion about keeping or removing the banners happens.
Testing
These changes haven't been tested - am unsure how to test frontend toolkit changes.
Still to do / oustanding:

should we be outputting a warning to services that continue to pass in the phase?
need to update elements / other bits of GOV.UK that use the phase banner.

Fixes govuk_elements/#217

A first thought is since we're using a similar colour to our links, this could make the new label look like it's a link and therefore clickable? Just an assumption.

As it stands this will be a breaking change. Calling @include phase-banner($alpha) with the new code breaks Sass compilation as the mixin isn’t expecting an argument. Probably the best solution is to change the definition to @mixin phase-banner($phase: '') to imply that you’re not expecting a value, that way regardless of how it’s called it will work.

Will anything else be using $alpha-colour and $beta-colour.
If not, they can be removed. If yes – what are those things, will they also need updating?

@robinwhittleton thanks, will adjust the PR.
@fofr I think they're used in other places too - right now I'm not suggesting removing the semantic colours, just changing this pattern to no longer use them.
@nickcolley I don't think it's an issue. @timpaul has had these in some research lately - perhaps he can say more.

Why blue? Why not make both banners pink or a different non-blue colour? There may not be a need to have different colours in the banner, but I think there’s a need for it to flag users, by appearing differently to the rest of GOV.UK.
Here's the change in context:

@fofr I don't think any other colour will be more 'noticeable'. Already we see that the banners aren't noticed my users in research. They're more for service teams in government to know the status of the project.
@timpaul any thoughts?

The new style featured in some recent research into GaaP product pages and didn't cause any issues, but we weren't explicitly testing them.
I agree with Ed that most users already have very little awareness or understanding of what these tags mean - and that's fine. It's the messaging next to the tag and on service start pages that's important. In terms of improving accessibility and reducing visual noise I think the blue works.

Ok, have spoken to @markhurrell who is happy with this change also. I'm going to remove the [DO NOT MERGE] label.
After this is merged, I think we'll need to:

Update service manual with new examples
Bump alphagov/govuk-elements to include latest kit
I think they're used on a few gov.uk content pages - hope these just need a bump of the kit to get the new styles.

This looks good to me.


Issues with Training Data

Is it feasible to use a dataset that consists of images with sizes like 512x832, 512x576, 1536x512, etc. for training?

I think you should resize all of them to 512x512. This dimensions is which the Controlnet is trained on. I believe

使用由 512x832、512x576、1536x512 等尺寸的图像组成的数据集进行训练是否可行？

数据集的图片尺寸需要保持一致，最少512x512，可以加大且是64的倍数如1024x1024，1024x512等


Add material-ui example

Example can be found here:
https://github.com/zeit/next.js/issues/873

The code with the page decorator works great. I'm still getting this error

React attempted to reuse markup in a container but the checksum was invalid

Maybe it's just something I'm doing wrong but it would be great if there is something anyone knows about this. I also can't find the cleanest way to add injectTapEventPlugin() where it just gets run once.

The userAgent needs to be passed in to the MUI Component. @sstubbs which version of MUI are you on? I'm running 2-beta.
As for the tap plugin, I just did the following. Bit stinky but not had any problems with it...
try {
    injectTapEventPlugin();
} catch(e) {}

Actually found that on one of the issues on the repo regarding it.

You'd want to only display your Material components once the component is mounted client side. Try this.

import React, { Component } from 'react'
import { MuiThemeProvider, getMuiTheme } from 'material-ui/styles'
import injectTapEventPlugin from 'react-tap-event-plugin'

const muiTheme = getMuiTheme({ userAgent: false });

//Need this for material ui click events
try {
	injectTapEventPlugin()
}
catch(e) {
	//Don't do anything
}

export default class extends Component {

	static async getInitialProps ({ req }) {
		//if you need this for stuff
	}

	//Set the initial state to loading
	state = {
		isLoading : true
	}

	componentDidMount() {

		//Component mounted, so loading is now false
		this.setState({
			isLoading : false
		})
	}

	render() {

		//Render an intial message while the initial request from the server is coming in
		let view =

		if(this.state.isLoading === false)
		{
			//We know our component is mounted client side, so go ahead and
			//show our view with our material styling.
			view = <YourMaterialComponent/>
		}

		return(
			<MuiThemeProvider muiTheme={muiTheme}>
				{view}
			</MuiThemeProvider>
		)
	}

}

@russelh15 I don't understand why your doing that? The server is just rendering the React before the client sees it, so it works fine rendering on the server.

@Ehesp You're right, it seems like it must be something specific to some components that I'm rendering that's causing the client render to be different from the server render.
I stripped out some code and did a simple test. It does seem to work as expected when I render a simple child component without using a isLoading state.

I am running next.js 2.0 beta and MUI 0.16.7 and using the template in the example. And loading the tap plugin as suggested works great. I am still getting this error though. I am using the component given in the example which does pass the userAgent via the props and gets it as below. setting userAgent to false seems a bit strange to me but if this is really the answer I will go ahead and try it.
    static async getInitialProps(ctx) {
        const { req } = ctx;
        const isServer = !!req;
        const userAgent = req ? req.headers['user-agent'] : navigator.userAgent;

        // Second param here is initial redux state on the server
        const store = initStore(reducers, {}, isServer);

        let pageProps = {};

        if (ComposedComponent.getInitialProps) {
            pageProps = await ComposedComponent.getInitialProps(ctx);
        }

        return {
            ...pageProps,
            initialState: store.getState(),
            isServer,
            userAgent,
        };
    }

@sstubbs that's correct - don't set the userAgent to false.
muiTheme={getMuiTheme({ userAgent: this.props.userAgent })

Ok thanks. I'm still getting this mismatch between server and client though. Is anyone else getting this?

I'm working on an app that uses material-ui and everything works really well. Here it is if it would help at all: https://github.com/knipferrc/plate

Yours works well in chrome but I get the same issue in safari. Very strange. Still better than mine though where it happens in both browsers.

modified nextjs-apollo example https://github.com/zeit/next.js/tree/master/examples/with-apollo according to #873 and this issue, works fine
here is the gist https://gist.github.com/alexedev/08acfd293ae88d5e353a6a6d2efcf6c9
PS i'm not sure if I placed injectTapEventPlugin()  properly though

Here is how I make it work
App.js
import injectTapEventPlugin from 'react-tap-event-plugin'
if (typeof window !== 'undefined') {
  injectTapEventPlugin();
}

here is configs:
const muiDetaulTheme = {
  appBar: {
    spacing: 5,
    height: 51,
  },
  palette: {
    primary1Color: '#fdce09',
    primary2Color: '#fe9900',
    primary3Color: '#589f39',
    borderColor: '#e9ebee'
  },
  avatar: {
    borderColor: null,
  },
  userAgent: false,
};

<MuiThemeProvider muiTheme={muiTheme}>
...
</MuiThemeProvider>

I'm getting the same error in my web app as well:
Warning: React attempted to reuse markup in a container but the checksum was invalid. This generally means that you are using server rendering and the markup generated on the server was not what the client was expecting. React injected new markup to compensate which works but you have lost many of the benefits of server rendering. Instead, figure out why the markup being generated is different on the client or server:
 (client) :auto;mui-prepared:;" data-reactid="19">
 (server) :auto;mui-prepared:;-webkit-transition:h

I've tried setting the user agent correctly as well as using the try / catch statement, but I still get the above error. What was the agreed upon fix?

@justswim Can you post your code?

Hello. I have the same problem as @justswim
Here is my code https://gist.github.com/bogdibota/b97fd372c8a8b734ef42386bc33a9e94

I am also having this problem. Here is the barebones code that produces the error.
// pages/index.js
import { Card } from 'material-ui/Card'
import { MuiThemeProvider } from 'material-ui'
import getMuiTheme from 'material-ui/styles/getMuiTheme'

const Index = ({ userAgent }) => (
  <MuiThemeProvider theme={getMuiTheme({userAgent})}>
    <Card />
  </MuiThemeProvider>
)

Index.getInitialProps = ({req}) => ({
  userAgent: req ? req.headers['user-agent'] : navigator.userAgent
})

export default Index

And the error itself:
commons.js:102 Warning: React attempted to reuse markup in a container but the checksum was invalid. This generally means that you are using server rendering and the markup generated on the server was not what the client was expecting. React injected new markup to compensate which works but you have lost many of the benefits of server rendering. Instead, figure out why the markup being generated is different on the client or server:
 (client) dex:1;mui-prepared:;" data-reactid="2"><
 (server) dex:1;mui-prepared:;-webkit-transition:a

While this solution works... is there any way to avoid having to cut-paste the userAgent boilerplate into every single page I create?  It seems that because of the way getInitialProps works, I'm prevented from using composition to solve it, since getInitialProps will only run on the outer component and not the wrapped component.  Inheritance isn't possible mainly due to React itself, and I'm not quite sure both static methods (parent class and child class) would even get called.
If I'm going to need that userAgent value on every page to avoid the style checksum issue, it'd be nice to put that code in one place.  I'm not seeing any way to accomplish that though.

@ryanfields you can use a higher order component to avoid having that code in multiple places.
Something like this.
`/hoc/layout.js
const Layout = (ComposedComponent) => {
return class extends Component {

	static async getInitialProps(ctx) {

		const { req } = ctx

		const userAgent = req ? req.headers['user-agent'] : navigator.userAgent;

		let pageProps = {}

		if(ComposedComponent.getInitialProps) {
			pageProps = await ComposedComponent.getInitialProps(ctx)
		}

		return {
			...pageProps,
			userAgent
		}

	}

	render() {

		return <ComposedComponent {...this.props} />
	}

}

}
export Layout
/pages/myPage.js
import Layout from './hoc/layout'
class MyPage extends Component {
static async getInitialProps(ctx) {

	//Do your standard stuff here

	return {

	}
}

render() {
	return
Hello World

}

}
export default Layout(MyPage)
`

It should be called. Can you post your code?

@russelh15 I wrote something quick in isolation to test and post here, but it worked.  I must be doing something weird elsewhere in my main project.  I'm going to assume I've screwed something up elsewhere since this proves it should be working.

Looks like Material-UI has a new version coming out soon.
If someone can update the example to include usage and SSR for the new version that would be awesome.

I believe it is what are you looking for:
https://github.com/zeit/next.js/tree/master/examples/with-material-ui-next

I actually get an error when running the example:
(0 , _styles.createStyleSheet) is not a function
TypeError: (0 , _styles.createStyleSheet) is not a function
    at Object.<anonymous> (...project/.next/dist/hocs/withRoot.js:48:47)
    at Module._compile (module.js:569:30)
    at Object.Module._extensions..js (module.js:580:10)
    at Module.load (module.js:503:32)
    at tryModuleLoad (module.js:466:12)
    at Function.Module._load (module.js:458:3)
    at Module.require (module.js:513:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (...project/.next/dist/pages/index.js:42:17)
    at Module._compile (module.js:569:30)

This is fixed now. It was an error with the release of v1 that removed createStyleSheet.


Workload identity does not support First Party Apps?

Describe the bug
Background
We are internal Azure team, recently we are asked to move away from client certificates which we use to auth with 3rd party apps and first party apps, and the only option is to use federated identity. We primarily use AKS to host our services so we started to see if we can enable federated identity integration (We already enabled workload identity on our clusters with user assigned managed identity).
However I did some experiments and found out that it seems does not work with first party apps (followed https://review.learn.microsoft.com/en-us/identity/microsoft-identity-platform/federated-identity-credentials?branch=main#register-a-federated-identity-credential), I received below error, since the token is issued by AKS cluster, I cannot use it with first party app?  The doc does mention that, so I believe token issued from AKS cluster is not supported:

First-party applications can be configured to accept these access tokens as a credential when issued by certain Microsoft Entra tenants (For example, AME and PME) and when the token’s subject is an Azure Managed Identity.

{"error":"invalid_client","error_description":"AADSTS700223: **Only AAD-issued tokens may be used for first-party application federated identity flows**. Trace ID: 22141a72-da35-45a4-9290-3d5d8bc15001 Correlation ID: 51e4a297-bf34-4dd3-8e33-f225c0966f88 Timestamp: 2024-02-29 22:52:50Z","error_codes":[700223],"timestamp":"2024-02-29 22:52:50Z","trace_id":"22141a72-da35-45a4-9290-3d5d8bc15001","correlation_id":"51e4a297-bf34-4dd3-8e33-f225c0966f88","error_uri":"https://eastus2.login.microsoft.com/error?code=700223"}
I also tried to "chain" them, get the token from MSI using workload identity first, and then use the token to auth with first party app, it's failed with another error:
{"error":"invalid_client","error_description":"AADSTS700231: Token obtained using another federated identity credential may not be used as federated identity credential. Trace ID: 1b9234de-cfb1-419f-ae01-ceb29a057201 Correlation ID: f7d424f0-8c47-40b0-9af1-6cb9626dc4fb Timestamp: 2024-03-01 22:12:15Z","error_codes":[700231],"timestamp":"2024-03-01 22:12:15Z","trace_id":"1b9234de-cfb1-419f-ae01-ceb29a057201","correlation_id":"f7d424f0-8c47-40b0-9af1-6cb9626dc4fb"}
Could you confirm if it is the case? If it is, is there any alternative way to do it? It seems that we cannot use this feature after switching to workload identity.

@djj0809 we are also an Azure internal team and getting into the same issue. Did you find a solution?

@prateekprshr-nith I haven't

@djj0809/@prateekprshr-nith - can you folks ping me internally? This is a public facing thread. All discussions surrounding 1P focused stuff should be kept internal.

Closing this issue with https://github.com/Azure/azure-workload-identity/issues/1274#issuecomment-2007890427.


UHF-8567: Run tests against php 8.2

Codecov Report

Merging #13 (f8cd81f) into main (fcc126b) will increase coverage by 24.13%.
The diff coverage is n/a.

:exclamation: Current head f8cd81f differs from pull request most recent head 421bff7. Consider uploading reports for the commit 421bff7 to get more accurate results

@@              Coverage Diff              @@
##               main      #13       +/-   ##
=============================================
+ Coverage     28.57%   52.70%   +24.13%
- Complexity       14       24       +10
=============================================
  Files             1        2        +1
  Lines            35       74       +39
=============================================
+ Hits             10       39       +29
- Misses           25       35       +10

see 3 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


docs.rs failed to build pyo3-0.4.1

https://docs.rs/crate/pyo3/0.4.1
The latest version with working docs appears to be 0.2.7.

That's because docs.rs rustc version is too old. There's unfortunately nothing we can do about that. For now cargo doc --open can show the api docs


install: make brew official installer (add VERSION etc.)

What happened?

What did you expect to happen instead?
That this would give me the version of devspace, as this is requested when opening a bug report.
How can we reproduce the bug? (as minimally and precisely as possible)
devspace --version
Local Environment:

DevSpace Version: 4.12.2

Operating System: mac

/kind bug

@Addono Did you install DevSpace via brew? That's a community maintained installer for DevSpace which unfortunately does not set the VERSION variable at build time. I've been meaning to add a PR to brew and make it an official installer for DevSpace but didn't work on this, yet.

Yeah, installed it using Brew.

Looks like this has been sorted here
~
 ➜ brew install devspace
==> Homebrew is run entirely by unpaid volunteers. Please consider donating:
  https://github.com/Homebrew/brew#donations

==> Auto-updated Homebrew!
Updated 1 tap (homebrew/core).
==> New Formulae
rdb                                                                                ripsecrets

==> Downloading https://ghcr.io/v2/homebrew/core/devspace/manifests/5.18.5
######################################################################## 100.0%
==> Downloading https://ghcr.io/v2/homebrew/core/devspace/blobs/sha256:e98e00b8e7de436cccc3417dcd9e74c7adf096352260f265a0ad06de61d16923
==> Downloading from https://pkg-containers.githubusercontent.com/ghcr1/blobs/sha256:e98e00b8e7de436cccc3417dcd9e74c7adf096352260f265a0ad06de61d16923?se=2022-08-19T16%3A35%3A00Z&sig=9xSY92v
######################################################################## 100.0%
==> Pouring devspace--5.18.5.x86_64_linux.bottle.tar.gz
🍺  /home/linuxbrew/.linuxbrew/Cellar/devspace/5.18.5: 5 files, 49.6MB
==> Running `brew cleanup devspace`...
Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.
Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).
~
 ➜ devspace --version
devspace version 5.18.5
~
 ➜ brew info devspace
devspace: stable 5.18.5 (bottled), HEAD
CLI helps develop/deploy/debug apps with Docker and k8s
https://devspace.sh/
/home/linuxbrew/.linuxbrew/Cellar/devspace/5.18.5 (5 files, 49.6MB) *
  Poured from bottle on 2022-08-19 at 16:26:19
From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/devspace.rb
License: Apache-2.0
==> Dependencies
Build: go ✘
Required: kubernetes-cli ✔
==> Options
--HEAD
	Install HEAD version
==> Analytics
install: 509 (30 days), 1,716 (90 days), 7,940 (365 days)
install-on-request: 502 (30 days), 1,699 (90 days), 7,820 (365 days)
build-error: 0 (30 days)

Going to close since I believe we are good to go here, but feel free to reopen if I missed something!


Why are variable types determined during resolve?

When I went to go fix a panic when var x; is used in ANM, I noticed something funny about the signature of this function in the stackless lowerer:
/// Lowers `int x, y = 3, z;`
fn lower_var_declaration(
    &mut self,
    _stmt_span: Span,
    stmt_time: i32,
    _keyword: &Sp<ast::VarDeclKeyword>,      // <-------- ???
    vars: &[Sp<(Sp<ast::Var>, Option<Sp<ast::Expr>>)>],
) -> Result<(), CompileError>{

The keyword that determines the type isn't even looked at here!  Doesn't this seem strange?
To my memory, this is because variable types are actually determined during name resolution.  But if you really think about it... isn't that weird?  Why did I do it that way?  Name resolution should just be distinguishing between identical identifiers, right?
I can't help but wonder if this is related to the fact that I've frequently felt uncertain about the design of type_system::Variables and have often felt confused about what the correct way is to raise variables using it....

On further reflection, in a language with such simple types and no form of inference, it doesn't seem all that strange to try to accomplish both name resolution and gathering of type info in one pass.  (and that's not all we gather; notably we also gather spans for diagnostics)
Worth noting, the new type checker now very much relies on types being known at a fairly early stage during compilation:
https://github.com/ExpHP/truth/blob/fae44a0b739ad55437a8588391c630128354acbe/src/passes/type_check.rs
Also, I am rewriting the type system (#6)

Yeah, as far as I'm concerned, it is best the way it is.  The new type checker has really helped streamline a lot of type-related error messages, and it relies a lot on this type information from name resolution.
The new TypeSystem—where all of this information is tracked—is still not exactly my favorite thing ever (notably, it feels like the current design will lead to "too many methods" in the future), but regardless I'm feeling a lot better about it than I used to feel about RegsAndInstrs/Variables.


scikit-learn dependency version may need to be fixed

Hello,
while testing a fresh install of bacphlip I had this warniing message
/tmp/tt/lib/python3.7/site-packages/scikit_learn-0.23.1-py3.7-linux-x86_64.egg/sklearn/base.py:334: UserWarning: Trying to unpickle estimator DecisionTreeClassifier from version 0.23.0 when using version 0.23.1. This might lead to breaking code or invalid results. Use at your own risk.

forcing installation of scikit-learn version 0.23.0 solved the problem, no longer warning at run time.
regards
Eric

Thanks again for this comment, I'm aware of this annoyance and just haven't found a suitable fix yet. Basically I personally HATE when tools have old dependencies so when you install them your system install of some other package will get rolled back so I'm really resistant to doing that.
But unfortunately scikit-learn gives that same error with every minor release they have if the initial model is constructed / trained on one release and then imported into another release. Hope there is a fix for this that I just haven't found yet but at the moment I think I'm just going to live with the run time warning. Will keep you posted if I find a solution, and thanks again for all the feedback.

no problem. thanks for the comment

Also decided to just require scikit-learn 0.23 for the time being rather than let that warning scare users. Will try and keep it up to date by re-running and saving the underlying model with any major scikit-learn releases so that it's dependency is always the newest major release. Seems like model persistence in these models across versions is a long standing unsolved issue. Thanks again for your help.


Editor Plugin Examples using EGUI

Added two Editor Plugin samples by adding some tool scripts based on the Godot Tutorials.
This includes

Main Screen sample
Dock sample

To make this work, the GodotEguiExample and GodotEgui NativeClasses needed to be registered as tool classes.
As discussed in Discord, converting the classes to tool scripts may have some issues related to hot reloading. Based on my testing, this only appears to affect godot if you are currently using the editor actively during a build while where the native library may be deleted.
I believe this can be mitigated in real projects by either

Developing toolscripts in a separate library so that they don't have to be rebuilt with your game.
Avoiding pointing directly where the libraries are built and instead copy the library into the project folder (manually or via an editor build task)

Let me know if you would like to include any changes. For the plugin .cfgs, I just left the author as myself, but if you'd like to change it, I don't have a problem with it :)

Very nice! Thanks for working on this :smile:
I've tested the changes and everything seems to work well. If you could you take care of the minor comments I left we should be ready to merge :+1:

@setzer22 Changes were made as requested in bd15df2

Looks good to me!


Mod preview, inform when not public

The bot is able to get info about a mod even tho it isn't public.
The bot tell the person posting the link that it's not public. In case they've forgotten to set it public.

Completed in V3


Fix broken links

Github retired subdomains of github.com, instead we should use github.io
subdomains.

Thanks!

The link is still broken on stackage btw
https://www.stackage.org/package/hatex-guide

The link is still broken on stackage btw
https://www.stackage.org/package/hatex-guide

Thanks for the update.


address jsonschema mock edge case

Fix to work around this issue:
https://github.com/joeapearson/jest-jsonschema
Problem seems to be that jsonschema module creates member functions with - in them (e.g. utc-millisec), presumably to mirror the json schema spec

Thank you! Do you mind adding a test as well?
We should probably replace every character that would make the code we eval illegal, however.

Current coverage is 89.93% (diff: 100%)

Merging #1676 into master will not change coverage

@@             master      #1676   diff @@
==========================================
  Files            31         31
  Lines          1143       1143
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
  Hits           1028       1028
  Misses          115        115
  Partials          0          0

Powered by Codecov. Last update b1e7af2...dc1c7da

Sure I can add a test.
Does the generated function really need to be named or could it just be anonymous?  That would fix the issue without any need for handing illegal characters at all.  Perhaps less user friendly.
E.g.
  return new Function(
    MOCK_CONSTRUCTOR_NAME,
    'return function () {' +
      'return ' + MOCK_CONSTRUCTOR_NAME + '.apply(this,arguments);' +
    '}' + bindCall,
  )(mockConstructor);

Did a quick bit of reading: updating the code to handle all illegal characters might be overkill!   http://stackoverflow.com/questions/1661197/what-characters-are-valid-for-javascript-variable-names

Added simple test.
I suggest making the generated function anonymous as a more complete fix.

Thanks. The reason why we do this is so that errors etc. preserve the name. In practice, this hasn't caused much trouble. Thank you for the fix! Just waiting for CI now.

The reason why we do this is so that errors etc. preserve the name

Thought so.  In which case my fix only really addresses a single edge case.  Let me know if you'd prefer something more complete and I can look into it.

I think this is fine for now. This is a rare enough edge case that most people never run into it :)


Implement a suite of graph walkng and analysis algorithms

Originally reported on Google Code with ID 497

We need in several contexts to analyse the various graphs in an Umple model.

The state machine graph (nodes = states, arcs = transitions, but accounting for
nesting)
The graph formed by associations (nodes = classes, interfaces, etc; arcs = associations)
The graphs (tree) formed by constraint expressions (nodes = variables, arcs = operators).

We need to compute numerous algorithms on these

Basic walking (e.g. depth first and/or breadth first, with marking of visits)
Enumerate cycles, simple number of cycles
Unreachable elements (at least in state machines)
Cyclomatic complexity
etc

Applications

Metrics
Model analysis (finding faults such as unreachable states, issue 492 )
Diagram drawing (improving current generators)

To do this we need a basic walking infrastructure in place first, then to implement
the

Reported by @umple on 2014-02-04 20:45:23

Added wiki page to document the API and get feedback on the potential details.

The StateMachine graph class is finished. I will be continuing to work on Umple after my term with UCOSP, and will implement other concrete graphs such as class inheritance hierarchy.


Homophones GUI should hide/deprioritise current word

Issue
The list of homophones options shows the word that the user is already looking at somewhere in the list (see the screen shot at the bottom).
This doesn't make much sense since a user wouldn't request homophones of a word if they are happy with the word as it is.
Reasoning
This has some minor negative effects like increasing cognitive load and decision-making time.
Potential Solutions
I think it's pretty safe to either not show the word, or, if we find a good reason to keep showing it, then to always display it last since it's least likely to be the word that a user is looking for.

Fix for this has been merged #596 . Closing.


Fix visibility issue with calling a protected method

createNewNode might be overriden in a subclass, but if it is we can't directly call it because it might be defined in another module.
Perhaps it should be made public instead? Or this could even be a drawback in the visibility rules in D / a bug.

Rebased.


allow DRY-er renames

During promotion, we might need to rename images to multiple repositories, but the current renames: syntax in the Promoter Manifest forces us to specify each repository (any unlisted repository will not use the renamed image path).
E.g. if we have the {eu,asia,us}.gcr.io regional destinations, then the renames would have to look like this in the manifest (as it is implemented today):
renames:
- ["gcr.io/foo/a", "eu.gcr.io/foo/subdir/a", "us.gcr.io/foo/subdir/a", "asia.gcr.io/foo/subdir/a"]

which is explicit but could be seen as verbose. Instead we could support either globbing or brace expansion to take care of such scenarios, like this:
renames:
- ["gcr.io/foo/a", "*/subdir/a"]

where the * means "all destination registries", or
renames:
- ["gcr.io/foo/a", "{eu,us,asia}.gcr.io/foo/subdir/a"]

The globbing part could alternatively be done inside an image's entry instead of the toplevel renames: field. E.g., we could have
images:
- name: "a"
  dmap: ...
  rename: "subdir/a"

and that would be functionally equivalent to having a toplevel ["gcr.io/foo/a", "*/subdir/a"].

/remove-lifecycle stale

This might be a non-issue because in practice, renames are rarely necessary (now that we understand that image name "rebasing" is doable).

Renames are no longer supported as of #139.
/close


Silverbullet sync: error General sync error: Unexpected token '<'...

I'm trying to use the sync feature for two instances, one locally (macos sb version 0.9.2) and one on deno.dev following the instructions in the community guide.
From my local machine, I try:
silverbullet % SB_AUTH_TOKEN=supersecret silverbullet sync . https://elliottio.deno.dev/
Which returns this error:
Going to synchronize . and https://elliottio.deno.dev/
Using local disk as a storage backend: /Users/elliott/silverbullet
[sync] Performing a full sync cycle...
Fetched uncached file list in 5.343916000000007 ms
error General sync error: Unexpected token '<', "<!DOCTYPE "... is not valid JSON
Unhandled rejection: PromiseRejectionEvent {
  bubbles: false,
  cancelable: true,
  composed: false,
  currentTarget: Window {},
  defaultPrevented: false,
  eventPhase: 2,
  srcElement: null,
  target: Window {},
  returnValue: true,
  timeStamp: 0,
  type: "unhandledrejection",
  promise: Promise {
    <rejected> SyntaxError: Unexpected token '<', "<!DOCTYPE "... is not valid JSON
    at parse (<anonymous>)
    at packageData (ext:deno_fetch/22_body.js:381:14)
    at consumeBody (ext:deno_fetch/22_body.js:247:12)
    at eventLoopTick (ext:core/01_core.js:168:7)
    at async lR.syncFiles (https://get.silverbullet.md/:2418:1849)
    at async F.No [as actionHandler] (https://get.silverbullet.md/:2418:6244)
    at async F.execute (https://get.silverbullet.md/:24:8601)
    at async F.parseCommand (https://get.silverbullet.md/:24:6314)
    at async https://get.silverbullet.md/:2418:6541
  },
  reason: SyntaxError: Unexpected token '<', "<!DOCTYPE "... is not valid JSON
    at parse (<anonymous>)
    at packageData (ext:deno_fetch/22_body.js:381:14)
    at consumeBody (ext:deno_fetch/22_body.js:247:12)
    at eventLoopTick (ext:core/01_core.js:168:7)
    at async lR.syncFiles (https://get.silverbullet.md/:2418:1849)
    at async F.No [as actionHandler] (https://get.silverbullet.md/:2418:6244)
    at async F.execute (https://get.silverbullet.md/:24:8601)
    at async F.parseCommand (https://get.silverbullet.md/:24:6314)
    at async https://get.silverbullet.md/:2418:6541
}

Using --snapshot snapshot.json gives the same result.
A slight tangent: I'd love to have these two instances continuously synced. The major reason for this is locally editing attached files. Is there any way to do this instead of manually performing sync?

The sync command is a little experimental. I was contemplating removing it actually. What is your use case? Because I would assume/hope you can just rely on Sync mode (built in to the PWA) for offline access.

I'd like to have the markdown files accessible locally on a laptop that isn't always on so I can edit attached pdfs and use other editors for the markdown files, while also accessing my notes from my phone when not at home. I guess I could run a vps and syncthing but i've read about issues with the db file getting corrupt when trying to simply sync files across devices.

Ok, yeah for that using sync can make sense indeed. Syncthing should also work, but you may want to exclude the .silverbullet.db file from being synced. Not sure how syncthing deals with concurrent edits.


thonny: add dependency dbus-next

Description of changes

This PR adds the dbus-next python dependency to thonny. Without it, I encounter an error when writing files to a pi pico:
PROBLEM IN THONNY'S BACK-END: Exception while handling 'write_file' (RuntimeError: Could not find volume CIRCUITPY).
See Thonny's backend.log for more info.
You may need to press "Stop/Restart" or hard-reset your CircuitPython device and try again.

Process ended with exit code 1.

Related:

https://github.com/flathub/org.thonny.Thonny/issues/153#issuecomment-1445388859
https://github.com/thonny/thonny/issues/2650#issuecomment-1445382274
https://github.com/thonny/thonny/issues/2649

Note that you may need to also enable udisks2 (services.udisks2.enable = true) to be able to write files to a pi pico using thonny.
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

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

2 packages built:

thonny
thonny.dist


the boarder around always on top windows should have an option for rounded corners.

Description of the new feature / enhancement
just as the title applies. on windows 11 it looks out of place as there's now a tiny gap in each corner and the boarder's corners don't fit with the OS's theming
Scenario when this would be used?
always ontop powertoy
Supporting information
No response

/dup #15284


Automated cherry pick of #3241: fix: the input parameters is wrong when create snapshotpolicy with repeatweekday Sunday for qcloud.

Cherry pick of #3241 on release/2.11.
#3241: fix: the input parameters is wrong when create snapshotpolicy with repeatweekday Sunday for qcloud.

Codecov Report

:exclamation: No coverage uploaded for pull request base (release/2.11@b7f974f). Click here to learn what that means.
The diff coverage is n/a.

@@              Coverage Diff               @@
##             release/2.11   #3242   +/-   ##
==============================================
  Coverage                ?   7.13%
==============================================
  Files                   ?     476
  Lines                   ?   77276
  Branches                ?       0
==============================================
  Hits                    ?    5514
  Misses                  ?   71299
  Partials                ?     463

Flag
Coverage Δ

#aFlag
7.13% <ø> (?)

Impacted Files
Coverage Δ

pkg/compute/models/snapshotpolicy.go
2.33% <ø> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update b7f974f...e2b54e1. Read the comment docs.

/lgtm

/approve