Fix status bar

fix #181

Pull Request Test Coverage Report for Build 640

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.01%) to 62.485%

Totals

Change from base Build 629:
0.01%

Covered Lines:
2082

Relevant Lines:
3332

💛  - Coveralls

It's fine on my screen but I've made a change. Let me know if it's still partially covered.


[ Code clarity ] Check against MISSING instead of None

What is the motivation?
I understand that in the given scenario, where record_id is a string and can never be None, however by using MISSING it is more explicit when checking against our nulled values
Type of Change

[ ] 📚 Examples / docs / tutorials / dependencies update
[ ] 🔧 Bug fix (non-breaking change which fixes an issue)
[x] 🥂 Improvement (non-breaking change which improves an existing feature)
[ ] 🚀 New feature (non-breaking change which adds functionality)
[ ] 💥 Breaking change (fix or feature that would cause existing functionality to change)
[ ] 🔐 Security fix

What does this change do?
Creates a missing sentinel that is used in order
What is your testing strategy?

Is this related to any issues?
Implemented on top of #49
Have you read the Contributing Guidelines?

[x] I have read the Contributing Guidelines

@AlexFrid Can you review plrwse

Must say that I don't really understand why this is needed 🤔
The code if ":" in thing else (thing, None) makes sure the record_id is None if it's not a part of the string

Must say that I don't really understand why this is needed 🤔 The code if ":" in thing else (thing, None) makes sure the record_id is None if it's not a part of the string

In this scenario I think I have probably misused the missing sentinel as it cannot be None in the first place, so I'll close this pr


add rudimentary support for printing labels on a GraphViz graph from StateMachineConfig

It is rudimentary as it should be more closely aligned with the c# statelss project rather than a boolean parameter on StateMachineConfig.generateDotFileInto()
This addresses #33

Thanks, @juddgaddie. Very much appreciate the help in getting this project running better!
As well, a BIG thank you for writing proper test cases!
Merged.


Address file

I'm working with an address file that's 700MB large.  The step hangs at "Loading address from 'input.txt'. How long should this step take? I'm working with an NVidia GeForce GTX 1050, -b 10 -t 256 -p 512

It took 35 minutes, but it's working now


Add support for multiple simultaneous event scopes

For HELP-40651. Requires https://github.com/realm/realm-core/pull/6288 so this'll currently fail to build on CI.

This can't be merged until we get a core release but it'd be good to get the code changes reviewed in advance so that we can ship a release asap.


Feature/dataset impl addon

This is an asyncio implementation of the dataset loader.
The following changes should be noted

The producer thread is running in the background on another seperate asyncio loop
The text hashes are saved locally, not the text

Changing base to nobunaga


Luckperms conflict on startup

We get the following response on bungeecord startup when we try to use another plugin with luckperms:
`> 18:12:05 [SEVERE] [LuckPerms] Exception occurred whilst loading data for fc123b5f-c423-411f-9f10-9c616fb61083 - red_man234

18:12:05 [SEVERE] java.lang.NullPointerException
18:12:05 [SEVERE] at me.lucko.luckperms.common.plugin.util.AbstractConnectionListener.loadUser(AbstractConnectionListener.java:67)
18:12:05 [SEVERE] at me.lucko.luckperms.bungee.listeners.BungeeConnectionListener.lambda$onPlayerLogin$0(BungeeConnectionListener.java:90)
18:12:05 [SEVERE] at net.md_5.bungee.scheduler.BungeeTask.run(BungeeTask.java:63)
18:12:05 [SEVERE] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
18:12:05 [SEVERE] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
18:12:05 [SEVERE] at java.lang.Thread.run(Thread.java:748)
18:12:05 [SEVERE] Task BungeeTask(sched=net.md_5.bungee.scheduler.BungeeScheduler@4983490b, id=69, owner=me.lucko.luckperms.bungee.LPBungeeBootstrap@441e351b, task=me.lucko.luckperms.bungee.listeners.BungeeConnectionListener$$Lambda$347/376602170@50339a7, delay=0, period=0, running=true) encountered an exception
java.lang.NullPointerException `

What BungeeCord version (and type) are you running?
What is the "other plugin"?
Any other errors?
Is the BungeeCord in online or offline mode?

1.#1486 (latest build 23 hours ago)
2. The other plugin is a custom written plugin my dev codded to link discord bot with the bungee network.
3. No
4. Online

Can you send the full startup log?


Issue: load_agent_executor returning ConfigError

Issue you'd like to raise.
I am trying to run a PlanAndExecute agent. The load_agent_executor method call returns:
"pydantic.v1.errors.ConfigError: field "retry_chain" not yet prepared so type is still a ForwardRef, you might need to call OutputFixingParser.update_forward_refs()."
This is my code:
`import os
import dotenv
from langchain.chat_models import ChatOpenAI
from langchain_experimental.plan_and_execute import PlanAndExecute, load_agent_executor, load_chat_planner
from langchain.llms import OpenAI
from langchain.agents.tools import Tool
from langchain.chains.llm_math.base import LLMMathChain
from langchain.tools import DuckDuckGoSearchRun
from langchain.output_parsers import OutputFixingParser
dotenv.load_dotenv()
apikey = os.getenv("OPEN_AI_API_KEY", default="")
search = DuckDuckGoSearchRun()
llm = OpenAI(temperature=0, openai_api_key=apikey)
llm_math_chain = LLMMathChain.from_llm(llm=llm, verbose=True)
tools = [
Tool(
name="Search",
func=search.run,
description="useful for when you need to answer questions about current events"
),
Tool(
name="Calculator",
func=llm_math_chain.run,
description="useful for when you need to answer questions about math"
),
]
model = ChatOpenAI(temperature=0)
planner = load_chat_planner(model)
executor = load_agent_executor(model, tools, verbose=True)
agent = PlanAndExecute(planner=planner, executor=executor, verbose=True)`
Suggestion:
No response

I can confirm I am experiencing this issue, as well.  It appears to be a bug in the OutputFixingParser- probably a circular reference.  I have not really investigated, but as a quick workaround, I have code that looks like this:
try:
    output_parser = StructuredChatOutputParserWithRetries.from_llm(llm=self.llm)
except Exception as e:
    logging.error(f"Could not create output parser: {e}")
    logging.warning("Falling back to default output parser")
    output_parser = StructuredChatOutputParserWithRetries()

The StructuredChatOutputParserWithRetries references OutputFixingParser, which is where the error seems to be.
It only occurs for me when I run in a docker container, though, never when just running from vscode debugger.

I think it use to work a few days ago, nothing special changed in my work but now it doesn't work. any ideas?

I'm in mobile, so can't investigate right now, but it's probably related to this: https://github.com/langchain-ai/langchain/pull/11092/files


Terminal chat: two primary buttons

We should imho not have 2 primary buttons in blue but just one:

@Tyriar fixed this


Only create, update, and delete BIG-IP resources that are not owned b…

…y an appService
Problem:
-Ownership of resources by appServices (iApps) was being determined from resource
names; however this was not sufficient
Solution:
-Check the 'appService' attribute of the resource objects to accurately determine
if a resource is owned by an iApp
affects-branches: master, 1.0-stable

@edarzins - do we need to change anything in the bigip-ctlr repos to pick up the new version of CCCL that has these changes?


The wrong authors/affliations are being displayed

Description
Hi,
The html versions is really a great feature of arXiv, love it!
I encountered an issue since not the correct authors are displayed in the html file of my paper but the default ones from the style file. On the other hand, in the compiled pdf there is no issue and it is correct.
Thanks!
(Optional:) Please add any files, screenshots, or other information here.

(Required) What is this issue most closely related to? Select one.
Choose One
Internal issue ID
a774ef61-4c30-4b09-b8ec-7645cbd9dd1b
Paper URL
https://services.arxiv.org/html/submission/5823992/view
Browser
Firefox/129.0
Device Type
Desktop

I already solved the problem partly by removing some unused files from the directory. The authors are now correct but still not displayed correctly seen that latex commands 'addauthors', 'addinstitution' are still visible. But this is no big problem. Main problem is solved.


[AutoPR web/resource-manager] Fix ASE instance metrics url

Created to sync https://github.com/Azure/azure-rest-api-specs/pull/2933

(message created by the CI based on PR content)


ERROR d.c.j.JMET [main] Misconfiguration: host or port

Hi ,
I am trying out your tool, not yet successful owing to the error below ERROR d.c.j.JMET [main] Misconfiguration: host or port  . I am trying our the command below against a RabbitMQ installation:
java -jar jmet-0.1.0-all.jar -u guest -pw guest -T rabbit1  -I RabbitMQ -Y CommonsCollections1 calc.exe <IP_ADDRESS> 30000 . Thanks !!

Sorry for the late answer.
Please try:
java -jar jmet-0.1.0-all.jar -u guest -pw guest -T rabbit1 -I RabbitMQ -Y calc.exe -Yp CommonsCollections1 <IP_ADDRESS> 30000


Utils::sanitizeShopDomain is not utilizing the custom $myShopifyDomain parameter

Issue summary
I am not sure if this is a bug or a feature request since it appears the code is in place to handle what we need but it is not used. We are using the Craft CMS Shopify plugin which uses this library to make API requests to Shopify stores. We are running into an issue where a shop with a custom domain results in an error.
Expected behavior
I'm not sure exactly how allowing custom domains should be implemented but I would like the ability to have the domain I supplied for the store to be passed into that second parameter or allowed in some other way.
Actual behavior
We see the following error when using our custom shop domain:

Cannot assign null to property Shopify\Auth\Session::$shop of type string
in /var/www/html/vendor/shopify/shopify-api/src/Auth/Session.php (line 33)

I noticed the Utils::sanitizeShopDomain($shop) call is not utilizing the second parameter that allows for sanitizing a custom domain.

We have run into the same issue using a custom Shopify domain.

@benjaminkohl We have run into the same issue using a custom Shopify domain. When adding the custom domain as the Hostname we get that same error and cannot access the backend.

I believe we resolved this one by setting the domain to the default [store].myshopiy.com domain. Apparently that is what needs to be used for API requests.


Fix overlap in Navbar next.frictionless.io

Overview
There's an overlap between dropdown in the navbar when more than one link is clicked.

I checked out how to get this fixed and it appears it's a bug from Vuepress itself. I created an issue on the official repo https://github.com/vuejs/vuepress/issues/2227 and asked a question on stackoverflow

I found a temporary fix for this issue and it works. While this is still a bug with vuepress having this solution works for us at the moment. https://github.com/frictionlessdata/website-v2/pull/53 @rufuspollock @lwinfree


mc: 4.8.21 -> 4.8.22

Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/mc/versions.
meta.description for mc is: '"File Manager and User Shell for the GNU Project"'.

Checks done (click to expand)

built on NixOS
/nix/store/crqgfmglyjdhsa8ymhfalb88hd4rx9f1-mc-4.8.22/bin/mcview passed the binary check.
/nix/store/crqgfmglyjdhsa8ymhfalb88hd4rx9f1-mc-4.8.22/bin/mcedit passed the binary check.
/nix/store/crqgfmglyjdhsa8ymhfalb88hd4rx9f1-mc-4.8.22/bin/mcdiff passed the binary check.
/nix/store/crqgfmglyjdhsa8ymhfalb88hd4rx9f1-mc-4.8.22/bin/mc passed the binary check.
4 of 4 passed binary check by having a zero exit code.
0 of 4 passed binary check by having the new version present in output.
found 4.8.22 with grep in /nix/store/crqgfmglyjdhsa8ymhfalb88hd4rx9f1-mc-4.8.22
directory tree listing: https://gist.github.com/ef756489cdead211cdec7bd550113fd8
du listing: https://gist.github.com/88e06b8c5df52e2cc44235be2902875e

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

4 total rebuild path(s)
1 package rebuild(s)
1 x86_64-linux rebuild(s)
1 i686-linux rebuild(s)
1 x86_64-darwin rebuild(s)
1 aarch64-linux rebuild(s)
First fifty rebuilds by attrpath
mc

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/crqgfmglyjdhsa8ymhfalb88hd4rx9f1-mc-4.8.22 \
  --option binary-caches 'https://cache.nixos.org/ https://r-ryantm.cachix.org/' \
  --option trusted-public-keys '
  r-ryantm.cachix.org-1:gkUbLkouDAyvBdpBX0JOdIiD2/DP1ldF3Z3Y6Gqcc4c=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(r-ryantm's Cachix cache is only trusted for this store-path realization.)
Or, build yourself:
nix-build -A mc https://github.com/r-ryantm/nixpkgs/archive/fd31903bc52c81b88dbd779d52cbbec3e3902161.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/crqgfmglyjdhsa8ymhfalb88hd4rx9f1-mc-4.8.22
ls -la /nix/store/crqgfmglyjdhsa8ymhfalb88hd4rx9f1-mc-4.8.22/bin

cc @svanderburg for testing.

https://midnight-commander.org/wiki/NEWS-4.8.22


Proxy DNS problem

Hello Quentin,
I'm using the container with Proxy=on for a while now, it works great but I've some problems with the DNS routing.
On my MacBook I've set the proxy settings in the advanced network settings.
When I check the connection in my browser as you described, it reports an VPN IP-address and Cloudflares DNS-addresses so everything looks fine (even when I change my DNS-address in the network settings to an not existing address). But when I change this DNS-address, my e-mail client (and some other progs) won't connect to the internet anymore.
The same problem I've with my Kodi box, with an non existing DNS-address it won't find or play anything from the internet.
kr.,
Frepke

In my opinion, the HTTP proxy does only tunnel the TCP traffic of the application connected to it. DNS resolution happens on port UDP 53 which should unfortunately not go through the http proxy. Maybe I'm wrong!

Thanks,
Is your wireguard docker a possible solution?
Kr.,
Patrick

Unfortunately Wireguard runs in the Kernel space so it's hard if not impossible to run it as a container. You could however try your way with iptables but that seems like a very complicated way.
You might have an easier path with an openvpn server container!

Unfortunately Wireguard runs in the Kernel space so it's hard if not impossible to run it as a container. You could however try your way with iptables but that seems like a very complicated way. ...

@qdm12 gonna try (again 😊).
Now the possibility exist to publish the server ports in the pia container, it's maybe possible.
Kr.,
Patrick

Maybe you could have an UDP proxy program running connected to PIA, and proxying to the host Wireguard server/interface listening port. That seems easier, although you might make it with iptables only (but no idea how yet).

Last week I've received an router firmware upgrade.
This new firmware supports DoT and DNSSEC, so I think I'm good for now.
Al DNS-requests trough DoT and al the data trough the PIA-container.
In a few weeks I receive an other router so maybe your cloudflare DNS-server is a good option.
kr.,
Frepke

You could also simply run my dns image on your server machine and point your router DNS resolver to your machine LAN IP address. This way all your traffic would go through it. It's more of a work around in your situation but it works.

Hi Quentin,
You mean you dns image as I mentioned before (cloudflare dns server)?
Kr.,
Frepke

Hi there,
I mean this image I made. The only difference is that Cloudflare will see the DNS request is coming from your actual client IP address and not from the PIA one.
On the other hand, I am seeing this answer stating that a SOCKS5 proxy could work to tunnel UDP traffic. For example, dante could work, I'll look into it soon to replace tinyproxy.

Sounds great 😊

Hi Frepke,
I just added support for Shadowsocks which seems to tunnel both UDP and TCP. It should also tunnel DNS queries (as it complained about some domains so it probably does!).
It's also better than tinyproxy as:

there are Shadowsocks clients on all platforms
you can either proxy your whole system or just an app

You could also support multiple ports with different passwords to access it, if you have multiple users but it seems a bit out of scope for now.
Let me know if it works on ARM !
Thank you for your patience.

Thanks Quentin,
There it is, I'll try it asap and let you know the result.
Kr.,
Patrick

Hello Quentin,
The container is running on my ARM device. Unfortunately the DNSSEC test fails.
I've DOT=on, but the DNS is OpenDNS :(
kr.,
Frepke

Did you publish the UDP port 8388 as well?
On your client, did you enable the Send DNS over UDP with the remote DNS as <IP_ADDRESS>? (Yes I should specify this in the readme...)
The Android client supports this for example, although some other clients don't. How do you test the DNSSEC?
Thanks!

Yes I published UDP port 8388.
I didn't enable the Send DNS over UDP on the client (don't know where to enable, I'm using the Outline client on Mac and iPhone).
DNSSEC validation: https://www.internet.nl/connection/

Nice website! I'll add it to the readme.
Ok so it's a client issue.
On my Windows desktop, I have tried with shadowsocks-win and the DNSSEC fails so it does not tunnel UDP nor DNS requests.
On the other hand, on my Android phone, using Shadowsocks by Max Lv (official one), there is the DNS tunneling option and the DNSSEC test works. So I'm happy it works although you should test it with another client and I have no idea which ones support DNS tunneling unfortunately.


vscode: add debugging support (codelldb)

cf. https://github.com/NixOS/nixpkgs/tree/d600f006643e074c2ef1d72e462e218b647a096c/pkgs/misc/vscode-extensions/vscode-lldb

I think this is already being built inside of vscode-lldb. I would like it extracted, too, it seems like Helix can use it now?

It doesn't work for me though:
vscode-extensions.vadimcn.vscode-lldb.adapter ->
> codelldb

Error: "\"/nix/store/rnqda0vmhg95ziahvl7r6y10x4xk1y6z-vscode-lldb-adapter-1.6.10/lldb/lib/liblldb.so: cannot open shared object file: No such file or directory\""

https://github.com/NixOS/nixpkgs/issues/160874

This should probably be done in https://github.com/yusdacra/nix-cargo-integration (which this template uses as of today)


Use (default) stencil join

This currently does not pass the tests, because we're still providing our own join filter.


Complete writer based on examined instead of consumed?

I have created a Pipe setting MaximumSize{Low,Heigh} to 1 to minimize the buffering.
When I read the data I want to do something after I have sufficient bytes:
while (true)
{
    var input = await reader.ReadAsync();
    // check completed, etc.
    if (input.Length < MinExpected)
    {
        reader.Advance(consumed: input.Start, examined: input.End);
        continue;
    }
    // use data
    reader.Advance(consumed: input.End, examined: input.End);
}

When the read returns less than MinExpected, the code deadlocks. Currently the completion of the writer is based on the consumed data. This would work if it was based on the examined data.

When the read returns less than MinExpected, the code deadlocks. Currently the completion of the writer is based on the consumed data.

What do you mean the code "dead locks" you just mean the awaitable isn't complete right?

What do you mean the code "dead locks" you just mean the awaitable isn't complete right?

The reader is waiting on ReadAsync.
The writer is waiting on FlushAsync.

Repro:
using System.IO.Pipelines;
using System.Threading.Tasks;

namespace ConsoleApplication
{
    public class Program
    {
        public static void Main(string[] args)
        {
            var pipeFactory = new PipeFactory();
            var pipe = pipeFactory.Create(new PipeOptions() { MaximumSizeHigh = 1, MaximumSizeLow = 1 });
            Task.WaitAll(new[] { WriteToPipe(pipe.Writer), ReadFromPipe(pipe.Reader) });
        }

        public static async Task WriteToPipe(IPipeWriter writer)
        {
            while (true)
            {
                var buffer = writer.Alloc(1);
                buffer.Ensure(1);
                buffer.Advance(1);
                System.Console.WriteLine("Awaiting Flush");
                await buffer.FlushAsync();
                System.Console.WriteLine("-> Flush returns");
            }
        }

        public static async Task ReadFromPipe(IPipeReader reader)
        {
            while (true)
            {
                System.Console.WriteLine("Awaiting Read");
                var rb = await reader.ReadAsync();
                var buffer = rb.Buffer;
                System.Console.WriteLine("-> Read returns");
                if (buffer.Length < 5)
                {
                    reader.Advance(consumed: buffer.Start, examined: buffer.End);
                    continue;
                }
                System.Console.WriteLine($"{buffer.Length} bytes available");
                reader.Advance(buffer.End);
            }
        }
    }
}

Outputs:
Awaiting Flush
Awaiting Read
-> Read returns
Awaiting Read

The situation occurs when the application expects the Pipe to buffer an amount which is more than the PipeOptions configuration.

Ah! That's a good one.
/cc @pakrym @halter73

Kestrel guards against things like max start line size and buffer size exceeding the the configured request buffer size passed to the pipe.
There are security implications. If the consumer of the pipe isn't already configured not to examine without consuming more than the max buffer size, there's a very good chance that the consumer could be forced to examine an unlimited number of bytes given an adversarial producer.
The way Pipes are designed today, you can be confident that the max buffer size is truly the max size.

the consumer could be forced to examine an unlimited number of bytes given an adversarial producer.

The producer cannot force this. The consumer controls how much is buffered and when new data comes in. If he buffers and doesn't check a max before fetching more data, there is something wrong with the consumer.
This maximum depends on the thing the consumer is parsing. The current design requires the pipeline to be configured to the max of the maxes. If you don't get this right, you end up in the ReadAsync-FlushAsync deadlock.
If this maximum would not be enforced by the pipeline but was still desired to handle rogue consumers, it can be enforced after the call to ReadAsync.
I had the impression the PipeOption configuration was independent of the application based on the Transport abstraction described for Kestrel. The current design suggest the PipeOptions come from the Transport which would not know about the max for the Kestrel parsing.

I think some confusion is around which side is responsible for what. In a traditional streams arrangement I get the consumer is responsible for how much it pulls.
However the original design is around the producer pushing and the consumer dealing with that. I tend to think that it's not clear what is "right" here and the implications for stability but also security need to be considered.

I had the impression the PipeOption configuration was independent of the application based on the Transport abstraction described for Kestrel. The current design suggest the PipeOptions come from the Transport which would not know about the max for the Kestrel parsing.

The design pipe options design will need to be tweaked a bit as there are parts of it that belong to the transport and parts that belong to the application.

The design pipe options design will need to be tweaked a bit as there are parts of it that belong to the transport and parts that belong to the application.

For the MaximumSize{Low,Heigh} it makes sense for me to decouple this from the application. That is, these options control the pre-fetching in the pipeline, but do not enforce a limit on the length. Meaning any application can set these to 1 to do minimal fetching and only fetch more when a specific step in the parsing requires it.

I never said it should be decoupled from the application (actually it won't be). The change will likely be that we don't pass an entire pipe options from the transport to kestrel, but a more specialized options that have things relevant to the transport.

I never said it should be decoupled from the application

I said that and I am trying to explain why that makes sense.

(actually it won't be).

Why does that make sense?

Because we will eventually expose the pipe directly to application code and the limits will apply.

I am proposing something else and providing a motivation. It isn't considered because something else is planned. Something else is planned isn't a motivation.
If the reason for the current design is to be able to enforce a maximum on the buffering, I argue that that maximum can be enforced by the application if the application doesn't trust it's consumers or it wants to be extra safe. Perhaps there are other reasons?
If the PipeOptions can work independent of the application, the developer doesn't need to figure out what is the minimal appropriate value for MaximumSizeLow.
If the design remains as is, the above case should be detected and not cause the reader and writer to wait for each other.

If the design remains as is, the above case should be detected and not cause the reader and writer to wait for each other.

We can try to detect this case and throw.

I have been pondering about this for a bit. MaximumSize{Low,High} control both pre-fetching and enforce maximum length, maybe it is good to decouple them?
{ MaxSizeLow = 1k, MaxSizeHigh = 10k, MaxLength = 1M }
The writer throws when the pipelength exceeds MaxLength.
The flushasync awaits when MaxSizeHigh is reached and continues when reader has MaxSizeLow unexamined.
MaxLength is application dependent.
MaxSize{Low,High} are prefetch control to be fine-tuned based on the consumer,reader.
With the current design, MaxSizeLow must be in the range [protocolcte, MaxSizeHigh] and MaxSizeHigh = MaxLength.

This leaves little control over prefetching.

That is: prefetching can't be limited to a single buffer and it is fetching up to MaxLength.

I'd like to be able to set MaxSizeLow = 1, MaxSizeHigh = 1 to minimize buffering and avoid starting receive operations until the application needs them.

@pakrym Please take a look.

We added a check to verify pipe never becomes 'deadlocked' in https://github.com/dotnet/corefxlab/pull/1470

@muratg @davidfowl @pakrym The request made here should be given some thought. The deadlock fix keeps things as-is.
This means using MaxSizeLow, MaxSizeHigh to control prefetching (PR: https://github.com/dotnet/corefxlab/pull/1359).
And defer the length check to the application. For Kestrel this would be some code at ParseRequest like:
if (result.Buffer.Length > ServerOptions.Limits.MaxRequestBufferSize)
{
   throw new InvalidOperationException("Request exceeds MaxRequestBufferSize");
}

That doesn't seem out of place. Other ServerLimits are also checked there.
The exception would also be easier to understand than Advancing examined to the end would cause pipe to deadlock because FlushAsync is waiting.

@tmds This isn't going to be fixed for 2.0.0. It's something we can consider post that timeline.


Add reflection-metadata for Lambda Function URL

Issue #, if available:
When I deployed the serverless-java-container for a Spring Boot 3 application with Java 21 compiled with GraalVM Native Image I got exceptions in the following format when requesting AWS Lambda by Function URL:
ERROR 10 --- [pool-5-thread-1] s.p.s.AwsSpringWebCustomRuntimeEventLoop : java.lang.IllegalStateException: com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Class com.amazonaws.serverless.proxy.model.HttpApiV2AuthorizerMap$HttpApiV2AuthorizerDeserializer has no default (no arg) constructor
at [Source: REDACTED (`StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION` disabled); line: 1, column: 1]

Description of changes:
Added required GraalVM reflection metadata to resolve exceptions.
By submitting this pull request

[x] I confirm that my contribution is made under the terms of the Apache 2.0 license.
[x] I confirm that I've made a best effort attempt to update all relevant documentation.

Hey Johannes,
thanks for your reporting this issue. Instead of metadata files the relevant configs are in: https://github.com/aws/serverless-java-container/blob/main/aws-serverless-java-container-springboot3/src/main/java/com/amazonaws/serverless/proxy/spring/AwsSpringAotTypesProcessor.java
@maschnetwork volunteered to fix it.

fixed in #919, will be part of next release


Can not lock method returning value

Which version do you use: 4.0.1
Which Lock Provider: JdbcTemplate
ShedLock configuration:

    @Scheduled(fixedDelayString = "PT5M")
    @SchedulerLock(name = "reportBugIssueTask", lockAtMostForString = "PT10M")

ShedLock logs

net.javacrumbs.shedlock.spring.aop.LockingNotSupportedException: Can not lock method returning value (do not know what to return if it's locked)
	at net.javacrumbs.shedlock.spring.aop.MethodProxyScheduledLockAdvisor$LockingInterceptor.invoke(MethodProxyScheduledLockAdvisor.java:66)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:747)
	at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:93)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:747)
	at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:689)
	at jdk.internal.reflect.GeneratedMethodAccessor868.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.base/java.lang.reflect.Method.invoke(Unknown Source)
	at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:84)
	at org.springframework.cloud.sleuth.instrument.async.TraceRunnable.run(TraceRunnable.java:67)
	at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
	at java.base/java.util.concurrent.FutureTask.runAndReset(Unknown Source)
	at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.base/java.lang.Thread.run(Unknown Source)

Actual behavior
I have upgraded from 3.0.1 to 4.0.1 and after that I keep getting the above error.

Thanks for feedback. Version 4.0.0 switched the default intercept mode to AOP proxy which does not support return values. You can switch back to previous behavior (PROXY_SCHEDULER mode) as described here https://github.com/lukas-krecan/ShedLock#taskscheduler-proxy

Got it.
Thanks for the quick reply on this.


How to preview during development?

Sorry for lot of probably stupid questions :)
But i am still can't really understand UI developing workflow, i know where i need to do changes to contribute, but how can i preview/see them? Or is it supposed to also have running Kitchen Sink, but in this case i need to make changes there and then copy it here? Anyway, how do you do that? :relaxed:

No worries! This is something I should've done sooner. I've added a contributing section to the readme that should help with this:
https://github.com/reapp/reapp-ui#contributing

Let me know if you have any more questions

Yep, that what i was looking for, thanks! :+1:


Switch to aggressive fan policy once CAN messages are seen

My car also has a ton of CAN messages offroad, so not sure if this is something we want

I think approaching your car with your key can also cause some CAN messages to be sent around. It could also be just the lux sensor which is worse if light around is changing (car turns inside lights on when approaching).

Closing, but definitely open to ideas here and want to explore this more.


DIscord request

What is your username and discriminator?
Twisterzz#6332
Why did you join Discord Linux?
Support and to learn.
Where did you hear about Discord Linux?
discord.me
What is the passphrase that was assigned to you by the bot?
279891395689316353

From Ethan Weegee#9302 :
The passphrase you have entered is not correct.  Please check the message that mentions you in the welcome channel to find your passphrase.

The passphrase is in the link
write.as/passphrase.md

From simonizor#0420 :
No... no it's not.

Also closing this as it has been more than 24 hours.


using animatediff in image from internet

Hi, thank you for this work it's amazing
Is it possible to start with an init image not generated from Stable diffusion?
if yes how can we set the base model

If it's possible, the model must be sd origin model(1.4 1.5 2.1 etc.), but AnimateDiff seems like working badly on origin sd model, the reason maybe training policy.


Update supply to promote version codes correctly

This PR fixes a minor bug in Supply for promoting tracks with multiple APKs.
Checklist

[ X ] I've run bundle exec rspec from the root directory to see all new and existing tests pass
[ X ] I've followed the fastlane code style and run bundle exec rubocop -a to ensure the code style is valid
[ X ] I've read the Contribution Guidelines
[ X ] I've updated the documentation if necessary.

Description
As previously written, supply was promoting each version code in the original track separately. The result was that only the highest version code ended up in the destination track. This PR tweaks the logic such that all the previous version codes are uploaded at once, ensuring that they all end up in the new track.
Motivation and Context
To test this change, I used this version on my app to promote from Alpha to Beta. With the prior version, only one of my APKs ended up in the beta channel. With this version, they all do.

Note: this PR should fix https://github.com/fastlane/fastlane/issues/8555

Signed the CLA. :-)

@tmtrademarked thanks for putting this together 👍  I'm going to give this a try, and then hopefully we can get it in 🚀

I reproduced the problem with the current release, and was able to verify that your PR gets multiple versions promoted together 👍

Thanks!


added some french translations

Hi 👋🏼
I added my contribution to French translation but couldn't do much as it was already quite finished !
I just could end the Android translation to 100% (with one translation) and tried to reduce length of the Android (Fastlane) translation that needed editing but it's still too long for the max length.
No way to go under as original text seems too long too 🙈

I guess there's indeed not a lot you can do for French anymore yeah. Perhaps you could leave out some less important things in https://hosted.weblate.org/translate/catima/fastlane/fr/?checksum=506009ec08067528 to get the translation below the max limit like:

Remove the URLs
Simplify "Make it possible to enable or disable the flashlight while scanning" to something like "Support toggling flashlight"
Simplify "Support adding a front and back photo to each card" to something like "Add photos to cards"
Simplify "Fix useless whitespace in notes from Fidme import" to something like "Ignore whitespace in Fidme import" or even "Improve Fidme import"
Simplify "Fix Floating Action Buttons being behind other UI elements on Android 4" to something like "Fix some button foreground issues on Android 4"
Simplify "Fix loyalty card viewer appbar top margin" to something like "Card view layout fixes"

All those should still be correct as to what changed that release. Maybe we can get it below 500 then, would be cool if Fastlane can really be 100% correct for French within the app store limits :)
I also see the "Android (Debug)" component for French hasn't been done yet, see https://hosted.weblate.org/projects/catima/-/fr/. You can press the "+" next to "Android (Debug)" to create that component, it only contains one string.
With those things we could truly hit 100% French completion, maybe worth looking at? :)
Thank you!

Great ! Thank you very much for those ideas. I'll take a look tomorrow

I applied your advices and now French translation is totally100% 🎉

So great to see that checkmark :D
Thanks!


setup tooltip close on clickaway

#74 - click-to-open tooltip in auth setup step-2 swapped out for a popover that closes on click away

Doesn't this make it impossible to click the More info link?  I made the trigger click so that you could get over to that and click it

It's click-to-open and it stays open until the user clicks elsewhere on the page, so the link inside is still easily clickable.


Feature Request: option to produce the days 'day planner' 24 hours in advance

I love this Day Planner plug in.   One thing that would improve my workflow is if the day planner was created automatically for the next day each day.  This would enable me to plan tomorrow during today (typically I try to do this as my last workday task each day so I can hit the ground running next morning).

Bump on this feature. I also plan days the night before. Has anyone looked into doing this? I might try to figure it out if I can find the time later.

Related feature request: https://github.com/lynchjames/obsidian-day-planner/issues/75

Handled in 0.7.0.


list icon allows user only to show the list , but not to make it disappear

Summary:
I expected that by pressing the icon the list of nearby places will appear and if I will press this icon again the list will disappear. However, once the list appears future pressing on this icon will do nothing.
Steps to reproduce:

Download the (Beta) app from the Play Store
Go to Nearby
Press the icon for viewing the list

Expected behavior:
I expected that by pressing the icon the list of nearby places will appear and if I will press this icon again the list will disappear.
Observed behavior:
I can press the icon for showing the list of nearby places, but once the list appears future pressing on this icon will do nothing. I was confused about how I can get rid of the list and go back to the full-screen map. It is not intuitively obvious to a user, that we need to slide the list downward in order to get rid of it. I think that it would be better if we will also add the icon feature that will allow a user not only to show the list but also to make it disappear.
Device: Sony Xperia XA Ultra
Android version: 7.0
Commons app version: 2.7.0
Screen-shots:

Would you like to work on the issue?
No, I am a Tester

I start working on this with @gshrock

@dinaraassan actually it wasn't a bug, it was a feature:) you can always swipe down the list. Do you still think a button is needed to hide the list? If so I will test and merge @brok85 's PR.

@neslihanturan Yeah, I understood that it is a feature, but still, I think that it would be better if we will have the additional way to close the list just by pressing the icon.  I already explained the reason in the description of the issue. It is not obvious that we can swipe down the list. Users will press the icon intuitively again in order to close the list and hence, will be confused if it will not work.  I mean, can we have two ways of closing the list instead of one?

I agree with @dinaraassan that it would be good if tapping the list button again when the list is up could close it. :) If it isn't too much trouble, anyway.


Forgot password - Error Message

User Story:
As a….Person using a screen reader navigating the “forgot password” flow
I want…Error messages to be informative
So that…I can understand what to fix if I enter one of the fields incorrectly
Additional detail:

These changes should be made on Desktop and Mobile
To reproduce this, navigate to the "forgot password" flow, and type in an email that is not associated with an account. You'll see that the current error text is too generic – it reads “something went wrong” instead of “invalid email” when the user enters an incorrect email address. The screen reader focus is not automatically placed back in the “Email” field.

Notes:
This error was left generic intentionally because of security. We should mimic the HBA behavior where a notification pops “If there is an account made with that email, you'll receive an email with a link to reset your password.”
Verify that alert box is using aria-live in this implementation so focus is reset but alert is read first.
Core PR: https://github.com/bloom-housing/bloom/pull/3202/files#diff-cde24706a01d37103bb98ddeda94d80c7bcbe67add6e13887451e2d6cf01817a
Design Asset Documentation:
Required (Y/N) No
Technical Notes Link:
Change to UI components? (Y/N)
Acceptance criteria:
When email is entered on the forgot password flow, a notification pops up and says “If there is an account made with that email, you'll receive an email with a link to reset your password.”
When email is entered on the forgot password flow, the screen reader focus is reset due to the page change.
QA review instructions:
Start here: https://detroit-public-dev.netlify.app/forgot-password

Submit an email that exists in the db<EMAIL_ADDRESS>Verify that the UX reflects the AC above.
Click "Forgot Password?"
Submit an email that doesn't exist in the db<EMAIL_ADDRESS>Ensure the UX is the same
Repeat steps 1-5 for https://detroit-partners-dev.netlify.app/forgot-password

@ColinBuyck  -- see translations below.
Translations:
English: If there is an account made with that email, you'll receive an email with a link to reset your password
Spanish: Si hay una cuenta creada con ese correo electrónico, recibirá un correo electrónico con un enlace para restablecer su contraseña
Arabic: إذا كان هناك حساب تم إنشاؤه باستخدام هذا البريد الإلكتروني ، فستتلقى بريدًا إلكترونيًا به ارتباط لإعادة تعيين كلمة المرور الخاصة بك
Bengali: যদি সেই ইমেল দিয়ে একটি অ্যাকাউন্ট তৈরি করা হয়, তাহলে আপনি আপনার পাসওয়ার্ড রিসেট করার জন্য একটি লিঙ্ক সহ একটি ইমেল পাবেন৷


Fix not-interactive warning for mill console

Currently, if I run mill foo.console without the --interactive flag, I get a warning and then a nonfunctional REPL:
WARNING: Unable to create a system terminal, creating a dumb terminal (enable debug logging for more information)

scala> // does not respond to input

This PR just changes the test for interactivity in the console command to one that seems to work (at least in my environment). When console is invoked without the --interactive flag, the intended warning is emitted and the command fails:
main.console console needs to be run with the -i/--interactive flag

(mill -i foo.console works with or without this PR. This just restores the warning.)

(I am sorry I keep flaking on the reformat! Thanks for taking care of it.)


presence update

it should only be performed when starting or closing the app. Also in ChatFragment the 't presenceChanged receiver doesn't receive anything.

the second bug does not exists and the first one should be fixed


Prod build for handbook

Purpose

Summary of Changes

Side Effects

Feature Flags

QA Notes

Ticket

https://openscience.atlassian.net/browse/EMB-
Reviewer Checklist

[ ] meets requirements
[ ] easy to understand
[ ] DRY
[ ] testable and includes test(s)
[ ] changes described in CHANGELOG.md

Pull Request Test Coverage Report for Build 2441

5 of 5 (100.0%)  changed or added relevant lines in 1 file are covered.
2 unchanged lines in 1 file lost coverage.
Overall coverage increased (+0.002%) to 69.39%

Files with Coverage Reduction
New Missed Lines
%

app/services/analytics.ts
2
87.1%

Totals

Change from base Build 2437:
0.002%

Covered Lines:
5191

Relevant Lines:
6794

💛  - Coveralls


Need to reload date board next day

as if cards move between columns due to a change in the day their contents are blank when they are in the new column

Hi bro, thanks for you developing this plugin, there is an issues that need to be solved, the future card is not correctly recognized when the due date of a task crosses the year

@ty-lab -> I've added a separate card for the issue you raised: #188

@ty-lab -> my assumption here is that this is an issue of what is displayed on a card rather than with ifcards appear in columns or not.  My fix is to show the date on the card if it is not in the current year:

This will be in the next release (which will close this issue).  If this isn't what you meant, it would be really handy if you add a comment on #188 to explain.
Many thanks

...and released - 0.7.6


ryujinx: 1.1.373 -> 1.1.488

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for ryujinx is: "Experimental Nintendo Switch Emulator written in C#"
meta.homepage for ryujinx is: "https://ryujinx.org/"
meta.changelog for ryujinx is: "https://github.com/Ryujinx/Ryujinx/wiki/Changelog"
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 1.1.476 with grep in /nix/store/cy19gwig1fvlvhrk4g9xi0712xsqvdfx-ryujinx-1.1.476
found 1.1.476 in filename of file in /nix/store/cy19gwig1fvlvhrk4g9xi0712xsqvdfx-ryujinx-1.1.476

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

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
ryujinx

Instructions to test this update (click to expand)

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

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

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/cy19gwig1fvlvhrk4g9xi0712xsqvdfx-ryujinx-1.1.476
ls -la /nix/store/cy19gwig1fvlvhrk4g9xi0712xsqvdfx-ryujinx-1.1.476/bin

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

1 package built:

ryujinx

Maintainer pings
cc @IvarWithoutBones @06kellyjac for testing.

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for ryujinx is: "Experimental Nintendo Switch Emulator written in C#"
meta.homepage for ryujinx is: "https://ryujinx.org/"
meta.changelog for ryujinx is: "https://github.com/Ryujinx/Ryujinx/wiki/Changelog"
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 1.1.477 with grep in /nix/store/a90mha6k5g4p7fvh7v4qvfannmzxffv1-ryujinx-1.1.477
found 1.1.477 in filename of file in /nix/store/a90mha6k5g4p7fvh7v4qvfannmzxffv1-ryujinx-1.1.477

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

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
ryujinx

Instructions to test this update (click to expand)

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

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

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/a90mha6k5g4p7fvh7v4qvfannmzxffv1-ryujinx-1.1.477
ls -la /nix/store/a90mha6k5g4p7fvh7v4qvfannmzxffv1-ryujinx-1.1.477/bin

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

1 package built:

ryujinx

Maintainer pings
cc @IvarWithoutBones @06kellyjac for testing.

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for ryujinx is: "Experimental Nintendo Switch Emulator written in C#"
meta.homepage for ryujinx is: "https://ryujinx.org/"
meta.changelog for ryujinx is: "https://github.com/Ryujinx/Ryujinx/wiki/Changelog"
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 1.1.488 with grep in /nix/store/jpqj36cw7905flh82bh1j5lrjk18l3rj-ryujinx-1.1.488
found 1.1.488 in filename of file in /nix/store/jpqj36cw7905flh82bh1j5lrjk18l3rj-ryujinx-1.1.488

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

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
ryujinx

Instructions to test this update (click to expand)

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

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

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/jpqj36cw7905flh82bh1j5lrjk18l3rj-ryujinx-1.1.488
ls -la /nix/store/jpqj36cw7905flh82bh1j5lrjk18l3rj-ryujinx-1.1.488/bin

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

1 package built:

ryujinx

Maintainer pings
cc @IvarWithoutBones @06kellyjac for testing.

Tested Pokémon Sword.

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for ryujinx is: "Experimental Nintendo Switch Emulator written in C#"
meta.homepage for ryujinx is: "https://ryujinx.org/"
meta.changelog for ryujinx is: "https://github.com/Ryujinx/Ryujinx/wiki/Changelog"
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 1.1.489 with grep in /nix/store/v8ak4cycglg7v6c4zkihjnhz0dvi41p1-ryujinx-1.1.489
found 1.1.489 in filename of file in /nix/store/v8ak4cycglg7v6c4zkihjnhz0dvi41p1-ryujinx-1.1.489

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

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
ryujinx

Instructions to test this update (click to expand)

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

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

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/v8ak4cycglg7v6c4zkihjnhz0dvi41p1-ryujinx-1.1.489
ls -la /nix/store/v8ak4cycglg7v6c4zkihjnhz0dvi41p1-ryujinx-1.1.489/bin

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

1 package built:

ryujinx

Maintainer pings
cc @IvarWithoutBones @06kellyjac for testing.


Add relative option

It would be handy to allow to recreate the entire directory branch relative to some given root (this is possible using rsync). Currently you can get that in linux using something like $(realpath --relative-to $base_path $path) as rclone argument.
For example, if pwd = a/b, copying c/d/e relative to a should create b/c/d/e at the target fs, not only e.

I see... I presume you are talking about this rsync option?
   -R, --relative
          Use  relative  paths. This means that the full path names speci‐
          fied on the command line are sent to the server rather than just
          the  last  parts  of  the filenames. This is particularly useful
          when you want to send several different directories at the  same
          time. For example, if you used this command:

             rsync -av /foo/bar/baz.c remote:/tmp/

          ...  this would create a file named baz.c in /tmp/ on the remote
          machine. If instead you used

             rsync -avR /foo/bar/baz.c remote:/tmp/

          then a file named /tmp/foo/bar/baz.c would  be  created  on  the
          remote machine, preserving its full path.  These extra path ele‐
          ments are called "implied directories" (i.e. the "foo"  and  the
          "foo/bar" directories in the above example).

Yes, that's the option I was referring to.

@ncw is this still a possibly upcoming feature or the idea is dropped?

Hmm, in sync/copy/move what we'd have to do is read the Root if the source and add it onto the destination. So probably not too difficult if someone wants to have a go.

Let's not touch rclone sync but add this to new rclone rsync https://github.com/rclone/rclone/issues/4776 🍻


illegal header name from httparse

Why do we have this defined as a panic?
https://github.com/hyperium/hyper/blob/dbea7716f157896bf7d2d417be7b4e382e7dc34f/src/proto/h1/role.rs#L36
https://github.com/hyperium/hyper/blob/dbea7716f157896bf7d2d417be7b4e382e7dc34f/src/proto/h1/role.rs#L47
https://github.com/hyperium/hyper/blob/dbea7716f157896bf7d2d417be7b4e382e7dc34f/src/proto/h1/role.rs#L60
Even if under debug_assertions this library has no right to panic as it's completely normal for it to be used on invalid input(I use it in a broad web crawler and web is full of surprises - good and bad). It should always simply return an error back to the user if anything bad happened
as I understand it panics are reserved for unrecoverable errors, and because this is a library it has no right to panic and crash client code... Error "unrecoverability" is completely at library's user discretion

I'm also not quite sure how to disable this, I'm still getting
thread 'tokio-runtime-worker' panicked at 'illegal header name from httparse: [51, 48, 50, 10, 83, 116, 97, 116, 117, 115]', /home/dev/.cargo/registry/src/github.com-1ecc6299db9ec823/hyper-0.14.7/src/proto/h1/role.rs:951:28
after putting
[profile.dev]
panic = "abort"
debug-assertions = false

[profile.release]
panic = "abort"
debug-assertions = false
opt-level = 3

into my Cargo.toml
any advice?

Hm... having a problem with fork + clone approach
My steps

git clone https://github.com/hyperium/hyper (or fork)
cd hyper && git checkout tags/v0.14.7
do edits
add dependency to a local version of hyper via path

Now I have weird compillation errors because it seems like some other libraries I use depend on hyper too and there is some sort of conflict, but I do not understand why
before doing a specific version checkout via git I looked at Cargo.lock and I checkout the exact version my project was using...
Any advice on how to properly fork and fix locally?

Okay, adding
[patch.crates-io]
hyper = { path = "../hyper" }

to the my program's Cargo.toml and bumping version in the cloned hyper seems to fixed an issue and I now able to compile using local Hyper, yay
what I'm a bit confused about is why did I have to put this into the program(which is not even directly dependant on Hyper) instead of putting it in another crate I use which in turn uses Hyper(if I do this it still uses hyper from crates.io)...

Hard to say specifically which crates causes it, but it's probably becomes some crate reexports something that results in two versions of the same crate being pulled in.

It just seems you cannot simply replace external dependency by cloning it and specifying a local path, because there could be other packages depending on it and they will pull unmodified version
So it's necessary to use this [patch.crates-io] section in the root...
Let's get back on track on what would be the best way to fix the panic issue in tokio, right now I did some dirty fix in my fork but it's bad... I simply create "invalid_header" from a static string when it cannot parse it - enough for my use case, but we need a better solution for the library(most likely need to propogate error back to the user)

If this report is correct, this needs a CVE and an immediate fix. This is a trivial DoS vector with extreme ease of execution. I am stunned that this issue remains open and ignored.

Some actual code that reproduces the issue would be helpful.
I believe the logic panics because it expects the logic in the http crate to agree with the logic in the httparse crate with respect to valid syntax.

Some actual code that reproduces the issue would be helpful.
I believe the logic panics because it expects the logic in the http crate to agree with the logic in the httparse crate with respect to valid syntax.

The reproduction is in the panic message, which contains the header name sent:

thread 'tokio-runtime-worker' panicked at 'illegal header name from httparse: [51, 48, 50, 10, 83, 116, 97, 116, 117, 115]'

Then it seems like this is a bug in httparse somehow producing a "header name" of 302\nStatus.

If this report is correct, this needs a CVE and an immediate fix. This is a trivial DoS vector with extreme ease of execution. I am stunned that this issue remains open and ignored.

I'm not sure this is applicable to hyper http server, I noticed this issue when using hyper's http client on a broad spectrum of inputs

as I understand it panics are reserved for unrecoverable errors, and because this is a library it has no right to panic and crash client code... Error "unrecoverability" is completely at library's user discretion

It was not supposed to happen ever, that's why it's a panic.

@let4be Could you give us some code to repro the issue? Maybe the HTTP message that was parsed? That would be helpful.

What if,,, this is a case of noalias causing miscompilations?

@seanmonstar What is your stance on issuing a CVE? Do you understand the security implications of this bug?


Fix remote DEV mode relative path in POM file

Summary
fixes: https://github.com/quarkus-qe/quarkus-test-framework/issues/800
The skip for the checkstyle was added here https://github.com/quarkus-qe/quarkus-test-framework/pull/798.
Please check the relevant options

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Dependency update
[ ] Refactoring
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] This change requires a documentation update
[ ] This change requires execution against OCP (use run tests phrase in comment)

Checklist:

[x] Example scenarios has been updated / added
[x] Methods and classes used in PR scenarios are meaningful
[x] Commits are well encapsulated and follow the best practices

Can one of the admins verify this patch?


Streamline dependency pinning and update poetry.lock

Update poetry.lock
Streamline poetry.lock, requirements-dev.txt, and requirements.txt generation

Feel free to regenerate the poetry.lock and requirements*.txt. :-)

Looks like a very opinionated way to express dependencies. I'm actually quite happy with how it is now. For example, i do not want versions in my requirements.txt as long as i do not pin them there manually. If i want a lock-file for bare pip, i would use a constraints.txt (with the -c option of pip).


APEXMALHAR-2544 Flume test synchronization bug.

@PramodSSImmaneni  - I am planning to merge this in the next few hours ..

@tweise  - I am not able to close the Open JIRA .. Could you please give me permissions to close this ticket in JIRA.

@ananthc thanks for merging.
JIRA should be resolved, not closed. I will check if you are added as committer in JIRA.
Also, please see contributor guidelines for merging PRs:

Use the github rebase and merge option or the git command line to merge the pull request (see link view command line options on the PR).


sql/sem/builtins: Add bit_and and bit_or.

PR: https://github.com/cockroachdb/cockroach/pull/41334
From release notes:

Added support for bit_and() and bit_or() aggregate functions. [#41334][#41334] {% comment %}doc{% endcomment %}

Docs already up to date.


NLua.Exceptions.LuaScriptException [Issue when setting Battle wild pokemon in HG/SS]

Just by checking "defeat non-targets" the following shows up in the lua console, and the script stops. Everything else works fine but this, doesn't. Is it me? Is it a HG/SS issue?
NLua.Exceptions.LuaScriptException: lua\methods\gen_iv.lua:315: attempt to perform arithmetic on a nil value (field 'current_pokemon')

I don't know if it's related but when I go dev mode, it gives me extra info in the Lua output, and after starting any battle I get:

Party checksum failed at slot 0,1 and 3"


Error when using EFCoreSecondLevelCacheInterceptor

Summary of the issue
When adding the EF Cache Interceptor and using EF commands, I get this error:
Unable to resolve service for type 'EFCoreSecondLevelCacheInterceptor.IDbCommandInterceptorProcessor'
The DB has been configured and if I remove the "AddInterceptor" line all works.
What could be the reason for this error?
Environment
.NET Core SDK version: 3.1
Microsoft.EntityFrameworkCore version: 3.1.3
EFCoreSecondLevelCacheInterceptor version:  1.3.4

Example code/Steps to reproduce:
            var optionsBuilder = new DbContextOptionsBuilder<IdentityDbContext>();
            optionsBuilder.UseNpgsql(((IDbConfiguration) sp.GetService(typeof(IDbConfiguration))).ConnectionString);
            optionsBuilder.AddInterceptors(new SecondLevelCacheInterceptor());

Output:
Exception message:
Full Stack trace:
 Unable to resolve service for type 'EFCoreSecondLevelCacheInterceptor.IDbCommandInterceptorProcessor'. This is often because no database provider has been configured for this DbContext. A provider can be configured by overriding the DbContext.OnConfiguring method or by using AddDbContext on the application service provider. If AddDbContext is used, then also ensure that your DbContext type accepts a DbContextOptions<TContext> object in its constructor and passes it to the base constructor for DbContext.
   at Microsoft.EntityFrameworkCore.Infrastructure.Internal.InfrastructureExtensions.GetService[TService](IInfrastructure`1 accessor)
   at Microsoft.EntityFrameworkCore.Infrastructure.AccessorExtensions.GetService[TService](IInfrastructure`1 accessor)
   at EFCoreSecondLevelCacheInterceptor.SecondLevelCacheInterceptor.getProcessor(DbContext context)
   at EFCoreSecondLevelCacheInterceptor.SecondLevelCacheInterceptor.ReaderExecutingAsync(DbCommand command, CommandEventData eventData, InterceptionResult`1 result, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.Diagnostics.RelationalLoggerExtensions.CommandReaderExecutingAsync(IDiagnosticsLogger`1 diagnostics, IRelationalConnection connection, DbCommand command, DbContext context, Guid commandId, Guid connectionId, DateTimeOffset startTime, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReaderAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReaderAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReaderAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable`1.AsyncEnumerator.InitializeReaderAsync(DbContext _, Boolean result, CancellationToken cancellationToken)
   at Npgsql.EntityFrameworkCore.PostgreSQL.Storage.Internal.NpgsqlExecutionStrategy.ExecuteAsync[TState,TResult](TState state, Func`4 operation, Func`4 verifySucceeded, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable`1.AsyncEnumerator.MoveNextAsync()
   at Microsoft.EntityFrameworkCore.Query.ShapedQueryCompilingExpressionVisitor.SingleOrDefaultAsync[TSource](IAsyncEnumerable`1 asyncEnumerable, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.Query.ShapedQueryCompilingExpressionVisitor.SingleOrDefaultAsync[TSource](IAsyncEnumerable`1 asyncEnumerable, CancellationToken cancellationToken)

Here is a working sample for Npgsql.
Probably you have not registered the services.AddEFSecondLevelCache.

Hi Vahid, thanks for the reply. Actually I am using AddEFSecondLevelCache and registered the interceptor. I switched to inMemoryDb and still get the same error.

This error means your db-context's instance has not access to the registered services of  services.AddEFSecondLevelCache. Are you using some special IoC container here other than the built-in one?

I'm running into this same issue, but I believe my issue has something to do with me using Lamar IoC container instead of Microsoft built in.  Can you advise if there is a way to get this to work with Lamar?

@VahidN to your questions:

using built-in .net core container
addDbContext called
but yes, addDbContext ist called with new Context(options, param1, param2)

Should it not work if I first register a singleton with my new DBcontext and then call addDbContext?

If you want to implement your IDesignTimeDbContextFactory follow this sample.

Unfortunately, I'm still running into an issue.  I am calling:
       services.AddEFSecondLevelCache(options =>
        {
            options.UseMemoryCacheProvider();
            options.DisableLogging(true);
        });

followed by code which registers my DbContext and calls AddDbContext.
However I still get the same exception:
"Unable to resolve service for type 'EFCoreSecondLevelCacheInterceptor.IDbCommandInterceptorProcessor'. This is often because no database provider has been configured for this DbContext. A provider can be configured by overriding the DbContext.OnConfiguring method or by using AddDbContext on the application service provider. If AddDbContext is used, then also ensure that your DbContext type accepts a DbContextOptions object in its constructor and passes it to the base constructor for DbContext."
at Microsoft.EntityFrameworkCore.Infrastructure.Internal.InfrastructureExtensions.GetService[TService](IInfrastructure1 accessor)    at Microsoft.EntityFrameworkCore.Infrastructure.AccessorExtensions.GetService[TService](IInfrastructure1 accessor)
at EFCoreSecondLevelCacheInterceptor.SecondLevelCacheInterceptor.getProcessor(DbContext context)
at EFCoreSecondLevelCacheInterceptor.SecondLevelCacheInterceptor.NonQueryExecuting(DbCommand command, CommandEventData eventData, InterceptionResult1 result)    at Microsoft.EntityFrameworkCore.Diagnostics.RelationalLoggerExtensions.CommandNonQueryExecuting(IDiagnosticsLogger1 diagnostics, IRelationalConnection connection, DbCommand command, DbContext context, Guid commandId, Guid connectionId, DateTimeOffset startTime)
at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteNonQuery(RelationalCommandParameterObject parameterObject)
at Microsoft.EntityFrameworkCore.RelationalDatabaseFacadeExtensions.ExecuteSqlRaw(DatabaseFacade databaseFacade, String sql, IEnumerable`1 parameters)
at Microsoft.EntityFrameworkCore.RelationalDatabaseFacadeExtensions.ExecuteSqlRaw(DatabaseFacade databaseFacade, String sql, Object[] parameters)
at Mx.Data.Repositories.LoadLogRepository.FailIncompleteLoads() in C:\Users\JPallotta\Source\Repos\Mx-Latest\src\Mx.Data\Repositories\LoadLogRepository.cs:line 25
at Mx.BusinessLogic.LoadLogFacade.FailIncompleteLoads() in C:\Users\JPallotta\Source\Repos\Mx-Latest\src\Mx.BusinessLogic\LoadLogFacade.cs:line 135
at Mx.DataLoad.Server.DataLoadService.Start(String instanceName) in C:\Users\JPallotta\Source\Repos\Mx-Latest\src\Mx.DataLoad\Server\DataLoadService.cs:line 86
at Mx.DataLoad.Server.App.Start(String instanceName) in C:\Users\JPallotta\Source\Repos\Mx-Latest\src\Mx.DataLoad\Server\App.cs:line 281
at Mx.DataLoad.Server.Worker.d__9.MoveNext() in C:\Users\JPallotta\Source\Repos\Mx-Latest\src\Mx.DataLoad\Server\Worker.cs:line 39
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.GetResult()
at Microsoft.Extensions.Hosting.Internal.Host.d__9.MoveNext()
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.GetResult()
at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.d__4.MoveNext()
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.d__4.MoveNext()
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.GetResult()
at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.Run(IHost host)
at Mx.DataLoad.Worker.Service.Program.Main(String[] args) in C:\Users\JPallotta\Source\Repos\Mx-Latest\src\Mx.DataLoad.Worker.Service\Program.cs:line 20

I'm not using any third party IoC containers with .NET Core, because if you are using them to Scan services for you, it's better to use the https://github.com/khellang/Scrutor for this purpose. It's not a separate Ioc container. It's an add-on for the existing one.
I added a new sample about using Lamar with ASP.NET Core here. I just followed its docs, added its package, added UseLamar() to CreateHostBuilder method of Program.cs file, and changed the signature of public void ConfigureServices(...) to public void ConfigureContainer(ServiceRegistry services) in Startup.cs and ... it works.

Thanks for taking the time to look at it.  I think the difference might be that I'm using it in a .NET Core worker service and not a ASP.NET Core app.  I also followed their docs.  My Program.cs looks very similar to yours.  I also added UseLamar() to CreateHostBuilder method.  I don't think the UseStartup() and ConfigureContainer() methods are applicable to a worker service.  I could be missing something here.

Added WorkerServiceWithLamar sample.

Thanks again very much for going to the trouble of creating a Lamar worker service example.  I see that I was missing the ConfigureContainer() call in my Program.cs, so I added that with my Lamar configuration being done within.  I noticed that you were still calling AddEFSecondLevelCache() and AdDbContext from within ConfigureServices, so I did the same.  So my code looks like your example, but for some reason I'm still getting the same exception.  I'm sure the problem is on my side.  Hopefully, I'll get it figured out.  You've obviously been able to get it to work with your example.  Thanks again!

V 1.5.2 lets you to instantiate the db-context normally (using new DbContext()) as well.

Thanks Valid, this is great and works perfectly now!
Am 13.04.2020 um 09:38 schrieb Vahid Nasiri <notifications<EMAIL_ADDRESS>V 1.5.2 lets you to instantiate the db-context normally (using new DbContext()) as well.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://eur05.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FVahidN%2FEFCoreSecondLevelCacheInterceptor%2Fissues%2F17%23issuecomment-612790510&data=02|01||0d87beb6f83b4a12d4ca08d7df7da935|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637223603104181543&sdata=g3WqKhlNJSAY24yuLRbXcXsymQFAMuVKIqcG0qhHWOI%3D&reserved=0, or unsubscribehttps://eur05.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAG2LZYVTJTIC2NKXQXHCJ7TRMK6PJANCNFSM4L2G4DVQ&data=02|01||0d87beb6f83b4a12d4ca08d7df7da935|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637223603104191539&sdata=7obZVTa8a%2FdI1kniZ2rdlxtyGVg1%2BqHIcBn9%2FC%2Bsw7k%3D&reserved=0.


Cascade operator, Fluent API "double dot" support:

Does anyone thought about adding support for fluent API (something similar/same as Dart does)?
class A {
  k = 10;
  constructor(private n) {
  }

  run(): void { ... }

  test(): void { ... }
}

new A(2)
  ..k = 20
  ..run()
  ..test();

this could be translated to:
var a = new A(2);
a.k = 20;
a.run();
a.test();

That would simplify a lot writing A class in a way fluent API is supported.

Why not just return this?

Will not happen till someone does an ESNext proposal for it. I couldn't find one.
Other operators in a similar area (making function chaining easier):
https://github.com/mindeavor/es-pipeline-operator (some people did call this double dot in their own languages) / https://github.com/zenparsing/es-function-bind
Also note that E4X had this operator once :) https://developer.mozilla.org/en-US/docs/Archive/Web/E4X/Processing_XML_with_E4X :rose:

Sorry, not sure if I understand relation between TypeScript and ESNext?
Is TS not all about adding sugar on top of ES spec?
This looks like very nice and straight forward to implement. Could we reuse spec from Dart? Looks mature - at least in this area;)

Is TS not all about adding sugar on top of ES spec?

Nope, TypeScript is mainly about giving a type system on top giving you future features from JavaScript today. Expression level syntax is typically avoided when possible because it can conflict with future specifications. We can revisit this if an ES proposal ever comes along.

For reference, TypeScript Design Goals:

Avoid adding expression-level syntax.

Sorry, not sure if I understand relation between TypeScript and ESNext?

Just another diagram :rose:

Don't add stuff that might conflict with ESNext otherwise we would no longer be a superset (and will be a disjoint set) :rose:

more docs https://basarat.gitbooks.io/typescript/content/docs/why-typescript.html :rose:

@pankleks this is commonly referred to as a "cascade operator" in other languages - can you update the description/title, so that others can find this? (I opened a duplicate issue because I couldn't find this.)

I don't like this pattern because I am convinced, without ever having used it mind you 😉, that it is a refactoring hazard. Regardless it encourages mutability while existing fluent interface patterns can be implemented mutably or immutably.

@aluanhaddad my perspective is almost the opposite of yours.
As an alternative to fluent interfaces, personally I find that the cascade operator reduces the refactoring hazard - methods that do make changes to state sometimes do need to return a value (e.g. to indicate success, or return some value from the model, etc.) and this breaks fluent interfaces and leads to breaking changes; this is the main reason I strongly discourage coworkers from creating fluent interfaces.
As for immutable types with fluent interfaces, I don't view those as being at all the same thing - I view the fluent methods of immutable objects as being simply factory methods, nothing more. I don't think of those as fluent interfaces - the methods are there for a very different reason, to generate new objects; to me that's not the same issue as modifying the state of mutable objects, at all.
You find this pattern encourages mutability, but we're talking about a language where mutable state is by design and a fundamental feature of the language, so I don't see how that's wrong. I personally find that the absence of the cascade operator drives people to write fluent interfaces, and to me, that's far more problematic than someone simply using the language the way it was intended to be used.
(If it's not obvious, I don't partake in the hype/witch-hunt on mutable state, and it's my opinion that the struggle for immutability in mutable languages does more harm than good, as they are simply not a natural fit in an eco-system with a history and codebase almost exclusively built on the foundation of mutable state. There are other languages much better suited for those ideals.)

The hazard is very real. Consider the following code.
const value = 'abcd';

const result = value
    .replace('a', '')
    ..replace('b', '');

console.log(result); // result is 'acd'

That is very very bad.

You find this pattern encourages mutability, but we're talking about a language where mutable state is by design and a fundamental feature of the language, so I don't see how that's wrong. I personally find that the absence of the cascade operator drives people to write fluent interfaces, and to me, that's far more problematic than someone simply using the language the way it was intended to be used.

Let me clarify, temper what I meant.
Firstly, programming with mutable state is fine by me.
Secondly, I mean that it encourages one to express everything in terms of side effects, that is to say encourages one write methods that return void, something which JavaScript cannot even express, as opposed to writing methods that return values.

I mean that it encourages one to express everything in terms of side effects, that is to say encourages one write methods that return void, something which JavaScript cannot even express, as opposed to writing methods that return values.

Frankly that's an enormous stretch for me.
Methods should return whatever is meaningful for them to return - that's the problem I'm pointing out with chainable APIs, is it blocks you from making rational decisions (much less changes) about return values.
If people are going to write chainable APIs in lieu of this feature, that's much worse than providing syntax that removes the temptation to abuse the language in this way.
Anyhow, each to his own, I guess.


bug: extra trailing slash added during update

"imports": {
  "preact/"<EMAIL_ADDRESS>}

after the run turns into
"imports": {
  "preact/"<EMAIL_ADDRESS>}

with the extra trailing /

Fixed by https://github.com/LeoDog896/deno-outdated/commit/9d02d50ae655b37c5009109f85f00e15caa7b731 and published in 0.2.5.


Run images locally and test builds in CI

:newspaper: PR description
Add the possibility to run the lambdatizated images locally with l12n dockerized -e engine_name
:memo: Reviewer instructions
Try running from within the l12n-shell:
l12n dockerized -e spark
l12n dockerized -e dremio

for tracing Test didn't worked from within the l12n-shell but instead using ./l12n-shell l12n build-images -s spark from the repo folder


Add jsonform editor for Metagov plugin configuration

Use jsonform to generate a form for the Metagov config section under PolicyKit Settings page. It also surfaces the webhook URLs to the admin (since they need to go register them with each platform).
The diff is big because it includes jsonform and underscore js packages.

**This branch contains https://github.com/amyxzhang/policykit/pull/371 too, that one should be merged first

Nice! Just flagging that in the future, we will want more descriptions with these forms.


Pass parameters to az.deploy as escaped json string

This PR closes #
The changes in this PR are as follows:

Pass parameters to az deployment group as serialised json string instead of string value pairs

I have read the contributing guidelines and have completed the following:

[x] Tested my code end-to-end against a live Azure subscription.
[ ] Updated the documentation in the docs folder for the affected changes.
[ ] Written unit tests against the modified code that I have made.
[x] Updated the release notes with a new entry for this PR.
[ ] Checked the coding standards outlined in the contributions guide and ensured my code adheres to them.

If I haven't completed any of the tasks above, I include the reasons why here:

Bug fix, no impact on usage

Below is a minimal example configuration that includes the new features, which can be used to deploy to Azure:

On second thought, I think this might actually be a breaking change. If users are escaping their parameter values already, this will escape it again and result in a different value that being passed through to the script...


Allow EvaluationSuite to receive a custom Evaluator

(Reopening #348 with some changes)
Users may have their own Evaluators that they may want to include in an evaluation suite. There are also certain metrics which require extra work (predictions processing, steps in the compute process, etc.) that could be easily served by subclassing existing Evaluators, which should still be compatible with the EvaluationSuite.
See here for an example: https://huggingface.co/spaces/society-ethics/bias-evaluation-suite/blob/main/bias-evaluation-suite.py#L115

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.

Note that you can implement all the operations (except a global shuffle) also with .map (e.g. you don't have to return the same amount of examples which is like filtering). If you find that not intuitive/useful we can go for your solution.


Bad response from server

Fresh/clean install on Ubuntu 16.10 displays the following error:
[16.11.2016 17:58:37] WebUI started.
[16.11.2016 17:58:38] Bad response from server: (0 [error,getuisettings])
[16.11.2016 17:58:38] Bad response from server: (0 [error,getratios])
[16.11.2016 17:58:38] Bad response from server: (0 [error,setuisettings])
[16.11.2016 17:58:38] Bad response from server: (0 [error,list])
[16.11.2016 17:58:39] Bad response from server: (0 [error,getintervals])
Please advise.
Thannks, and kind regards
ByteCollect

suggest rerunning the script, should fix it.

Thanks for your reply.
As I found out meanwhile, the error occured from a broken IPMI and was not related to the script.
Kind regards,
ByteCollect


Support reserved contracts upgradation

Description
Now reserved contracts are written in xuper.json, we need a mechanism to upgrade this part.
We will use proposal - vote process to complete it.
Fixes #268
Type of change
Please delete options that are not relevant.

[ ] New feature (non-breaking change which adds functionality)

Brief of your solution
refer issue 268
How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 2 committers have signed the CLA.:white_check_mark: MichelleZ:x: zhangmiao07zhangmiao07 seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


EventCache: Replaced property access to WeakMap access

As per #383. Shall resolve #317 as well. Once PR merged, closes #383.
Chrome 36+, Edge 12+, Safari 8+, Firefox 6+, Opera 23+, IE 11+
caniuse - WeakMap
Besides, "lib": ["ES2015.Collection"] is added to tsconfig.json
(Map, Set, WeakMap, WeakSet are added to TypeScript)
Please note that, element clone would not copy the event cache. This matches the result that element.cloneNode(true) would not copy the event handlers attached to the original node.

Shall resolve https://github.com/fabiospampinato/cash/issues/317 as well.

How so? I see an object with a prototype being created just the same.

Shall resolve #317 as well.

How so? I see an object with a prototype being created just the same.

#317 mentioned that the event name for the Object property names such as "valueOf" would get the "false event".
Map and Set are the collection tools to avoid the property naming issues.
I agreed that constructor, hasOwnProperty, isPrototypeOf, propertyIsEnumerable, toLocaleString, toString, valueOf ... are not used for event naming, but if someone use Object.prototype.click= function(){ console.log('click')}, then the current event caching method will not work.
This is the main benefit of using Map / WeakMap to avoid such kind of issues.
Besides, outside Cash, the event cache is a complete blackbox that it is not enumerable or modifiable from the outside.
This is another benefit of using Map / WeakMap

Shall resolve #317 as well.

How so? I see an object with a prototype being created just the same.

Yes you are right. Not helping #317. The Map shall be implemented in each DOM


Upgrade terraform-provider-gitlab to v16.1.0

This PR was generated via $ upgrade-provider pulumi/pulumi-gitlab.

Upgrading terraform-provider-gitlab from 16.0.3  to 16.1.0.
Fixes #297
Upgrading pulumi-terraform-bridge from v3.48.0 to v3.51.0.

Closed until https://github.com/pulumi/pulumi-terraform-bridge/issues/1247 gets fixed.


error install dependancies npm i

HI, having error when in the terminal trying to install dependancies on  a macpro.  Downloaded V1.1.1 and typing in the terminal npm i to install but just having error. Cant find anything online. Thanks guys

macss-MacBook-Air:hashlips_art_engine-1.1.1_update macspro$ npm i
bash: npm: command not found

you need to download json code

macss-MacBook-Air:hashlips_art_engine-1.1.1_update macspro$ npm i bash: npm: command not found

Make sure that you have the latest version of node and npm downloaded and installed on your device already.
If not, download NodeJS from the official website before trying again:
https://nodejs.org/en/download


[358] Issues Refactor Swagger example model

You have to remove "  \"id\": 0,\n" from SwaggerExampleModel.UPDATE_ECO_NEWS


Jasondavis/sdkForAmwTest

Note: Draft pull request for previewing SDK update, don't check in
Contributing to the Azure SDK
Please see our CONTRIBUTING.md if you are not familiar with contributing to this repository or have questions.
For specific information about pull request etiquette and best practices, see this section.

API change check
APIView has identified API level changes in this PR and created following API reviews.
Azure.ResourceManager.Monitor


default kind for any profile (esp. re test)?

should we specify the following in order to always log to console if not in production (especially regarding tests/ ci)?
"cds": {
  "requires": {
    "audit-log": {
      "kind": "audit-log-to-console"
    },
    "[production]": {
      "audit-log": {
        "kind": "audit-log-to-restv2"
      }
    }
  }
}

looks like all profiles !== 'production' get the development profile -> no issue (but not really get what you see)

!== 'production' -> 'development' is standard -> OK


code only recognizes raw text that is in a sequence

This works:
code[
```
code here
```
]

But these examples don't:
code[```
code here
```]

code(body: raw(...))

Passing a raw block directly rather then a sequence containing it should be supported

Thanks for reporting this! Fixed by 5e17cf3d75abb359d35c180b08be151a6389be64


[Feature] Switch to unix sockets for signalling

Hello and thank you for a great tool :)
I've been looking around the code and trying to figure out what keeps this library/tool from being supported on windows, and as far as I can see the only thing problematic is the signaling, especially the SIGUSR1/2 that don't exist on windows. (Signals really don't exist on windows at all, but some actions are caught and signals emulated by my understanding..)
Since you're already using tcp sockets, wouldn't it be possible to to signaling over tcp between the processes?
It would be nice if you could list other areas where you think windows support would be problematic. I would really like to try making a branch with windows support :)
Regards
Bernt-Johan

Hey Bernt, I've been thinking of using TCP for signalling, though wondering about the best way to do it. I think using unix sockets in os.TempDir() is the way to go.
If signally is done completely in TCP then this just leaves uid,  gid for setting matching permissions and func move(dst, src string) error for moving the executable safely. Permissions might not even be an issue in Windows?
The biggest issue I can see is actually releasing this change. Pushing a new version of overseer which changes its underlying signally will mean new programs will use the new signalling mode, however if there's a currently running master process using the old mode, they won't be compatible. (I ran into this issue last week when I frivolously changed env variable names.) So I think the existing signalling will need to remain, and we add TCP signalling on top and set an env var OVERSEER_TCP_SIGNAL=/tmp/overseer-my-random-hex-string.sock on the slave process. This tells any new versions of overseer to swap into TCP mode and any old versions won't have this var set, so they should keep using os signals.
At the moment, the master process passes in TCP listener files – so we could pass in an additional listener for signalling however, this would make the slave process the signalling server and I have a feeling this would unnecessarily complicate things. For example, there can be multiple slaves running at once and which would they connect to? The master process has to be signalling server I think...

See PR which was just merged https://github.com/jpillora/overseer/pull/6/files - it's still not perfect though since it uses SIGTERM for all signals so it can produce false-positives. E.g. a crash signal during a restart would be accepted as a release of file descriptors. Using TCP sockets would solve this so I'll leave this open.

I developed a package which uses unix socket on linux and winio.ListenPipe on windows: https://code.pfad.fr/risefront
These socket/pipes are used for signalling and connection forwarding. Feel free to have a look!

+1


Allow reading ints up to 24 bits wide as f32

This PR enables me to load files with int sample type as f32. f32 can represent signed ints up to 24 bits wide exactly. Hence, I want to use f32 in my application to transparently handle both int and float sample formats.

Makes sense, thank you for taking the time to open a pull request.
For testing this, I think we can add a test that opens one of each 8-bit, 16-bit, and 24-bit test samples, reads it as i32, reads it again as f32, and then assert element-wise that the values are the same. That is, we can assert that reading as i32 and then casting to f32 is the same as reading as f32 directly. Could you add a test like that?
Also, something seems to have gone wrong in the history, could you squash the duplicate commit and merge commit into one?

Thanks!


keep from calculating closed poll twice at the same time

shouldn't be a problem any more, as caching is done in batches for old data


Allow maximizing/restoring a single terminal or editor pane

I'd be surprised if this hasn't been asked before, but tmux supports a thing it calls "pane zooming", if I recall correctly.
Basically once you start splitting a window, vertically, horizontally, it doesn't matter, you press a certain keyboard shortcut and the current pane is "maximized", hiding all the other panes. Text is reflowed, so you actually see the former pane as a full window. This is incredibly useful once you launch some command that has a ton of unexpected output that you want to check out.
When you're done you press the same keyboard shortcut and the pane "reverts", showing the previous layout. The text in the pane is reflowed again to make it fit in the smaller pane size.
Very, very handy when you're moving through terminals quickly and you want to check out something.

This has not been asked for before but I'm aware of the feature. You currently have the ability to maximize the panel (workbench.action.toggleMaximizedPanel), not a split within the terminal.

I know about that toggle, but it's not the same thing 😄
Offtopic: And that toggle doesn't really do what it says on the tin 😛

@FancyBanana I think the OP wants the active terminal split pane to go full screen, including the side bar. Your issue is a problem though which I'll fix up now.

@FancyBanana coming in 1.28 https://github.com/Microsoft/vscode/commit/aacaecc68ac0c53dd595ba20dfc969a186a3139c

Yes, I want the active terminal split pane to go full screen, filling at least the terminal side bar to 100%.
Ideally, if the terminal evolves and can be placed anywhere, including a normal tab, the terminal will have the ability to be maximized and terminal splits will also have this ability (+ the ability to be restored to their previous size).
Check out tmux for clarification: https://sanctum.geek.nz/arabesque/zooming-tmux-panes/

Maximized terminal pane would be nice. VS Code makes as a nice host for a Powershell console.

I use vscode in i3 with 3 terminals tiled below. I'm moving to inbuilt terminal now that it has splitting but I used to fullscreen a terminal often when doing things like git status or git diff. So that's my use case for wanting proper terminal fullscreen.

FYI @sbatten, this could be generalized for editors and the other panels as well.

I too was looking for this functionality as well (or rather, in a roundabout way). I had been attempting to move a split terminal back to its own panel (uniquely accessible via the active terminals dropdown that exists) so that I could then see more of the context (and then could optionally use the existing terminal "Maximize Panel Size" functionality to see even more of it) .
Please consider adding this!
Thanks

I would like to have a key binding to maximize terminal to full screen with no VS code interface. Something like I have just started a new "Windows terminal". With the same key binding terminal should be restored to its previous size.

In my experience there is more similar keyboard shortcuts missing, not least such a small thing as resetting the side panel width (just like it behaves on mouse double click).
Having the ability to in-/decrement the size like we can with the terminal would also be great. Especially if there were, as many have requested before, the option to decide for yourself how large the steps should be.
This could also be implemented as "resize currently focused pane" and the ability to move focus between different sections could be improved.

I'm a heavy vim/tmux user. I've got my vim keybindings setup in vscode, and tmux in my terminal. I'm very accustomed to ctrl+b z to zoom into a pane, and out. Sometimes in vim I go zen mode. So in a terminal, I can already zoom in and zen 80% wide from 10% off the left, using two keybindings. I put in my vote for this to be added to vscode. Vscode has been the only contender that could pull me away from my setup (that I can scp into any environment or use remotely).

Is this planned to be done?

Very good demo of this functionality:
https://github.com/microsoft/vscode/assets/1500881/748d901b-c2ae-42ff-9088-a383f8119463
From https://github.com/anuvyklack/windows.nvim.
Instead of having this feature builtin in the editor, with the right exposed apis we can have an extension providing this feature.
Some APIs I think are missing and required for this:

Control the editors size (width and height)
More accurate event listeners when switching editors (e.g window.onDidChangeActiveEditorGroup())

The existing window.onDidChangeActiveTextEditor() might be enough for a hacky solution but it's not ideal because when it fires the current state of the window.tabGroups.activeTabGroup is still outdated iirc)

Command to open the sidebar (currently there is only workbench.action.toggleSidebarVisibility and workbench.action.closeSidebar)

Only having horizontal splits that can't be maximized makes the terminal too cramped and hard to work with.


Graph partitioning

Move graph partitioning functionality from https://github.com/mtfishman/ITensorNetworks.jl/pull/30 into this package (and add corresponding wrappers in DataGraphs.jl).

Closed by #44.