Production readiness

I was wondering if this was used at Stripe in Production ?
I saw this article from Stripe blog on Rate Limiting mentioning the usage of Redis and was curious to see if there was any plan to leverage redis-cell ?

I was wondering if this was used at Stripe in Production ?

I'm afraid to say that it's not! redis-cell is based on the relatively new module system, and we're using AWS ElastiCache for our Redis' in production, which as far as I know does not support it.
We are using throttled in some places for Go apps.
Most of the limiters described in the article are using home grown Ruby/Lua code though, and it's not public (currently the implementation would not make high quality OSS).
Thanks for your interest, and let me know if I can answer anything else.

Thanks for the feedback @brandur !


How to debug?

The extension isn't working. When i select the reindex command. The status bar shows Ctags Companion: reindexing <project name> but nothing actually happens.

How can I debug this further?
╰─❯ ctags --version
Universal Ctags 0.0.0(bf00708d), Copyright (C) 2015 Universal Ctags Team
Universal Ctags is derived from Exuberant Ctags.
Exuberant Ctags 5.8, Copyright (C) 1996-2009 Darren Hiebert
  Compiled: Dec  2 2019, 16:28:04
  URL: https://ctags.io/
  Optional compiled features: +wildcards, +regex, +iconv, +option-directory, +xpath, +yaml, +packcc

Hello @dufferzafar . Is the .vscode/.tags file present?
I know this is confusing but are you using the "reindex" command or the "rebuild ctags" task?
Reindex
This only reindexes an existing ctags file. So if it is not present, nothing gets indexed.

Rebuild
This will generate the ctags file and index it.


How do I exclude undefined properties from record?

Runtypes is pure by design. It doesn't modify the value. It only performs validation. If you like Runtypes, check out Funtypes Personally, I have started replacing my usage of Runtypes with Zod.
Runtypes definitely has its place, but if you need sanitization or other mutations, it's not the right tool IMO.

There's a long-standing PR that will cover this use case: #191. We're just out of development resource.


Date format in global settings

I suggest replacing the manual date format field (and a reference to PHP)
(which is really not very userfriendly :)  with a simple dropdown box and
a list of the most common date/time formats selectable as examples in the
dropdown.

what date formats would you like to see here?

I think there are basically a few that are most commonly in use:

April 2016  16:23
Mi, 1. April 2016  16:23
2016-04-01  16:23
April 1st, 2016  4:23 pm
4/1/2016  4:23 pm
Wed, April 1st 2016  4:23 pm
01.04.2016  16:23

But if course add those you think are missing here. I wouldn't provide too many but I think it's a nice personal touch for the user settings.

Nice :)
As always a big thanks and closed


Support generating {sbt,mill,gradle,Maven} builds

Imagine I was to use seed to teach Scala to beginners. I'd pick seed because it's so simple that I can explain how to declare a module and add a dependency in less than a paragraph. It imposes almost no overhead when teaching Scala to a crowd of developers inexperienced with the Scala build tool ecosystem and allows them to focus on what's important: learning the language.
However, a big drawback of doing this is that they would have learned to use a build tool that's perhaps really simple for future use cases and doesn't have major adoption in the community. I believe this is an important point.
To address that concern, I suggest seed can use generate valid build files out of its build schema. Given its simplicity, seeds format is a subset of the project settings in all the other build tools and making that generation is relatively straight-forward.
I'd suggest supporting sbt and mill at the beginning and then adding support for Gradle/Maven if there's demand. The great thing about this is that people can get started with seed but if they need unsupported features such as packaging/releasing they can generate a valid sbt/mill build out of it and continue with their lives.

Sounds good to me! I cannot help with implementation but have too much experience with sbt, let me know if you have any questions on the generating idiomatic sbt builds part of the job.
I'm really excited about this, this is IMO a game changer :smile:

Sure, I will keep you in the loop. Thanks.

Technically I think it's possible to have an sbt plugin that generates the sbt projects and their configuration by reading a Seed file, rather than code-generating it. That doesn't solve all the problems in issue though.

I'm not sure I like this idea. It seems to me like seed would become a stepping-stone to other build tools, when it is actually a competent build tool in its own right—I assume Mill "suffered" the same at some point, and probably Fury too.
If a migration from seed to whatever is desirable I feel that this should be implemented on the SBT/Mill side rather than included in seed itself. That way, the evolution of seed doesn't get tied to the evolution of other build tools.


How to add Kafka config in .spec.configuration

Hi,
I would like to add Kafka config on a deployed cluster. I already added a Kafka section in .spec.configuration with no effect.
What would be the right way to do?

@ralfbecher, could you provide an example of what you are doing?
Probably, the most convenient way is to use 'files' section of the configuration. See example here: https://github.com/Altinity/clickhouse-operator/blob/master/docs/chi-examples/05-settings-02-dictionary.yaml

@alex-zaitsev thx for quick answer!
I tried this according to documentation:
.spec.configuration.zookeeper refers to  config section
yaml example:
apiVersion: "clickhouse.altinity.com/v1"
kind: "ClickHouseInstallation"
metadata:
  name: "dashboard-sharded"
spec:
  defaults:
    templates:
      dataVolumeClaimTemplate: data-volume-template
  configuration:
    zookeeper:
      nodes:
        - host: zookeeper.zoons
    clusters:
      - name: "dashboard03"
        templates:
          podTemplate: clickhouse-with-volume-template
        layout:
          shardsCount: 4
    kafka:
      sasl_mechanism: PLAIN
      security_protocol: SASL_SSL
      sasl_username: someuser
      sasl_password: somepassword
      debug: all
...

No, it does not work this way. Kafka settings under the general section. So you can use it as:
apiVersion: "clickhouse.altinity.com/v1"
kind: "ClickHouseInstallation"
metadata:
  name: "dashboard-sharded"
spec:
  defaults:
    templates:
      dataVolumeClaimTemplate: data-volume-template
  configuration:
    zookeeper:
      nodes:
        - host: zookeeper.zoons
    clusters:
      - name: "dashboard03"
        templates:
          podTemplate: clickhouse-with-volume-template
        layout:
          shardsCount: 4
    settings:
      kafka.sasl_mechanism: PLAIN
      kafka.security_protocol: SASL_SSL
      kafka.sasl_username: someuser
      kafka.sasl_password: somepassword
      kafka.debug: all

@alex-zaitsev thanks! This created the right xml structure:
settings:
  kafka/sasl_mechanism: PLAIN
  kafka/security_protocol: SASL_SSL
  kafka/sasl_username: someuser
  kafka/sasl_password: somepassword
  kafka/debug: all

Yes, right, I messed up a dot with a slash. Glad you figured it out :)

@alex-zaitsev one more question here:
These settings appear in /etc/clickhouse-server/config.d/settings.xml.
However, I don't see them in table system.settings and selection from a table with Kafka engine gives me a timed out error. So, I assume the settings are not applied. How can I check this?

Hi @ralfbecher ,
Do you have an SSL connection to Kafka? We have recently discovered that ClickHouse images can not check certificates correctly, see this issue:
https://github.com/ClickHouse/ClickHouse/issues/10468
Could you try the workaround proposed above connecting to the pod container with ssh directly and see if it helps?
Also, you may check container logs (not clickhouse logs) -- it may show some errors related to certificate checks.

@alex-zaitsev we do not see any SSL error. Still, the problem seems to be that the created settings.xml doesn't get applied to the settings (no value appears in table system.settings)..

@ralfbecher, Kafka settings in general do not appear in system.settings, this is expected. There are many settings that are not exposed to system.settings, e.g. compression, logging etc. In fact, I am not sure that config.xml is a right place for those settings at all. We should add an option to specify those settings when creating a Kafka table.
I am pretty sure that settings.xml is applied, it is deployed to config.d folder, and ClickHouse pod is restarted by operator after any change to configuration/settings.
Could you check ClickHouse logs? Probably there is something that helps to troubleshoot.

@alex-zaitsev yes, apt install ca-certificates helped. But now, how to add this to the operator?

@ralfbecher, great! It is not a problem of an operator, but a docker image. There is no good way to fix that via an operator. We have fixed docker image 5 days ago and released in <IP_ADDRESS> ClickHouse version. New releases of 20.1 and 20.3 will include this fix as well.

@alex-zaitsev but latest image yandex/clickhouse-server:<IP_ADDRESS> doesn't contain /etc/ssl

@ralfbecher , right it has been released before the fix. That why I suggested to use <IP_ADDRESS>. The next 20.3 release with this fix is going to be later this week, I think.


proxy: Fall back to plaintext communication when a TLS handshake fails

This branch modifies the proxy's logic for opening a connection so
that when an attempted TLS handshake fails, the proxy will retry that
connection without TLS.
This is implemented by changing the UpgradeToTls case in the Future
implementation for Connecting, so that rather than simply wrapping
a poll to the TLS upgrade future with try_ready! (and thus failing
the future if the upgrade future fails), we reset the state of the
future to the Plaintext state and continue looping. The tls_status
field of the future is changed to ReasonForNoTls::HandshakeFailed,
and the Plaintext state is changed so that if its tls_status is
HandshakeFailed, it will no longer attempt to upgrade to TLS when the
laintext connection is successfully established. This also ensures that
any subsequent telemetry events generated by that connection are labeled
with tls="handshake_failed".
Closes #1084
Signed-off-by: Eliza Weisman<EMAIL_ADDRESS>

This looks fine to me. I'd like to test it before merging

I've done some manual testing of the fallback logic, and it appears to be working correctly. Here's what I did:
Install Conduit (built from the latest commit on the ver/tls-test branch)
bin/conduit install -v $(bin/root-tag) --tls=optional -c liza-conduit | kubectl apply -f -

Inject Emojivoto with Conduit and deploy it:
bin/conduit inject -v $(bin/root-tag) --proxy-log-level=info,conduit_proxy=debug,conduit_proxy::connection=trace --tls=optional emojivoto.yml -c liza-conduit | kubectl apply -f -

Created a certs secret only for the vote-bot deployment, so that it will try TLS, but all handshakes with other pods will fail (as they lack certs).
In the logs from the vote-bot pod, we see:
vote-bot-68664799bf-fmdbn conduit-proxy DBUG proxy={client=out dst=web-svc.liza-emojivoto:80 proto=Http1 { host: Authority(web-svc.liza-emojivoto:80), was_absolute_form: false }} conduit_proxy::transparency::client client request: method=GET uri=http://web-svc.liza-emojivoto:80/api/list headers={"host": "web-svc.liza-emojivoto:80", "user-agent": "Go-http-client/1.1", "accept-encoding": "gzip"}
vote-bot-68664799bf-fmdbn conduit-proxy TRCE proxy={server=out listen=<IP_ADDRESS>:4140 remote=<IP_ADDRESS>:55812} conduit_proxy::connection Connecting: state=plaintext; tls=Some(Some(ConnectionConfig { identity: Identity(DnsName(DNSName("web-b4bbcb5b-5gv8v.deployment.liza-emojivoto.conduit-managed.liza-conduit.svc.cluster.local"))), config: ClientConfig }));
vote-bot-68664799bf-fmdbn conduit-proxy TRCE proxy={server=out listen=<IP_ADDRESS>:4140 remote=<IP_ADDRESS>:55812} conduit_proxy::connection Connecting: state=plaintext; tls=Some(Some(ConnectionConfig { identity: Identity(DnsName(DNSName("web-b4bbcb5b-5gv8v.deployment.liza-emojivoto.conduit-managed.liza-conduit.svc.cluster.local"))), config: ClientConfig }));
vote-bot-68664799bf-fmdbn conduit-proxy TRCE proxy={server=out listen=<IP_ADDRESS>:4140 remote=<IP_ADDRESS>:55812} conduit_proxy::connection plaintext connection established; trying to upgrade
vote-bot-68664799bf-fmdbn conduit-proxy WARN proxy={server=out listen=<IP_ADDRESS>:4140 remote=<IP_ADDRESS>:55812} conduit_proxy::connection TLS handshake with V4(<IP_ADDRESS>:80) failed: received corrupt message-> falling back to plaintext
vote-bot-68664799bf-fmdbn conduit-proxy TRCE proxy={server=out listen=<IP_ADDRESS>:4140 remote=<IP_ADDRESS>:55812} conduit_proxy::connection Connecting: state=plaintext; tls=Some(None(HandshakeFailed));
vote-bot-68664799bf-fmdbn conduit-proxy TRCE proxy={server=out listen=<IP_ADDRESS>:4140 remote=<IP_ADDRESS>:55812} conduit_proxy::connection Connecting: state=plaintext; tls=Some(None(HandshakeFailed));
vote-bot-68664799bf-fmdbn conduit-proxy TRCE proxy={server=out listen=<IP_ADDRESS>:4140 remote=<IP_ADDRESS>:55812} conduit_proxy::connection plaintext connection established; no TLS (HandshakeFailed)
vote-bot-68664799bf-fmdbn conduit-proxy DBUG proxy={server=out listen=<IP_ADDRESS>:4140 remote=<IP_ADDRESS>:55812} conduit_proxy::telemetry::sensor::transport client connection open

Which implies that we are correctly falling back to plaintext when the handshake fails.


python3Packages.fastecdsa: migrate to disabledTestPaths

Motivation for this change
Use disabledTestPaths
Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] 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 wip"
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 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

[x] Fits CONTRIBUTING.md.

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

2 packages built:

python38Packages.fastecdsa
python39Packages.fastecdsa


fix(@angular-devkit/build-optimizer): wrap es2015 class expressions for better tree-shaking

fix(@angular-devkit/build-optimizer): wrap es2015 class expressions for better tree-shaking
ClassExpressions such as the below are not treeshakable unless we wrap them in an IIFE
let AggregateColumnDirective = class AggregateColumnDirective {
	constructor(viewContainerRef) { }
};
AggregateColumnDirective = __decorate([
	Directive({}),
	__metadata("design:paramtypes", [ViewContainerRef])
], AggregateColumnDirective);

With this change we wrap the above in an IIFE and mark it as a PURE function.
const AggregateColumnDirective = /*@__PURE__*/ (() => {
	let AggregateColumnDirective = class AggregateColumnDirective {
		constructor(viewContainerRef) { }
	};
	AggregateColumnDirective = __decorate([
		Directive({}),
		__metadata("design:paramtypes", [ViewContainerRef])
	], AggregateColumnDirective);

	return AggregateColumnDirective;
})();

With this pattern if the class is unused it will be dropped.
Note: In future we should rename wrap-enums to something more generic, and combine class-fold with this transformer especially considering the future fix that needs to be done for https://github.com/angular/angular-cli/issues/14610
Fixes #14577
fix(@angular-devkit/build-optimizer) wrap ClassDeclarations in an IIFE for better treeshaking
With this change we wrap ClassDeclarations inside an IIFE, also we move some code from the class fold into the wrap-enums.
This changes the below code:
export class Foo {
	method() {
	}
}
Foo.bar = 'barValue';
__decorate([
	methodDecorator
], Foo.prototype, "method", null);

to
export const Foo = /*@__PURE__*/ (() => {
  class Foo {
    method() {
    }
  }
  Foo.bar = 'barValue';
  __decorate([
    methodDecorator
  ], Foo.prototype, "method", null);

  return Foo;
})();

Fixes #14610

It appears classes that self-reference using forwardRef lead to slightly different output:
var TestUnshakeableDirective_1;
export const SOME_TOKEN = new InjectionToken('some token');
let TestUnshakeableDirective = TestUnshakeableDirective_1 = class TestUnshakeableDirective {
    constructor() { }
};
TestUnshakeableDirective = TestUnshakeableDirective_1 = __decorate([
    Directive({
        selector: '[libUnshakeable]',
        providers: [
            {
                provide: SOME_TOKEN,
                useExisting: forwardRef(() => TestUnshakeableDirective_1)
            },
        ]
    })
], TestUnshakeableDirective);
export { TestUnshakeableDirective };

and
var TestUnshakeable2Directive_1;
let TestUnshakeable2Directive = TestUnshakeable2Directive_1 = class TestUnshakeable2Directive {
    constructor(parent) { }
};
TestUnshakeable2Directive = TestUnshakeable2Directive_1 = __decorate([
    Directive({
        selector: '[libUnshakeable2]',
    }),
    __param(0, SkipSelf()), __param(0, Inject(forwardRef(() => TestUnshakeable2Directive_1))),
    __metadata("design:paramtypes", [TestUnshakeable2Directive])
], TestUnshakeable2Directive);
export { TestUnshakeable2Directive };

The output doesn't change for forwardRefs outside of the class though

code
const SOME_TOKEN = new InjectionToken('some token');
const PROVIDE_SOME_TOKEN = {
    provide: SOME_TOKEN,
    useExisting: forwardRef(() => TestUnshakeableDirective)
};
let TestUnshakeableDirective = class TestUnshakeableDirective {
    constructor() { }
};
TestUnshakeableDirective = __decorate([
    Directive({
        selector: '[libUnshakeable]',
        providers: [
            PROVIDE_SOME_TOKEN,
        ]
    })
], TestUnshakeableDirective);

and
let DoorDirective = class DoorDirective {
    constructor(lock) {
        this.lock = lock;
    }
};
DoorDirective = __decorate([
    Directive({ selector: '[libDoor]' }),
    __param(0, Inject(forwardRef(() => LockDirective))),
    __metadata("design:paramtypes", [LockDirective])
], DoorDirective);
let LockDirective = class LockDirective {
};
LockDirective = __decorate([
    Directive({ selector: '[libLock]' })
], LockDirective);

@bgotink, thanks for the above, it will surly help to improve the logic to handle the above case.

@filipesilva comments fixed. PTAL

Should we do the class wrapping only when it's sideEffects free?

It should always happen to be consistent with TS ES5 class behavior and hopefully standard TS behavior in general moving forward.

I've removed myself as reviewer because I think @clydin understand this particular transformer much better than me.


ABLO image enlargement

Description (what's changed?)
ABLO image enlargement
Testing instructions

Generate an image. Double click one of the options to preview them.

Task linked: CU-86aydc7cc [ABLO] image enlargement


[CI] GitHub Stargazers count for new updates

Signed-off-by: Vedant Kakde<EMAIL_ADDRESS>Description
This pull request matches the new updates present in the slack channel (#buzz) via Community Manager APP , which will show the username of the contributor starring the repository and total star count.
Notes for Reviewers
Signed commits

[x] Yes, I signed my commits.

Thank you @vedant-kakde


Possible legal issues with the logo

I once wanted to use a logo in colors of python in order to highlight that my project is intended to be used with python (it is essentially python bindings to some third-party code), but feeled like they can be trademarked.
I have contacted the email and asked for clarifiaction and permission. I was told that currently they don't intend to trademark python colors and that if I start using my logo, I'd "be" a my trademark (damn this legal shit, I wish there would be no trademark laws at all!). But the colors are already a de-facto trademark.
I asked if they can either give me a digitally signed text that the use of the colors in my logo is not considered trademark violation, or change their trademark policy to clarify which uses of colors are explicitly allowed. I was answered that this is the decision which is up to the board, and the board won't do that for me unless maybe for a lot of money.
IMHO this FUD situation is a bit annoying.
https://pyright.blogspot.com/2011/02/svg-xml-and-python-logo.html
https://github.com/Nuitka/Nuitka-website/issues/19
https://github.com/PyAV-Org/PyAV/issues/728
https://github.com/derb12/mcetl/issues/13
https://github.com/ReagentX/Logria-py/issues/147
https://github.com/python-trio/trio/issues/1828
https://github.com/amcc1996/symbeam/issues/7
https://github.com/cjdoris/Python.jl/issues/3
https://github.com/fatiando/pooch/issues/222
https://github.com/aiortc/aiortc/issues/442
https://github.com/MatthijsKamstra/haxepython/issues/3

The issue seems to be resolved by publishing a DKIN-signed emails from the PSF employee giving the consent + some timestamping of public keys using WebArchive + DoH.

@KOLANICH, I deeply appreciate your remark and contribution. After reading through the PSF Trademark Usage Policy, however, I could not identify with confidence which topic would be violated with SymBeam's logo. Certainly, SymBeam's logo can be interpreted as a derivation of Python original logo, namely, through the use of the colours. Nevertheless, I must confess that my knowledge on this topic, specifically on the boundaries of this distinction, is rather vague. What bugs me is that I see no true motivation to seek some kind of alteration in SymBeam's logo after analysing the polices. Do you know any other clear source where I can clarify this aspect?

I am not a lawer, but what I have done - I just googled "Can colors be trademarked?" and found lot of sources claiming that can and that there were lawsuits about it resulted in damages.


Update references to VSTS in README.md

The README.md text was written before the Azure DevOps branding was announced. There are a lot of places where it should be updated.
Some things might be a little tricky... Distinguishing between Azure DevOps the product, and DevOps the role... Also, if there are Azure DevOps API and Azure Active Directory API, what do you call the Azure API that's distinct? Azure Resources API? or Azure Resource Manager API?

Submitted PR, ready for review and merge.

Fixed in #42


Support multi-valued properties in batch utils

Issue #, if available:
Description of changes:
Addresses https://github.com/awslabs/amazon-neptune-tools/issues/277
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@triggan Please would you review this PR


Repeated connection reset after opening an application window (Windows)

When I connect to a Windows Server 2008 machine from my Linux machine using remmina 1.4.7 and freerdp 2.1.2 I get continuous connection resets + retries after I open certain application windows on the remote machine. Downgrading to freerdp 2.1.1 fixes the issue. I get the following logs:
[08:34:15:225] [2289072:2289272] [WARN][com.freerdp.core.orders] - Invalid bmf 129
[08:34:15:225] [2289072:2289272] [ERROR][com.freerdp.core.update] - [0x01] PatBlt - update_read_dstblt_order() failed
[08:34:15:225] [2289072:2289272] [ERROR][com.freerdp.core.update] - order flags 0d failed
[08:34:15:225] [2289072:2289272] [ERROR][com.freerdp.core.fastpath] - Fastpath update Orders [0] failed, status 0
[08:34:15:225] [2289072:2289272] [ERROR][com.freerdp.core.fastpath] - fastpath_recv_update() - -1
[08:34:15:225] [2289072:2289272] [ERROR][com.freerdp.core.fastpath] - fastpath_recv_update_data() fail
[08:34:15:225] [2289072:2289272] [ERROR][com.freerdp.core.transport] - transport_check_fds: transport->ReceiveCallback() - -3
[08:34:15:225] [2289072:2289272] [ERROR][com.freerdp.core] - freerdp_check_fds() failed - 0
[08:34:15:763] [2289072:2289272] [INFO][com.freerdp.core] - freerdp_tcp_is_hostname_resolvable:freerdp_set_last_error_ex resetting error state
[08:34:15:792] [2289072:2289272] [INFO][com.freerdp.core] - freerdp_tcp_connect:freerdp_set_last_error_ex resetting error state
[08:34:17:317] [2289072:2289272] [INFO][com.freerdp.channels.rdpsnd.client] - [static] Loaded fake backend for rdpsnd
[08:34:17:318] [2289072:2289272] [INFO][com.freerdp.channels.drdynvc.client] - Loading Dynamic Virtual Channel audin
[08:34:17:321] [2289072:2289272] [INFO][com.freerdp.channels.audin.client] - Loaded pulse backend for audin
[08:34:17:321] [2289072:2289272] [INFO][com.freerdp.channels.drdynvc.client] - Loading Dynamic Virtual Channel disp
Steps to reproduce:

Open remmina
Connect to the remote Windows Server 2008 machine
See the desktop and some application windows (Chrome/Firefox/Notepad++/VLC) and everything is fine
Open some other application window (CMD/PowerShell/IBM Notes) and the connection immediately breaks down to a continuous reset + retry (the retry might actually be remmina behavior) with the aforementioned error messages
Minimize the application window on the remote machine (via some other way)
Reconnect to the remote machine using remmina + freerdp and everything is fine again, until the application window is opened again

Expected behavior
No connection reset no matter what is displayed on the remote machine's screen.
Application details

FreeRDP version 2.1.2
Remmina version 1.4.7
Local OS: Arch Linux, amd64, Kernel 5.7.7
Remote OS: Windows Server 2008

Duplicate of #6309
Please do a basic search of the issue tracker before opening a new one.

Oh, thanks, did the search but didn't find this one.


GSNGM-400

The corners are not precisely aligned:

Can you try to fix it?

@fredj I made an investigation but I have no solution to this. I think it happens because a plane is always
straight line but the map is not rectangular and on long planes this difference becomes visible

@fredj I made an investigation but I have no solution to this. I think it happens because a plane is always
straight line but the map is not rectangular and on long planes this difference becomes visible

ok, please merge


Support for @value definitions

Hey! Off the back of https://github.com/mizdra/happy-css-modules/issues/200#issuecomment-1539878340 I wondered if you may consider support for @value variables:
@value foo: anything;

import styles from './file.css'

styles.foo // string

This would match the behaviour of Webpack and typed-css-modules.
Cheers!

Thanks for the proposal!
I misunderstood the behavior with @value. I see that values defined with @value are also exported (I created a demo project to confirm this behavior).

https://github.com/mizdra/playground-css-loader/tree/e9ca040a7169b838e4b0d99ef6f49e11b5d21721

Surely it would be desirable to support this behavior in happy-css-modules as well. I will consider implementing it.

I was too busy to work on it. However, I will resume this work when I have time. Please wait for further updates!

the same with :export from icss

@Grawl Thanks for your comment!
I thought ICSS was a syntax that bundler outputs internally, not for people to write. So happy-css-modules is not designed to work with ICSS.
Maybe it works to some extent. happy-css-modules does not have a test case for ICSS, so it is not guaranteed to work with ICSS.
If you want ICSS to work with happy-css-modules, could you please create a new issue? We need to discuss how much work is needed there.

Just didn't knew there is @value syntax

This feature is shipped in v3.1.0. Thanks to @samhh for contributing to this feature!
https://github.com/mizdra/happy-css-modules/releases/tag/v3.1.0


[Examples] Add wasmedge-ggml-llama examples

SHOULD be merged after WasmEdge 0.13.4 released.
Add wasmedge-ggml-llama example with model llama-2-7b-chat.ggmlv3.q4_0.bin.

Hello, I am a code review bot on flows.network.
It could take a few minutes for me to analyze this PR. Relax, grab a cup of coffee and check back later. Thanks!

The llama2 CI passed. I think we can merge this. Thanks. @dm4 @hydai


Debug hover throws when trying to view buffer

First notice in the gif how hovering will only let me hover over the info for the originalData variable, not decodedPng which I actually want (https://github.com/microsoft/vscode/issues/151019)
For this issue I click the buffer eye symbol and it throws a TreeError:

Here it is happening again without the hover problem:

Version: 1.69.0-insider (user setup)
Commit: fbf1cf3832d43088e27837dbb68d24ab65a098c1
Date: 2022-06-17T05:16:33.731Z
Electron: 18.3.3
Chromium: 100.0.4896.160
Node.js: 16.13.2
V8: <IP_ADDRESS>-electron.0
OS: Windows_NT x64 10.0.22000

I tried to repro this yesterday, but was unsuccessful 😞
@Tyriar have you still seen this and, if so, can you share a link to locations where you do?

Don't think I've seen since


Manage role didn't work and also not throw any error

General Troubleshooting

[X] I have checked for similar issues on the Issue-tracker.
[X] I have checked for PRs that might already address this issue.

Version of JDA
v5.0.0-beta.23
Expected Behaviour
When we settings a bunch of roles inside a Discord server, the roles are ranked with level and when the BOT try to manage higher role, such as add higher role to a member, the API should throw some error to let me know this action is failed.
Code Example for Reproduction Steps
final Guild guild;  // my guild
final Role role; // a role in guild which is higher than bot's role
final Member member;  // a member in guild
guild.addRoleToMember(member, linkedRole).queue(
    success -> LOGGER.info("Role added successfully!"),
    failure -> LOGGER.error("Failed to add role: " + failure.getMessage()));

Code for JDABuilder or DefaultShardManagerBuilder used
JDA jda = JDABuilder.createDefault().build();

Exception or Error
Throw an error to failure callback

The HierarchyException is thrown by addRoleToMember, before you even call queue.

The HierarchyException is thrown by addRoleToMember, before you even call queue.

When I call the method guild.addRoleToMember it didn't throw any exception.
And the bot did have the permission to manage the role but the roles higher than the bot's role will not work.
And no matter the bot's role is higher or lower than the target the method won't throw the exception.

I just tried this again, and it definitely throws an exception:
net.dv8tion.jda.api.exceptions.HierarchyException: Can't modify a role with higher or equal highest role than yourself! Role: Role:highest role(id=280161492307804160)
	at net.dv8tion.jda.internal.entities.GuildImpl.checkPosition(GuildImpl.java:2031)
	at net.dv8tion.jda.internal.entities.GuildImpl.addRoleToMember(GuildImpl.java:1688)

Since you also called your variable linkedRole, it might refer to a managed role, in which case the request fails with a failure callback:
[pool-1-thread-11] ERROR RestAction - RestAction queue returned failure: [ErrorResponseException] 50013: Missing Permissions
net.dv8tion.jda.api.exceptions.ContextException
	at net.dv8tion.jda.api.exceptions.ContextException.here(ContextException.java:54)
	at net.dv8tion.jda.api.requests.Request.<init>(Request.java:77)
	at net.dv8tion.jda.internal.requests.RestActionImpl.queue(RestActionImpl.java:203)
	at net.dv8tion.jda.api.requests.RestAction.queue(RestAction.java:573)
	at net.dv8tion.jda.api.requests.RestAction.queue(RestAction.java:539)

The same happens if for some reason the position check in JDA fails.
Please give me an easy to reproduce test-scenario, if you still encounter issues. Otherwise, I have to assume this issue is an incorrect handling of exceptions on your end.


Error adding entities for domain light with platform elkbledom (Since HA 2023.8.0)

Logger: homeassistant.components.light
Source: helpers/entity_platform.py:619
Integration: Lumière (documentation, issues)
First occurred: 20:13:24 (2 occurrences)
Last logged: 20:13:24
Error adding entities for domain light with platform elkbledom
Error while setting up elkbledom platform for light
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 510, in async_add_entities
await asyncio.gather(*tasks)
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 619, in _async_add_entity
device = dev_reg.async_get(self.hass).async_get_or_create(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: homeassistant.helpers.device_registry.DeviceRegistry.async_get_or_create() got multiple values for keyword argument 'config_entry_id'

The culprit might be here: https://github.com/home-assistant/core/pull/95547

I publish 1.0.8 with your fix, try it please and post results

I confirm that the fix works with the latest 2023.8.1 :)

@tracedebrake thnks


Use dependency injection by string array

This PR fixes an issue encountered when minifying js code, because of dependency variables being renamed. I've updated injection by using string array declaration instead #20

Thanks!


feature request: C entrypoints for libyosys

I was experimenting with libyosys and I ran into some difficulties. All of the entry points into the shared library are C++ entrypoints instead of C entrypoints. It would be nice to have a C API layer.
C entry points are obviously nice if you want to call into the shared library from C, but it also makes the shared library more portable even if you are calling it from C++ because not all C++ compilers, or even versions of the same C++ compiler, are ABI compatible. Also C entrypoints make it easier to call into the library from non-C languages like python using foreign function interfaces like ctypes.
I think that all you would have to do is pick a few useful entrypoints into the API, add functions that call into them, converting any c++ structures to C, and exporting the symbols with "extern c".

converting any c++ structures to C

yeah. I'm not going to do that. That would for example mean replacing all the C++ containers (like dict<> and pool<>) with something that can be accessed from C, which essentially means rewriting Yosys.
Yosys is written in C++11. If you want to do more with the API than you can do with a Yosys script, then you will need to be able to e.g. call methods of objects and do other C++ stuff. If all you want to do is call a sequence of Yosys passes, then why not simply write a Yosys script?


changed vector base to allow backward leg movement

y movement is now positive towards the ground

@alexandrelafleur how do you add the do not merge tag


Broken centered header

mantine-react-table version
2.0.0-beta.6
react & react-dom versions
18.3.3
Describe the bug and the steps to reproduce it
I am trying to get a clean centered header and body, without sorting and action buttons. I found out that it can be done by setting props to columns
mantineTableHeadCellProps: {
  align: "center",
},
mantineTableBodyCellProps: {
  align: "center",
},

It works for the body, but not for the header.
The header is always padded by 1.75. The only line that contains such number is this.
It seems that there's something wrong with conditions. Setting "enableHeaderActionsHoverReveal" to "true" resolves the issue, until someone hovers over the header and then it's broken again.
Minimal, Reproducible Example - (Optional, but Recommended)
https://codesandbox.io/p/devbox/laughing-wave-7zm749?workspaceId=55c06326-b743-49a1-aca3-3feb22fee983
Screenshots or Videos (Optional)
Screencast_20240923_162325.webm
Do you intend to try to help solve this bug with your own PR?
No, because I do not know how
Terms

[X] I understand that if my bug cannot be reliably reproduced in a debuggable environment, it will probably not be fixed and this issue may even be closed.

There's no issue with version 2.0.0-beta.4

I'm on 2.0.0-beta.6 and seeing this issue.

Actually, in my case it seems the class labels-center is being applied here which defines a left padding
It just looks odd.

I have the same problem, when using "center" it looks like this:

I see that there is a style assigned to the div that contains the cell

when i remove it, i see the expected result:

Downloaded the library less than a week ago, my version is: "^2.0.0-beta.7"

I solved this problem by adding this in my main css:
/* fix col header center value*/
.MRT_TableHeadCell-module_labels-center__MM9q8 {
  padding-left: 1rem;
}

/* in mantine-react-table/styles.css */
.MRT_TableHeadCell-module_labels-center__MM9q8 {
  padding-left: calc(var(--mrt-table-head-cell-labels-padding-left) * 1rem);
}


Copy Feature

It usually copies the whole thing, which is different from what I wanted. Sometimes I just want to copy part of the code.

Do you mean the copy button on the code within chat? This one:

I mean the explanation text that I want to copy. I hit copy, but it will
copy all. But when I used ctrl C ctrl V, it was ok.
[image: image.png]
Ulugbek Abdullaev @.***> 于2023年6月13日周二 17:02写道：

Do you mean the copy button on the code within chat? This one:
[image: image]
https://user-images.githubusercontent.com/16353531/245417843-b7ec3941-0a01-43c4-b6a8-acbac00296b0.png
—
Reply to this email directly, view it on GitHub
https://github.com/microsoft/vscode-copilot-release/issues/239#issuecomment-1588862187,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A4E6SZEXAEVZ6I25J7AX3S3XLAUEHANCNFSM6AAAAAAZDNRUVU
.
You are receiving this because you authored the thread.Message ID:
@.***>

Closed in favor of https://github.com/microsoft/vscode/issues/185088 because it likely needs to be fixed on the vscode side


fix a replicator reconilation bug

We used to get all local extents and compare with remote, which includes extents that originated from the local zone. The reconciliation really should only care about the extents that are originated from the remote zone, so adding a filtering before the reconciliation.
Also fix the ReplicatorReconcileDestExtentRemoteDeletedLocalNot metrics issue

Coverage decreased (-0.04%) to 55.879% when pulling 6c6fba50fec6b890f56f2ee52155a4d310a236bf on replicator_reconcilation_fix into d9b381a1ba1afe79931176a3bbc35b3938b60057 on master.

Coverage decreased (-0.06%) to 56.153% when pulling bbf84a7b6d13d7b2c69b77894a31e39bc438b5c9 on replicator_reconcilation_fix into a8751aa070825879c9465ea83d1dbb69684b66a4 on master.

Coverage increased (+0.002%) to 56.689% when pulling af8d6b60fa8b1433dcc9376e981a94f0c5e45c19 on replicator_reconcilation_fix into 0effc9635efdc7606759ab0f9cf863108384da37 on master.


Added a RedirectProjectRegistrar that allows project managers to clai…

…m chips on users behalf so they can lock in their service for a longer time period.
Code Review Processes
New Feature Review
Before submitting a pull request for new review, make sure the following is done:

Design doc is created and posted here: [Insert Link]

README Checks

[] README has proper context for the reviewer to understand what the code includes, any important design considerations, and areas to pay more attention to

Code Checks

[] Add explanatory comments. If there is complex code that requires specific context or understanding, note that in a comment
[] Remove unncessary comments. Any comments that do not add additional context, information, etc. should be removed
[] Add natspec.
[] Scrub through the code for inconsistencies (e.g. removing extra spaces)
[] Ensure there are not any .onlys in spec files

Broader Considerations

[] Ensure variable, function and event naming is clear, consistent, and reflective for the scope of the code.
[] Consider if certain pieces of logic should be placed in a different library, module

coverage: 100.0%. remained the same
when pulling 09c8dcacda0912b4ba6d305ba247adfac862d709 on brian/redirect-project-registrar
into cd07b8bb65fee58047e203cf9b9e3b17d15f9779 on master.


Create IAM User Scripts

Establish scripts to create, modify, and delete IAM Users.
Resources
Creating an IAM User
https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/create-user.html
Creating an Access / Secret Key
https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/create-access-key.html
Attach IAM Policy to User
https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/attach-user-policy.html
Tasks

Create a script to create a service account and attach a policy
Create a script to modify a service account by simply replacing its policy
Create a script to delete a service account
Create a script to generate Secret and Access Keys

I'll post an update here once I create the Administrators group and add us to it. The permissions should pretty much match the terraform identity that currently exists.

I had a question where do you want a logging system for this entire workflow locally , AWS will have its own set of logs but just incase

Meh, no need to worry about that. Just ensure the scripts deliver a straightforward, repeatable workflow.
So long as it resembles it's sister project, we're good. We'll be improving these scripts for sure as we go.
https://github.com/bellanov/gcp-bootstrap?tab=readme-ov-file#examples
We'll discuss log aggregation in another issue. I'll likely have -Puter continuously scan environments and generate KPIs, so it may just need to tail the AWS CloudTrail logs or whatever.

Raised an PR for this task , please review and let me know the changes required .

Great. I'll take a look when I get a chance.


Provide email in sidebar

Links to GitHub, LinkedIn et al. are invaluable, but there's something to be said for email. Allow a user to provide an email address in their sidebar.

Closing this six year old PR. Feel free to use this if you want it.


Not showing all seasonal challenges that are currently available

The seasonal challenges view shows all the challenges in a season, regardless of what week it is.
For example, it could be week one and the view will show all the challenges that are available within the (entire) season.
Limit to what is only currently available.

Seasonal challenges no longer show all challenges that are available within a given season.
NEW BUG (Same issue thread): seasonal challenges are not showing correctly.

The first one shows as normal but then all the following challenges are always the ones that the user has completed.
The issue is likely to be:

The first challenge is shown then the others are only shown because they are completed
The return object does not contain the other challenges that are not completed yet
An iterative portion has skipped these challenges, where the first one nullifies the need for other challenges - ?

Both issues have been fixed in an upcoming version


xim base - doing

#41

I don't recommend the layout of package index by name_version_maintainer.

you don't know wether there's new factors could affect the independence of a package category.
there's a huge repetition in general metadata of a package category.

-- example of vscode
local general = {
    homepage = "https://code.visualstudio.com",

    name = "vscode",
    version = "1.9.3",
    description = "Visual Studio Code",
    contributor = "https://github.com/microsoft/vscode/graphs/contributors",
    license = "MIT",
    repo = "https://github.com/microsoft/vscode",
    docs = "https://code.visualstudio.com/docs"

    categories = {"editor", "tools"},
    keywords = {"vscode", "cross-platform"},
}

local factors_versions = {
    ["1.9.3"] = {
                    version = "1.9.3",
                    support = {
                        windows = true,
                        ubuntu = true,
                        arch = false, -- TODO: add arch support
                    },
                    pmanager = {
                        windows = {
                            xpm = {
                                url = "https://vscode.download.prss.microsoft.com/dbazure/download/stable/38c31bc77e0dd6ae88a4e9cc93428cc27a56ba40/code_1.93.1-1726079302_amd64.deb",
                                sha256 = nil,
                            },
                        },
                        ubuntu = {
                            xpm = {
                                url = "https://vscode.download.prss.microsoft.com/dbazure/download/stable/38c31bc77e0dd6ae88a4e9cc93428cc27a56ba40/VSCodeUserSetup-x64-1.93.1.exe",
                                sha256 = nil,
                            },
                        },
                        arch = {
                            -- TODO: add arch support
                        },
                    },
}
-- if possible, actually we could delete `supported`, and `pmanager`. Directly route the keyword, if not exsit, return false.

I currently check the xmake docs, here contains:
winos
could be used for windows env management.

XPackage Spec
--- XPackage Spec

package = {
    -- base info
    homepage = "https://example.com",

    name = "package-name",
    version = "1.0.0", -- default version
    description = "Package description",

    author = "Author Name",
    maintainer = "Maintainer Name",
    contributor = "Contributor Name",
    license = "MIT",
    repo = "https://example.com/repo",
    docs = "https://example.com/docs",

    -- xim pkg info
    status = "stable", -- dev, stable, deprecated
    categories = {"category1", "category2"},
    keywords = {"keyword1", "keyword2"},
    date = "2020-01-01",

    -- env info - todo (only label, impl in vm module)
    xvm_type = "", -- unused
    xvm_support = false, -- unused

    deps = {
        windows = { "xpkgname1", "xpkgname2" },
        ubuntu = { "xpkgname3"<EMAIL_ADDRESS>},
        arch = { "xpkgname4", "xpkgname2" },
    },

    pmanager = {
        ["1.0.0"] = {
            windows = {
                xpm = { url = "https://example.com/package-1.0.0.exe", sha256 = "xxxx" }
            },
            ubuntu = { apt = "apt-package-name" },
            arch = { pacman = "pacman-package-name" },
        },
        ["1.0.1"] = {
            windows = {
                xpm = { url = "https://example.com/package-1.0.1.exe", sha256 = "xxxx" }
            },
            ubuntu = { apt = "apt-package-name"},
            arch = { pacman = "pacman-package-name"},
        },
    },
}

-- xim: hooks for package manager

inherit("xim.base.runtime")

-- step 1: support check - package attribute

-- step 2: installed check
function installed()
    return true
end

-- step 2.5: download resources/package
-- step 3: process dependencies - package attribute

-- step 4: build package
function build()
    return true
end

-- step 5: install package
function install()
    return true
end

-- step 6: configure package
function config()
    -- if exist different
    if runtime.pkginfo.version == "1.0.1" then
    .....
    return true
end

-- step 7: uninstall package
function uninstall()
    return true
end


provide example

provide example in readme for quality evaluation, original text and recognised text (speak original text with your voice)

I'll provide some evaluation examples in Vietnamese soon :smiley:. I haven't trained any models in English or other languages yet so I don't have any examples for those languages.
About speaking with my voice, I don't think my dataset covers enough voices in order for the model to perform well on my voice, but I'll include it anyway.

I have provided some examples of conformer trained on librispeech 100h in this website: huylenguyen.com/asr


Fix up apisnoop.cncf.ci

[x] feature the all-in chart
[x] link to the repo
[x] generally look nicer
[x] https / let's encrypt

https done

Great!
--
Dan Kohn<EMAIL_ADDRESS>Executive Director, Cloud Native Computing Foundation https://www.cncf.io
+1-415-233-1000 https://www.dankohn.com
On Mon, May 28, 2018 at 12:49 AM, Rohan Fletcher<EMAIL_ADDRESS>wrote:

https done
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/cncf/apisnoop/issues/15#issuecomment-392418353, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AC8MBr3ky8flGFbdATUw7Zyl_xy8cQcnks5t24HzgaJpZM4UPfB6
.

Mockup of better looking UI

Now deployed to https://apisnoop.cncf.io/
Right now its just a static build.
apisnoop-static.tar.gz

Let's create some feature tickets off this for the capture button, data, history, export etc.

[ ] 1) Capture (and upload via kubectl apply)
[ ] 2) mockup of the data tab.

Future ideas

Data tab - deep dive into the requests that are sent to each endpoint
Export tab - export the data to csv
Group charts - see differences across charts
Easy deployment - potentially similar to Sonobuoy

Grey out future features, remove visual bug related to dual line chartpaths.


[Example] ggml: move belle-chat and codellama to llama-utils

Hello, I am a code review bot on flows.network.
It could take a few minutes for me to analyze this PR. Relax, grab a cup of coffee and check back later. Thanks!


How to type a custom produce function?

🙋♂ Question
Hey folks. I'm using Immer with React and I want to create a custom produce function that does something with the new state. I want to pass this produce function down to components so they can call it to update the state, and so that I can do something with the newly updated state. I can't seem to figure out how to type that function however. It seems that ValidRecipeReturnType isn't exported. I was able to do it with use-immer's DraftFunction but use-immer doesn't return the new state after it's set.
Link to repro
https://codesandbox.io/s/festive-browser-v2wj8?file=/src/App.tsx
How can I type the recipe param from updateState?
Environment
Latest React and Immer.
Thank you!

I use an approach like this in my applications:
type Recipe = (arg0: Draft<MyState>) => void | MyState;

RTK-Query also annotates the 'recipe' approach: https://github.com/reduxjs/redux-toolkit/blob/2425f02fe68f7e186c21e009605022013778a2c5/packages/toolkit/src/query/core/buildThunks.ts#L156
Here is a fork of your sandbox that has working annotation:
import produce from "immer";
import type { Draft } from "immer";
import { useCallback, useState } from "react";
import "./styles.css";

type MyState = {
  foo: string,
  bar: string
};

const initialState = {
  foo: "",
  bar: "",
}

type Recipe = (arg0: Draft<MyState>) => void | MyState;

export default function App() {
  const [state, setState] = useState<MyState>(initialState);

  const updateState = useCallback((recipe: Recipe) => {
    setState((previousState) => produce(previousState, recipe));
  }, [setState]);

  const cb: Recipe = (state) => {
    state.foo = "Muffin Man";
  };

  return (

Hello {state?.foo}

      <button onClick={() => {updateState(cb);}} type="button">click</button>

  );
}


[BUG] [Funimation]

I am trying to download only the audio from the anime "Assassination Classroom"
but I get the following message
[INFO] Unable to locate a video AND audio file
The command line used is the following
anidl.exe --service "funi" -s 19373 -e 1 -q 0 --novids --dub esLA
Am I using the Command correctly or am I making a mistake?

I thinks it’s because this show does not separate audio and video.
They are both in one file - if you skip the video you skip the audio as well.
Going to check later tho, closing it for now


Gauge was collected before with the same name and label values

Seeing this when scraping:

An error has occurred during metrics collection:
collected metric chronos_metrics_version label:<name:"version" value:"3.0.0" > gauge:<value:1 >  was collected before with the same name and label values

Commenting the following in exporter.go helps:
		case "version":
			data := element.Data()
			version, ok := data.(string)
			if !ok {
				log.Errorf(fmt.Sprintf("Bad conversion! Unexpected value \"%v\" for version\n", data))
			} else {
				gauge, _ := e.Gauges.Fetch("metrics_version", "Chronos metrics version", "version")
				gauge.WithLabelValues(version).Set(1)
				gauge.Collect(ch)
			}

Should be fixed in release v0.2.2


Pydantic 2.0+ changed the constr() argument from regex to pattern breaking package v0.5.0

There was a breaking change in pydantic (https://github.com/pydantic/pydantic/blob/v2.0/pydantic/types.py#L266) which changed the regex argument in the constr() to pattern.
This causes the following error:
Traceback (most recent call last):
  File "/home/colin/anta/.venv/bin/anta", line 5, in <module>
    from anta.cli.cli import cli
  File "/home/colin/anta/.venv/lib/python3.10/site-packages/anta/cli/cli.py", line 12, in <module>
    from anta.cli.check import commands as check_commands
  File "/home/colin/anta/.venv/lib/python3.10/site-packages/anta/cli/check/commands.py", line 17, in <module>
    from .utils import check_run, display_json, display_table
  File "/home/colin/anta/.venv/lib/python3.10/site-packages/anta/cli/check/utils.py", line 19, in <module>
    from anta.inventory import AntaInventory
  File "/home/colin/anta/.venv/lib/python3.10/site-packages/anta/inventory/__init__.py", line 17, in <module>
    from .models import AntaInventoryInput, InventoryDevice, InventoryDevices
  File "/home/colin/anta/.venv/lib/python3.10/site-packages/anta/inventory/models.py", line 22, in <module>
    class AntaInventoryHost(BaseModel):
  File "/home/colin/anta/.venv/lib/python3.10/site-packages/anta/inventory/models.py", line 34, in AntaInventoryHost
    host: Union[constr(regex=RFC_1123_REGEX), IPvAnyAddress]  # type: ignore
TypeError: constr() got an unexpected keyword argument 'regex'

The problem is that we currently pin the pydantic requirements to >=1.9.1, so when pip installs pydantic 2.0.2 ANTA is broken.
We should either pin the requirements to <2.0 here or else update here to use pattern, and bump the requirements to be >=2.0.
Right now the v0.5.0 package is unusable without manually downgraging pydantic.

Well... this has been fixed in master :)
Let's release this quick !

Please try 0.6.0 on PyPi !


lax.dynamic_slice fails even with static argnum

It's not clear to me that this is a bug with JAX versus me just not quite using it properly, but essentially I'm trying (with some success so far) to create a minibatch-SGD training setup for the recsys version of SVD (i.e. this oft-cited blog post) in JAX. Currently I'm trying to get comparable performance to surprise.
Anyways, one of the main things that's been challenging for this is, surprisingly, the minibatch flexibility part. I've gotten to a fairly fast setup (0.2ms per epoch at batch size 1 for 500 examples) by creating a jitted train_outer function that iterates through the given dataset. A bigger slice of the code (not all of it) is in this gist but the essential part that I'm trying to figure out is how to do a batched run through the input data.
My first approach looks like this, using lax.dynamic_slice
from jax.lax import lax
<...>
@partial(jit,static_argnums=(7,8)) # recompile on batch_size change
def train_outer(vem, tem, vbv, tbv,
                voter_indices, target_indices, ratings,
                batch_size, batched_dataset_size):
    with loops.Scope() as s:
        s.vem = vem
        s.tem = tem
        s.vbv = vbv
        s.tbv = tbv
        for i in s.range(0, batched_dataset_size):
            batch_start = i * batch_size
            batch_end = (i + 1) * batch_size
            voter_ib = lax.dynamic_slice(voter_indices, (batch_start,), (batch_end,))
            target_ib = lax.dynamic_slice(target_indices, (batch_start,), (batch_end,))
            ratings_b = lax.dynamic_slice(ratings, (batch_start,), (batch_end,))

            s.vem, s.tem, s.vbv, s.tbv = train_inner(
                s.vem, s.tem, s.vbv, s.tbv,
                voter_indices=voter_ib,
                target_indices=target_ib,
                ratings=ratings_b)
        return s.vem, s.tem, s.vbv, s.tbv

However, when I try to do this I get the following error (full stacktrace in the gist):
<...>
File "jax_models.py", line 140, in train_outer
  voter_ib = lax.dynamic_slice(voter_indices, (batch_start,), (batch_end,))
File "/home/u1/zach/proj/dataplayground3/lib/python3.5/site-packages/jax/lax/lax.py", line 690, in dynamic_slice
  operand_shape=operand.shape)
<...>
TypeError: Abstract value passed to `bool`, which requires a concrete value. The function to be transformed can't be traced at the required lev
el of abstraction. If using `jit`, try using `static_argnums` or applying `jit` to smaller subfunctions instead.

I'm fairly certain that the stuff dynamic_slice depends on is in static_argnums, however I might be wrong. I also tried to have the dataset arguments (voter_indices, target_indices, ratings) as static args, and got the same error (even though it would recompile every time it got a shuffled version of those).
Is there something specific I'm missing?
I should note that the rest of my code does work, with a different batching method that occurs outside of train_outer where voter_indices and etc. have been reshaped into ndarrays of shape (batched_dataset_size x batch_size), and the extraction is simply voter_ib = voter_indices[i]within train_outer. However the batching done outside of the loop is quite a bit slower.
I have some ways forward, but I wanted to put this issue up while I pursue them in case there is a proper way to use dynamic_slice that I'm just missing. Thanks for whatever help you can offer!

I can't verify this because the example isn't self-contained and runnable, but is it possible you are passing the batch_end value where dynamic_size expects a size?
https://jax.readthedocs.io/en/latest/_autosummary/jax.lax.dynamic_slice.html#jax.lax.dynamic_slice
Shouldn't the (batch_end,) be (batch_size,)?

You may want to reshape your data into something with shape (n_batches, batch_size, ...) and lax.scan over the first axis? (This will end up with similar XLA code as your loop over dynamic_slice)

@hawkinsp that's a good catch, I didn't realize dynamic_slice operated that way -- I doubt it will change this error but I'll go ahead and fix it. I'll also clean up and put the full script up in a bit.
@jekbradbury I'm actually doing that now, and I've gotten it down to 1ms per epoch (for a batch size of 1) for 10k examples (but a small voter/target matrix). However when I profile it .8ms are spent doing the shuffling/reshaping. It's not clear to me which part of that is irreducibly due to the shuffling versus the reshaping. Additionally, reshaping requires me to pad out the end of the dataset if the batch size doesn't evenly divide it, which is a bit more work but not a huge issue.

Update: I set dynamic_slice to take in batch_size instead of batch_end, and while I'm not really clear on why that would work -- it did! So I'm closing this issue.


First time checkin for westlake blockchain swagger with examples

Latest improvements:
MSFT employees can try out our new experience at OpenAPI Hub  - one location for using our validation tools and finding your workflow.

Contribution checklist:

[ ] I have reviewed the documentation for the workflow.
[x] Validation tools were run on swagger spec(s) and have all been fixed in this PR.
[x] The OpenAPI Hub was used for checking validation status and next steps.

ARM API Review Checklist

[ ] Service team MUST add the "WaitForARMFeedback" label if the management plane API changes fall into one of the below categories.
adding/removing APIs.
adding/removing properties.
adding/removing API-version.
adding a new service in Azure.

Failure to comply may result in delays for manifest application. Note this does not apply to data plane APIs.

[ ] If you are blocked on ARM review and want to get the PR merged urgently, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.
Please follow the link to find more details on API review process.

Can one of the admins verify this patch?

Automation for azure-sdk-for-go

Automation for azure-sdk-for-python

Automation for azure-sdk-for-js

Automation for azure-sdk-for-ruby

Automation for azure-sdk-for-java

Last minute changes caused error in one of the examples. checking in the fix.

Hi, the error logs for public.rest-api-specs refers to 'go' plugin failure, says "FATAL: System.InvalidOperationException: codegen for preview swagger Microsoft.Blockchain/preview/2019-05-01-preview/rp-swagger.json must be under a preview subdirectory".. but the directory structure has 'preview' in it.

Hi, I realize our public preview is still not announced publicly, will close this and use the private repo.


Store/Coordinator test support.

I've been hacking around with setting up and tearing down Orbit around (acceptance) tests. More specifically I'm building a demo app that only use IDB as backup and no remote JSON:API source.
To be able to access the store in an acceptance context I had to manually construct the whole store within the moduleForAcceptance helper.
The second thing is  that it looks like when using Orbit's store like that, the acceptance test helpers don't pickup on the Promises that Orbit's actions create, so it will just not wait for them. I had to create a simple waitFor async helper that takes Orbit's promises and queues them up properly.
What I'm alluding to is that it would be awesome if Ember-Orbit contained a few test helpers that stream lines the test experience.
Below is part of the Orbit setup I wrote for the tests:
example acceptance test
test('It displays existing planets', function(assert) {
  waitFor(() => this.store.update((t) => [
    t.addRecord({ type: 'planet', attributes: { name: 'Mars'} }),
    t.addRecord({ type: 'planet', attributes: { name: 'Venus'} })
  ]));

  visit('/planets');

  andThen(() => {
    assert.dom('[data-test-planet]').exists({ count: 2 });
  });
});

tests/helpers/module-for-acceptance.js
import { module } from 'qunit';
import { resolve, all } from 'rsvp';
import startApp from '../helpers/start-app';
import destroyObject from '../helpers/destroy-app';
import createOrbitStore from './create-orbit-store';

export default function(name, options = {}) {
  module(name, {
    beforeEach() {
      this.application = startApp();

      return createOrbitStore(this.application)
        .then(([store, coordinator]) => {
          this.store = store;
          this.coordinator = coordinator;
        })
        .then(() => options.beforeEach && options.beforeEach.apply(this, arguments));
    },

    afterEach() {
      let afterEach = options.afterEach && options.afterEach.apply(this, arguments);
      return resolve(afterEach)
        .then(() => {
          let backup = this.coordinator.getSource('backup');
          let modelNames = Object.keys(this.store.source.schema.models);
          return all(modelNames.map((modelName) => backup.clearRecords(modelName)));
        })
        .then(() => this.coordinator.deactivate())
        .then(() => destroyObject(this.store))
        .then(() => destroyObject(this.application));
    }
  });
}

tests/helpers/create-orbit-store.js
import { get } from '@ember/object';
import { camelize } from '@ember/string';
import OrbitStore from '@orbit/store';
import Coordinator from '@orbit/coordinator';
import {
  Schema,
  KeyMap
} from '@orbit/data';
import modulesOfType from 'ember-orbit/-private/system/modules-of-type';
import { Store } from 'ember-orbit';

function findModulesOfType(application, type) {
  return modulesOfType(application.modulePrefix, type).map(camelize);
}

function createSchema(application) {
  let modelSchemas = {};
  let modelNames = findModulesOfType(application, 'models');

  modelNames.forEach(name => {
    let model = application.resolveRegistration(`model:${name}`);
    modelSchemas[name] = {
      id: get(model, 'id'),
      keys: get(model, 'keys'),
      attributes: get(model, 'attributes'),
      relationships: get(model, 'relationships')
    };
  });

  return new Schema({ models: modelSchemas });
}

function createSources(application, injections) {
  return findModulesOfType(application, 'data-sources').map((name) => {
    let sourceFactory = application.resolveRegistration(`data-source:${name}`);
    return sourceFactory.create(injections);
  });
}

function createStrategies(application) {
  return findModulesOfType(application, 'data-strategies').map((name) => {
    let strategyFactory = application.resolveRegistration(`data-strategy:${name}`);
    return strategyFactory.create();
  });
}

export default function createOrbitStore(application) {
  let schema = createSchema(application);
  let orbitStore = new OrbitStore({ schema });
  let keyMap = new KeyMap();
  let sources = createSources(application, { schema, keyMap });
  let strategies = createStrategies(application);
  let coordinator = new Coordinator({ sources: [orbitStore, ...sources], strategies });
  let store = Store.create({ source: orbitStore });

  return coordinator.activate()
    .then(() => [store, coordinator]);
}

tests/helpers/wait-for.js
import { registerAsyncHelper } from "@ember/test"

registerAsyncHelper('waitFor',
  function(app, callback) {
    return callback();
  }
);

I also ended up having to close the IDB connection when the Ember Application is being torn down
import IndexedDBSource from '@orbit/indexeddb';

export default {
  create(injections = {}) {
    injections.name = 'backup';
    injections.namespace = 'smart-shopping-list';
    let source = new IndexedDBSource(injections);

    source.destroy = function() {
      return this.closeDB();
    };

    return source;
  }
};

@martndemus Apologies for a delayed response. I really appreciate your exploration here and support shipping test helpers as needed 💯

IMHO any new test helpers should target the new QUnit testing APIs since they are massively easier to deal with

@Turbo87 yeah, that is optimal 👍

I also ended up having to close the IDB connection when the Ember Application is being torn down

@martndemus Makes sense. We should collect testing tips per source and include them in the right package in the main orbit repo. Ideally we can reference these from ember-orbit to minimize duplication.

@dgeb Thanks so much for this addon. I have backup/remote sources working as expected, but am having trouble fixing my previous acceptance tests (which use the newer test helpers and other popular testing addons e.g. ember-cli-mirage). Are there any other docs/example apps that showcase how to integrate this with a newer app's test suite?


WGAN-GP low-level API example

A more extensive example using the new low-level API:
Wasserstein-GAN with Gradient Penalty (WGAN-GP) trained on the CelebA dataset.
Some good generated images:

Some notes:

I first tried to train a DCGAN which uses binary crossentropy but I've run into balancing issues. The discriminator quickly becomes too good so that the generator does not learn anything. The same model implemented in PyTorch or TensorFlow works. Most modern GANs don't use the WGAN loss anymore, most use BCE.
I'm still in favor of making Module.apply() return init(). It's just too much boilerplate to use an if-else every time. I avoided it by manually calling wgan.states = wgan.init(...) after model instantiation which I think is also not nice.
Can we make Module.apply() accept params and states separately instead of collections. It's annoying having to construct a dict {'params':params, 'states':states} every time
It would be nice if elegy.States was a dict so that the user can decide by themself what to put into it. With GANs where you have to manage generator and discriminator states separately one has to always split them like (g_states, d_states) = net_states which is again annoying
Model.save() fails on this model. Partially due to the extra jitted functions but even when I remove them, cloudpickle chokes on _HooksContext

@cgarciae I'm not completely sure I've used the low-level API correctly, maybe you can take a closer look?

Codecov Report

Merging #157 (db7b420) into master (cb70cf5) will decrease coverage by 0.12%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #157      +/-   ##
==========================================
- Coverage   84.90%   84.77%   -0.13%
==========================================
  Files         131      131
  Lines        6815     6760      -55
==========================================
- Hits         5786     5731      -55
  Misses       1029     1029

Impacted Files
Coverage Δ

elegy/data/data_adapter.py
57.14% <0.00%> (-6.28%)
:arrow_down:

elegy/data/generator_adapter.py
40.00% <0.00%> (-4.90%)
:arrow_down:

elegy/data/torch_dataloader_adapter.py
70.00% <0.00%> (-1.70%)
:arrow_down:

elegy/data/data_handler.py
71.08% <0.00%> (-1.33%)
:arrow_down:

elegy/data/tf_dataset_adapter.py
85.10% <0.00%> (-0.90%)
:arrow_down:

elegy/data/list_adapter.py
89.74% <0.00%> (-0.74%)
:arrow_down:

elegy/types.py
95.90% <0.00%> (-0.73%)
:arrow_down:

elegy/losses/loss.py
88.46% <0.00%> (-0.43%)
:arrow_down:

elegy/data/array_adapter.py
90.16% <0.00%> (-0.32%)
:arrow_down:

elegy/metrics/metric.py
95.00% <0.00%> (-0.24%)
:arrow_down:

... and 7 more

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 cb70cf5...db7b420. Read the comment docs.

Awesome @alexander-g !

I first tried to train a DCGAN which uses binary crossentropy but I've run into balancing issues. The discriminator quickly becomes too good so that the generator does not learn anything. The same model implemented in PyTorch or TensorFlow works. Most modern GANs don't use the WGAN loss anymore, most use BCE.

I wonder if its our implementation of BCE, or the optimizer, or our implementation of the layers. I've also seen differences in the learning capacity between Jax / Elegy and Keras, I believe this is sometimes because the implementation of Adam in Keras uses a lot of improvements while optax.adam is a very vanilla implementation.

I'm still in favor of making Module.apply() return init(). It's just too much boilerplate to use an if-else every time. I avoided it by manually calling wgan.states = wgan.init(...) after model instantiation which I think is also not nice.

What about creating a init_or_apply method? I would like this behavior to be explicit.

Can we make Module.apply() accept params and states separately instead of collections. It's annoying having to construct a dict {'params':params, 'states':states} every time

I am all for this, my main worry was the reasons why Flax does it like this: https://github.com/google/flax/discussions/857#discussioncomment-284683
But I believe we might be able to safely assume that there is only one set of trainable parameters (what we call parameters) and the rest, while being organized by collection name, are non-trainable. I'll work on this next!

It would be nice if elegy.States was a dict so that the user can decide by themself what to put into it. With GANs where you have to manage generator and discriminator states separately one has to always split them like (g_states, d_states) = net_states which is again annoying

I like the idea of making elegy.States more flexible, however, Model would still use a predefined set of names so if the user does something like this on e.g. test_step:
states = states.update(params_a=params_a, params_b=params_b)

the default implementation of train_step would still feed states.net_params to the optimizer. I mean, the user might still need to beware of standard names depending on what he is doing.

Model.save() fails on this model. Partially due to the extra jitted functions but even when I remove them, cloudpickle chokes on _HooksContext

This is odd, the various elegy_* examples are not having issues serializing, I would love to pinpoint the part that is causing the issue.

@cgarciae I'm not completely sure I've used the low-level API correctly, maybe you can take a closer look?

Sure, I'll take a look :)

@alexander-g I see you are still using the Model.init method which no longer exists. Is this branch up to date with master?
This is still working progress but for more info on the low-level API you can consult this document:
https://github.com/poets-ai/elegy/blob/ad03ea9e73aeae972acd5194cc45893117e1db52/docs/low-level-api/basics.md
Also check out:

https://github.com/poets-ai/elegy/blob/master/examples/jax_linear_classifier_test_step.py
https://github.com/poets-ai/elegy/blob/master/examples/flax_mnist_vae_test_step.py

You're right, I've got my git repo mixed up. Will fix it soon

updated to version 0.5.0
tested for 5 epochs instead of full 100 epochs, did not change architecture and output looked Ok, so I hope it works
Model.save() works
added to test-examples.sh for 2 epochs and 3 dummy images for automatic testing

I see you are still using the Model.init method which no longer exists.

I re-define it to avoid the if initializing: module.init() else: module.apply() boilerplate

What about creating a init_or_apply method?

Yes, please

@alexander-g this is looking great! Left a few comments.
BTW: if you are interested in continuing work on GANs, I was thinking that maybe we could add a GANModel in the future so the user only has to pass a couple of arguments to the GANModel constructor and it would get the training loop for free, basically generalizing what you just did and maybe adding the option to have metrics.

@alexander-g this is looking great! Left a few comments.
BTW: if you are interested in continuing work on GANs, I was thinking that maybe we could add a GANModel in the future so the user only has to pass a couple of arguments to the GANModel constructor and it would get the training loop for free, basically generalizing what you just did and maybe adding the option to have metrics.

Good idea

@alexander-g looking good! Left more comments.
Would you mind if we merge #163 and then update this code to use the new init and init_step methods? It would be a good showcase. Also init_or_apply is there if you want to use it but given you implemented init separately it might not be needed.

No idea about the failing test.

No idea about the failing test.
Edit: passes again but not related to this PR

Sometimes tests fail due to a Network Timeout. We sadly download stuff during tests which I think its not good :(

@alexander-g made a small change to use init_step, ran it with the test-examples script and it works.


Add testers2 example to this template.

Adds testers2 as dependency in build.sbt
Create a DecoupledGCD circuit.
Create a testers2 test that uses fork and join.

I'd prefer we resolve Bundle literals first, since the low-level DIY Lit presented here is not great model code that one might expect from a template.

Unfortunately, we don't appear to have a Scala 2.11 version of testers2 0.1-SNAPSHOT, causing CI tests to fail:
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  ::          UNRESOLVED DEPENDENCIES         ::
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  :: edu.berkeley.cs#chisel-testers2_2.11;0.1-SNAPSHOT: not found
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]
[warn]  Note: Unresolved dependencies path:
[warn]          edu.berkeley.cs:chisel-testers2_2.11:0.1-SNAPSHOT (<http://a17.millennium.berkeley.edu/jenkins/job/bare-chisel3-template/ws/build.sbt>#L51-53)
[warn]            +- chisel-module-template:chisel-module-template_2.11:3.2-SNAPSHOT
[error] sbt.librarymanagement.ResolveException: unresolved dependency: edu.berkeley.cs#chisel-testers2_2.11;0.1-SNAPSHOT: not found


Add support for attiny841

Any chance that you can add support for attiny841?

Understood.  Thanks for the quick response!


Support export * as statements

The trick is simple. Rollup resolves export * statements into a list
of exports. The only problem here could be export * from externals.

I signed it!

This change will let me integrate this plugin in react pipeline and achieve generating esm output for its packages.

Makes sense to check this in as a 0.6.0 branch then, and continue to refine in future PRs.


Errors when firing a signal just after awaiting on that signal

Tested versions
4.2.stable
System information
MacOS, M2
Issue description
Errors are logged when firing a signal just after awaiting on that signal. It seems that the await object is not properly cleaned up and is still partly waiting on the signal.
extends Node2D

signal my_signal()

func _ready() -> void:
	await my_signal
	my_signal.emit()

func _process(_delta: float) -> void:
	my_signal.emit()
	set_process(false)

gives
E 0:00:00:0589   Node2D.gd:8 @ _ready(): Resumed function '_ready()' after await, but script is gone. At script: res://Node2D.gd:7
  <Erreur C++>   Method/function failed. Returning: Variant()
  <Source C++>   modules/gdscript/gdscript_function.cpp:197 @ resume()
  <Pile des appels>Node2D.gd:8 @ _ready()
                 Node2D.gd:13 @ _process()

E 0:00:00:0589   Node2D.gd:13 @ _process(): Attempt to disconnect a nonexistent connection from 'Node2D:<Node2D#26793215177>'. Signal: 'my_signal', callable: 'GDScriptFunctionState::_signal_callback'.
  <Erreur C++>   Condition "!s->slot_map.has(*p_callable.get_base_comparator())" is true. Returning: false
  <Source C++>   core/object/object.cpp:1420 @ _disconnect()
  <Pile des appels>Node2D.gd:13 @ _process()

Steps to reproduce
Run the project below or the code sample above.
Minimal reproduction project (MRP)
await_signal_twice_fired.zip

Aren't you doing something "illegal"?
You're blocking your _ready from executing before _process has emitted the signal.
set_process docs say and probably for good reason
Any calls to this before _ready will be ignored.

Whatever called the _ready is probably stuck waiting on the await as well so maybe it can't clean up or assign things properly?

It's just a minimal code example to reproduce the bug. The bug is not linked to this happening in _ready or not. The bug is also not linked to the set_process(false), which I added to remove confusion due to the signal being emitted each frame. This way, it is only emitted once.

The direct cause is that ONE_SHOT connections to a signal are disconnected after the connected method is called, not before. Meaning e.g. this results in an infinite loop:
extends Node2D

signal my_signal

func _ready():
	my_signal.connect(foo, CONNECT_ONE_SHOT)
	my_signal.emit()

func foo():
	my_signal.emit()

Related issue: #28857.
How does it affect await? When awaiting on a signal GDScriptFunctionState::_signal_callback which calls GDScriptFunctionState::resume is ONE_SHOT-connected to such awaited signal:
https://github.com/godotengine/godot/blob/61282068f4d59cb48f35ad95391728c58d9008ab/modules/gdscript/gdscript_vm.cpp#L2306
https://github.com/godotengine/godot/blob/61282068f4d59cb48f35ad95391728c58d9008ab/modules/gdscript/gdscript_function.cpp#L137-L167
Meaning if the awaited signal is emitted again during such resume() then it results in calling resume() again because the ONE_SHOT connection is not yet disconnected.

extends Node2D

signal my_signal

func _ready() -> void:
	foo()
	my_signal.emit() # A

func foo():
	await my_signal
	my_signal.emit() # B

Execution goes something like:
`_ready()`
	`foo()`
		`await my_signal`
			`ONE_SHOT` connect resuming `foo` on `my_signal`
	`my_signal.emit() # A`
		Resume `foo`.
			`my_signal.emit() # B`
				Resume `foo`.
					Error (already removed from `scripts_list` within the first resume).
				Disconnect resuming `foo` on `my_signal` signal (it's ONE_SHOT and `my_signal.emit() # B` handled all connections).
			foo "completed" signal
		Error trying to disconnect resuming `foo` on `my_signal` signal (`my_signal.emit() # A` handled all connections).

The in GDScriptFunctionState::resume error part:
https://github.com/godotengine/godot/blob/61282068f4d59cb48f35ad95391728c58d9008ab/modules/gdscript/gdscript_function.cpp#L190-L212

How disconnecting ONE_SHOT connections is done:
https://github.com/godotengine/godot/blob/61282068f4d59cb48f35ad95391728c58d9008ab/core/object/object.cpp#L1121-L1175

Thanks for investigating! @AThousandShips it is still a bug, though, right?

That's what I get for giving a minimal reproducing example :).
Consider this: I want to wait for the state to get back to Idle before updating it to State1. There is a set_state() setter and a state_changed signal:
func set_state(p_state: State) -> void:
   state = p_state
   state_changed.emit()

now in my updating function:
func wait_and_update_to_state1() -> void:
   while state != Idle:
      await state_changed
   state = State1

This seems reasonable, right? It gives the above errors.

That's what I get for giving a minimal reproducing example

What do you mean?
As explained above awaiting uses connections, so that's an unfortunate consequence of the same limitation, but I don't think it's solvable to handle this as such, try using deferred calls to update the data perhaps, otherwise I'd say this is a limitation just like call deferred

The problem of giving minimal reproducing example is that it can often be answered by "why would even do that anyway?". I should have given more realistic context from the start.
In my opinion, it's not because something is complicated to fix that it's not a bug: I think the above example is a perfectly reasonable usecase for await, and it not working without weird errors being logged constitutes a bug.

In my opinion, it's not because something is complicated to fix that it's not a bug

Agreed, I never said it wasn't a bug because of that, please read what I say instead of putting words in my moth, act professionally and please read the code of conduct
I'm going to stop engaging with you and I'll wish you a good day

@AThousandShips
To clarify: I've only pointed out the direct cause of the reported issue for the current implementation.
Whether how ONE_SHOT connections are being disconnected is intentional or it is a bug itself I don't know, hence why I've asked about this in the contributors chat (I could have mentioned my doubts in my previous comment).
But regardless of the current ONE_SHOT disconnecting behavior, what's reported here i.e. await producing errors was already triaged as a bug by a GDScript team member (dalexeev) so please respect this more / be more thoughful about changing the labels in the future (I'll leave fixing them to you).
The behavior of await seems already correct / as expected, what's reported here is some superfluous/unneeded errors.

So:

If the current ONE_SHOT disconnecting behavior is a bug then it needs to be fixed. The issue with await erroring would then be automatically fixed as a result.
If the current ONE_SHOT disconnecting behavior is not a bug then await's implementation needs to be tweaked to fix the reported issue accordingly.

@BimDav Your original MRP is fine/sufficient on its own, no need for a "real world" example to classify some easily reproducible behavior as a bug / not a bug.

And I gave my arguments in chat too, and explained here, but I'll restore the label, but I thought this through and presented my arguments, so please take that into account :)

(All below responses are not about the subject of the issue, hence I'm marking this as offtopic myself.)
@AThousandShips

And I gave my arguments in chat too, and explained here

Great, thanks!

, but I'll restore the label, but I thought this through and presented my arguments, so please take that into account

Sure I take this into account. But I also take into account that others think things through as well (here "labelers"). What I mean is if I see that GDScript/rendering/etc. team member/maintainer marked an issue in the given area as a bug then in case I disagree I'd state my arguments and let them reevaluate the issue. I wouldn't unmark it as a bug on my own because I think it's not a bug etc. (unless that's something really obvious/trivial; not the case in here). Maybe I'm right that it's not a bug and they'd agree with me (and change labels). But maybe I'm not aware of something else and it is indeed a bug and it's me still not taking something into account. What I'm saying is that in such situations there's no need to rush and "take over" by changing the labels. I think we both agree that we don't want labels being changed back and forth whenever some member have different opinion about them.
And if this needs clarification: I'm not saying any of this to attack you or something like that. I think that's something you could improve on, hence my suggestion in my previous comment. That's all. :slightly_smiling_face:

(and don't misrepresent my actions) :)

I don't think I did, for sure I haven't tried to do so. So I'm not promising anything. :upside_down_face:

also note that the original labelling of this was made without the knowledge of these details, so it's not irrelevant

Now that's just your assumption that dalexeev wasn't aware of these details. And nothing wrong with this! Making some assumptions about others is of course fine.
And while I agree you're likely right that he haven't dived deeply into the details at the time of labelling things, I still stand my point - I think it would be better if you'd restrained yourself from changing the labels in a situation like in here.
I don't expect any response to this from you, I'd say let's not continute this offtopic about meta stuff (or at least not here). That's just my opinion and if you take anything positive from it - great. :slightly_smiling_face:

I have a second, similar but different enough case. Here is a sample project:
resume_after_await.zip
extends Node2D

signal signal1
signal signal2

func _ready() -> void:
	signal1.connect(_on_signal1_emitted)
	var coroutine: = Coroutine.new()
	coroutine.add_future(signal1)   # coroutine awaits on signal1
	coroutine.add_future(signal2)   # coroutine awaits on signal2
	await coroutine.join_either()   # signal1 will resume execution here and coroutine will be deleted
	print("after")

func _process(delta: float) -> void:
	signal1.emit()

func _on_signal1_emitted() -> void:
	signal2.emit()  # this gives an error as coroutine is deleted

The issue here seems to be that the receivers list stills contains coroutine's await even though it was just deleted.


"Comloșu Mare", "Comloșu Mic" and "Lunga" are listed in the drop-down menu

Description:
"Comloșu Mare", "Comloșu Mic" and "Lunga" are listed in the drop-down menu alongside its corresponding county and commune, according to the law
Precondition:
The website is up an running.

Step 1
Type "Comloșu Mare" in the search bar.

Expected results
The location is listed in the drop-down menu as "Sat Comloșu Mare, TIMIȘ (Comloșu Mare)" and "Comuna Comloșu Mare, TIMIȘ".

Step 2
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 3
Type "Comloșu Mic" in the search bar.

Expected results
The location is listed in the drop-down menu as "Sat Comloșu Mic, TIMIȘ (Comloșu Mare)".

Step 4
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 5
Type "Lunga" in the search bar.

Expected results
The location is listed in the drop-down menu as "Sat Lunga, TIMIȘ (Comloșu Mare)".


Query-sorting criteria: attribute value

I would like to sort query results by a certain attribute or list of attributes.

Have you tried using {{attr-table}}s yet?
https://roamjs.com/docs/extensions/attr-tables

Have you tried using {{attr-table}}s yet?
https://roamjs.com/docs/extensions/attr-tables

I don't think that's what I'm looking for. I want to keep the same query interface but reorder the blocks by the value of their Priority:: and Due Date:: attributes.

I don't think that's what I'm looking for. I want to keep the same query interface but reorder the blocks by the value of their Priority:: and Due Date:: attributes.

Query Builder supports this now


message_edit: Improve message edit history ui

#3731

Automated message from Dropbox CLA bot
@jackrzhang, it looks like you've already signed the Dropbox CLA. Thanks!

Thanks for working on this @jackrzhang!  I merged 2 of the commits after fixing some trivial test errors, and pushed a rebased version of the rest as the timabbott/message-edit-formatting.  You should fix the test failures there and then push again.
Otherwise this looks great!

@jackrzhang is your new version ready for review?  If so, you should be sure to post a comment, since GitHub doesn't send any sort of special notification when that happens.

Oops -- didn't know that! Yep, it's ready for review.

Merged, thanks @jackrzhang!
I think there are a couple follow-ups we should do before closing #3731, which I'll update in that issue.


Add url to validation

Description:
Shortcut for the validation of URLs. voluptuous is using urllib.parse to validate an URL but I think that we should be more restrictive and only allow http/https as htp will definitely not lead to a success.
>>> import voluptuous as vol
>>> vol.Schema(vol.Url())('htp://localhost')
'htp://localhost'
>>> from urllib.parse import urlparse
>>> urlparse('htp://localhost')
ParseResult(scheme='htp', netloc='localhost', path='', params='', query='', fragment='')

Schemas for REST/aREST could benefit from this.
Related issue (if applicable): fixes #2800
Pull request in home-assistant.io with documentation (if applicable): home-assistant/home-assistant.io#
Checklist:
If user exposed functionality or configuration variables are added/changed:

[ ] Documentation added/updated in home-assistant.io

If the code does not interact with devices:

[x] Local tests with tox run successfully. Your PR cannot be merged unless tests pass
[x] Tests have been added to verify that the new code works.

I assume this came out of the vol.Url() usage in notify.html5? Either way, all for it!

Good to merge when linting passes 👍


TokenValidator.scope_insufficient seems wrong

There's been changes in TokenValidator.scope_insufficient() to support nested required scopes, but I think it introduces a bug.
>>> from authlib.oauth2.rfc6749.resource_protector import TokenValidator
>>> TokenValidator.scope_insufficient(token_scopes=["read"], required_scopes=["read", "write"])
False

This seems wrong, since the token does not have all the required scopes. The reason is that now the function is looping over the required scopes, and as soon as it finds a matching scope it exists False. In this case it will not check the required write scope.

if required_scopes is a list, it will use OR logic. To use AND logic, you can use:
.scope_insufficient(token_scopes=["read"], required_scopes="read write")


serveStatic middleware fails

What version of Hono are you using?
4.4.0
What runtime/platform is your app running on?
Deno
What steps can reproduce the bug?
I have the following serveStatic configuration with a custom root and rewriteRequestPath options.
app.get(
  "*",
  serveStatic({
    root,
    rewriteRequestPath: (path: string) =>
      normalizePath(path.substring(this.options.basePath.length)),
  }),
);

What is the expected behavior?
After upgrading to v4.4.0 I expect everything works as usual.
What do you see instead?

Additional information
I didn't see anything relevant in the changelog, so I assumed nothing changed here.

Hi @oscarotero
What about importing serveStatic as the following:
import { serveStatic } from 'jsr<EMAIL_ADDRESS>

Nice, that seems to fix the issue.
Thanks!