Enforce trailing commas in object and collection initializer

Take the following code:
var foos = new[]
{
    new Foo(),
    new Bar()
};

If later a new item is added:
var foos = new[]
{
    new Foo(),
    new Bar(),
    new Baz()
};

This causes the following issues:

A misleading commit diff of +2/-1 even though there isn't really any code deletion.
Polluting git blame.

These issues also occur when deleting/reordering the last item in initializers.
These issues can be fixed by enforcing trailing commas.
Relevant Prettier option: https://prettier.io/docs/en/options.html#trailing-commas

I had considered this early on - #23. I think it was closed because we decided to not have csharpier changing anything besides whitespace. But there are good arguments for transforming code in some cases, and there are good arguments for forcing tailing commas. The discussions I found around making trailing commas the default in prettier - https://github.com/prettier/prettier/issues/9369 and https://github.com/prettier/prettier/issues/68
I think I am in favor of adding this. If it were to follow the prettier way, it would only include the trailing comma when the initializer breaks.

Conversely, it would also be nice if CSharpier removed the trailing comma when the object initializer fits on single line.
I think it's a common style guide to not have the final comma on a single line, and include it on multiple lines, i.e. this format:
Dictionary<string, string> headers;

// No trailing comma after If-Match
headers = new()  { { "OData-Version", "4.0" }, { "If-Match", "*" } };

// Trailing comma after If-Match
headers = new()
{
  { "OData-Version", "4.0" },
  { "Accept", "application/json;odata.metadata=minimal" },
  { "If-Match", "*" },
};

I think this makes a strong argument for CSharpier adding/removing that comma automatically:

Depending on the length of initializers, CSharpier will reflow on single or multiple lines.
Currently if you want to adhere to the style above, you need to manually add/remove that comma based on CSharpier reflow, so after CSharpier runs.
 Even if you Format on Save, it's easy to miss.

Also csharpier could act as Black (popular python code formatter) about trailing commas. It forces multiline output if sees trailing comma.
So this code in python
def foo(a: int, b: str,) -> None:

will be formatted to
def foo(
    a: int,
    b: str,
) -> None

And vice versa this code
def foo(
    a: int,
    b: str
) -> None:

will be formatted to
def foo(a: int, b: str) -> None:

because it doesn't have trailing comma and statement fits to one line.
It is really useful behaviour and gives power to users to force multiline output when it improves readability.

@tkukushkin I'm personally against that. The biggest benefit of Prettier is to simply stop people from arguing about style and just get things done. Introducing choices especially to the degree of being able to vary place by place, will devolve it back into arguing about when should we break into multiple lines or not.

I understand your point and I can say from my experience, that I've never seen any arguments over someone splitting one statement into several lines when it fits into one. Nobody cares about such things. But this is my personal experience and maybe your experience is different.
I think Black was created with the same principle in mind, only few basic configuration options, it is uncompromising, opinionated. And this behaviour works for Black, then why wouldn't it work for csharpier?

I'm not sure that's a good reasoning, on the flip side "Prettier doesn't allow you the force a line split at all, why wouldn't it work for CSharpier?"
It's one less thing to worry about: if the line was too long when I originally wrote it, formatter should split it and insert the trailing comma; if later a parameter or two was removed and the line is no longer too long to fit in one line, formatter should just change it back to one line and also remove that trailing comma in the process, rather than keeping it split. The fact that you can arrive at the same code in two different ways and ends up with two different formatting of the exact same code, is imo not desirable.

I'm gonna side with @NonSpicyBurrito on this one.
I like that CSharpier (or Prettier) handles like length for me. Managing line breaks manually just feels wrong.
Consider: after I (globally) rename a type in my solution, some method declaration may have significantly changed length.
I don't want to review each one manually to make them (un-)wrap based on the last comma.
I want CSharpier to just reformat them appropriately.

Consider: after I (globally) rename a type in my solution, some method declaration may have significantly changed length.
I don't want to review each one manually to make them (un-)wrap based on the last comma.

If new name is longer and some statement (method call for example) doesn't fit in one line anymore, it will be formatted as multiline, no changes to current behaviour here.
If new name is shorter and some statement is already multiline, has trailing comma and could fit in one line, it will not be unwrapped, yes. And it is not common case IMHO, I have never reviewed each change manually, because it is not so important. There is no problem for me that some statements remain multiline.
I think we can stop arguing about this, I understand your point and respect your decision.

It would be really nice to have this as a configuration option.

It would be really nice to have this as a configuration option.

Is it posible to turn off this feature ? I really thinks it downgrades the quality of source the code

Is it posible to turn off this feature ? I really thinks it downgrades the quality of source the code

@martinib77 there will not be a configuration option added for this. Can you elaborate why you don't like it? There are plenty of arguments for why they should be included but I have not come across any against it.

Is it posible to turn off this feature ? I really thinks it downgrades the quality of source the code

@martinib77 there will not be a configuration option added for this. Can you elaborate why you don't like it? There are plenty of arguments for why they should be included but I have not come across any against it.

Sorry, code quality was not the best sentence. I wanted to refer to something more abstract, about the beauty and presentation of the code. Sentences that end in a comma and then close the block do not seem very pleasant to me.

Is it posible to turn off this feature ? I really thinks it downgrades the quality of source the code

@martinib77 there will not be a configuration option added for this. Can you elaborate why you don't like it? There are plenty of arguments for why they should be included but I have not come across any against it.

Could it be argued that since prettier has an option for that (trailingComma) csharpier should have, too?

Sorry, code quality was not the best sentence. I wanted to refer to something more abstract, about the beauty and presentation of the code. Sentences that end in a comma and then close the block do not seem very pleasant to me.

I share the feeling :(

Could it be argued that since prettier has an option for that (trailingComma) csharpier should have, too?

From my understanding, the reason Prettier has an option for trailingComma is mainly because of the need to support old versions of JS where trailing comma is not legal syntax, and not necessarily because community opinion on it is split to a point where an option must be provided (like with tabs vs spaces, 2 vs 4, etc). See Prettier's 3.0 release blog post where trailing comma default value changed from es5 to all, the PR https://github.com/prettier/prettier/pull/11479 associated with the change, and the prior PR https://github.com/prettier/prettier/pull/6963 which changed from none to es5.
I personally wouldn't care if an option was added since I'd leave it enabled either way, but I think "Prettier has it so CSharpier should also have it" is not necessarily a strong point, because JS and C# are fundamentally different in that you do not control the language version in user's browser.

Is it posible to turn off this feature ? I really thinks it downgrades the quality of source the code

@martinib77 there will not be a configuration option added for this. Can you elaborate why you don't like it? There are plenty of arguments for why they should be included but I have not come across any against it.

I just noticed csharpier doing this and it really got my back up.
Prettier has a config for this and our project has it turned off as trailing commas are gross for anyone with any sense of tidyness!

trailing commas are gross for anyone with any sense of tidyness!

Somehow many people, who lack any sense of tidyness apparently, like them. Including Prettier authors.
One key philosophy of Prettier/CSharpier is to remove style discussion in project teams, by not providing options.
This trailing comma is such a small thing that I'm sure you can live with it and it doesn't warrant an option.
(There's a good legacy reason for Prettier having this option, see comments above.)
Personally, there are other formatting choices from Prettier that I find way worse than a trailing comma, yet I just learnt to accept them and go along. Why? because overall the formatting is good, I like not having to bother with formatting and I value consistency in projects. Convenience wins over personal nitpicks.
I think that if you want full control over tiny details like trailing commas, CSharpier might not be the right tool for you.
Maybe look into using dotnet-format instead: everything is fully configurable.


Add ability to specify HOMEDIR and a test suite

I think I need to be more careful with directory creation: I can't just set the bottom layer to 0700, I need to remember which directories I created and chmod each one of those, which means I can't just do a mkdir -p.

Or, wait, with umask I can guarantee that, can't I?

Well, if we're gonna do it that way, then may as well transplant it over into the monorepo where we'll have our python tooling anyway.


Skill incredibly slow

On average it takes about a minute for the audio to play, which makes the skill barely usable.
I followed this Tutorial, in which it takes a few seconds for the echo to play the audio. My bandwidth is about 10 mbit/s over wifi.

Hey @leonwallis,
One of the main issues with this skill is that basically, the server downloads whatever YouTube video you are trying to play as a video first and then converts it to audio. This is because Alexa requires a specific bitrate for audio playback. I will be working to download YouTube videos directly as audio with the correct bitrates in the future in order to reduce bandwidth and spend up playback times.
If you think your downloads are slow, I would encourage you to set up your own server using the guide at https://github.com/dmhacker/dmhacker-youtube. Best of luck.
Referencing #11.


Type Variation drop down does not show any options even when there are Item Types

Godot version
4.1.1.stable
System information
Ubuntu Linux 22.04, Nvidia
Issue description
The Type Variation dropdown is empty even when I select a Theme and the Theme has Type Variations for the given control. Pressing the Pencil button and typing in the Variation name manually works. The dropdown is only populated with Type Variations when the default theme is set in Project Settings. But I expected the dropdown to show Type Variations even when the theme is not set in project settings.

Steps to reproduce

Create a theme
Add a Type Variation
Set the theme in a control node
Click the Type Variation dropdown

Minimal reproduction project
None

Would love a fix for this

@wjagodfrey Please don't bump issues without contributing significant new information. Use the :+1: reaction button on the first post instead.

I am currently facing the same issue, I can create Themes normally, but the Variants don't show up
I am trying to create a variant of the panel, giving it a StyleBoxTexture
Godot Version: 4.1.3
OS: Mac Sonoma 14.0

Create a theme
Add a Type Variation
Set the theme in a control node
Click the Type Variation dropdown

Right now only variations available in the project theme (and the engine's default theme) are suggested in the dropdown.

If anyone is still having issues with this, I found a way that works for me.  Like others, the dropdown for the variant is empty in my case:
After creating your variant head over to the node you expect your theme and variants to be.
Instead of selecting it from the Type Variation dropdown, there's a pencil icon to the right of the dropdown.  Click that, and type in the name of your variant.  Make sure you spell your variant name exactly like you have it as it's case sensitive.
Hope that makes sense and helps whoever might get stuck on this in the future


[BUG] Vector dimension 0 in Cohere multilingual embeddings with Pinecone

Describe the bug
I do get this error when starting chat, but I can see embeddings in Pinecone.
[ErrorWithoutStackTrace: PineconeClient: Error calling upsert: ErrorWithoutStackTrace: Vector dimension 0 does not match the dimension of the index 768]
A clear and concise description of what the bug is.
To Reproduce
I will share a screen capture.

It was about Cohere API, which needed production-grade to work with the multilingual model.


Create a trait-based engine for rench

The engine is actually somewhat like a trait. However, this requires a multitude of changes to be conform. Below is a small list:

Plan should capture the entire plan (including method and url)
Plan should distribute work as structs called Segment
Drive trait takes a Segment and returns facts through a closure.
The Driver (formerly Runner) takes a Plan, Engine, and Collector and runs the whole shebang (basically what it currently does).

https://mermaidjs.github.io/mermaid-live-editor/#/edit/eyJjb2RlIjoic2VxdWVuY2VEaWFncmFtXG5wYXJ0aWNpcGFudCBtIGFzIG1haW5cbnBhcnRpY2lwYW50IGYgYXMgRmxlZXRcbnBhcnRpY2lwYW50IGQgYXMgRHJpdmVyXG5wYXJ0aWNpcGFudCBjIGFzIENvbGxlY3RvclxubSAtPj4gKyBjOiBzcGF3blxubSAtPj4gZjogc3RhcnQocGxhbiwgZW5naW5lLCBjb2xsZWN0b3IpXG5sb29wIGZvciBzZWdtZW50IGluIHBsYW4uZGlzdHJpYnV0ZSgpXG4gIGYgLT4-ICsgZDogc3RhcnQgRHJpdmVyIHdpdGggc2VnbWVudFxuICBkIC0tPj4gYzogc2VuZCBmYWN0cyBvdmVyIGNoYW5uZWxcbmVuZFxubG9vcCBmb3IgZHJpdmVyIGluIGRyaXZlcnNcbiAgZCAtPj4gLSBmOiBqb2luXG5lbmRcbm0gLS0-PiAtIGM6IHNlbmQgRU9GIHRvIGNvbGxlY3RvclxuYyAtPj4gbTogam9pbiIsIm1lcm1haWQiOnsidGhlbWUiOiJkZWZhdWx0In19

Some basic signatures
impl Driver {
    /// Begins a driver that will use an engine to run a segment of the plan. This will cause
    /// the collect function to be called, according to the plan.
    fn start(segment: plan::Segment, engine: impl Drive, collect: impl FnMut(Fact)) -> Driver;

    /// Waits for this driver to finish it's segment
    fn await(self);
}

impl Fleet {
    /// Begins the fleet server and kicks it off
    fn start(plan: plan::Plan, engine: impl Drive) -> Fleet;

    /// Awaits the termination of the fleet
    fn await(self);
}

impl Collector {
    /// Starts the collector and returns a handle that can be terminated
    fn start() -> Collector;

    /// Sends the fact to the collector service.
    fn send(fact: Fact);

    /// Stops the collector and waits for it to finish
    fn stop();
}


Action Group should support ActionButton of size other than M

Description

Currently, Action Group has a number of overrides for border-width and border-radius that use the medium Action Button variables. Either this needs to be done in a size-agnostic way, or we need to add t-shirt sizing to the Action Group itself
Why do you need this feature or component?

Full support for t-shirt sizing.
Additional context

Discovered implementing #936

With the migration to @adobe/spectrum-tokens, ActionGroup now has t-shirt sizing.


[AMO-Dev] Review cannot be edited

Steps to reproduce:

Load AMO-dev page https://addons-dev.allizom.org/en-US/firefox/
Go to any add-on details page (i.e. https://addons-dev.allizom.org/en-US/firefox/addon/google-search-link-fix/)
Write a review
Edit the review and submit the changes

Expected results:
The changes are saved. The review is modified.
Actual results:
Nothing happens.
Notes/Issues:
There is a js error displayed in the console.
Please see the screenshot:

Verified on AMO-dev FF43(Win 7).
Tracker issue: #1197

Yep - this one is due to http://jquery.com/upgrade-guide/1.9/#jquery-ajax-returning-a-json-result-of-an-empty-string
Seems to be a single isolated view returning a standard HttpResponse in a @json_view. Can't seem to see any other @json_view decorated code that matches the same issue.
https://github.com/mozilla/olympia/blob/master/apps/reviews/views.py#L269

Verified as fixed on AMO-dev FF43(Win 7).
Postfix screencast: http://screencast.com/t/NqjITrfHEme


[MB-5245] Print legal agreement

Description
Print legal agreement from the homepage
Setup
make server_run
make client_run

Completely set up a move
Print legal agreement on homepage
Expected result: Print preview should have legalese, signature and the date you signed it

Code Review Verification Steps

[ ] Request review from a member of a different team.
[ ] Have the Jira acceptance criteria been met for this change?

References

Jira story for this change

Screenshots

Warnings

:warning:
This PR does not include changes to storybook, even though it affects component code.

:warning:

Files located in legacy directories (src/shared or src/scenes) have
been edited. Are you sure you don’t want to also relocate them to the new file structure?
View the frontend file org ADR for more information

Messages

:book:
:link: MB-5245

  Generated by :no_entry_sign: dangerJS against 0372230bd5abe866f1834a70d3facdb0a947404b

If I submit a move and then go to print from the home page directly, the signature and date are not populated but are expected to be:

However, if I log out and log back in, the values are populated.
Change requested for this and a small typo, but the code otherwise looks good and works.

Good catch! The lifecycle method wasn't catching this. Added logic to fetch the certification if the move being provided to the homepage is already submitted

I know the ticket says to treat this print button the same as we do on the signature page, which it does; however, I noticed that on Firefox, it does not show a preview, it just shows this below. @mariaclaratgolfo I'm wondering if that's acceptable behavior? It does show a preview in Edge, still trying to get IE running to check there.

It could also be that FIrefox allows to you adjust settings to be able to see the preview or not, I don't know.
UPDATE: I tested IE and similar to Firefox I don't see a preview

I think this is just default behavior for certain browsers but the print should still print the correct information. There are some workarounds we can explore for browsers like firefox like opening the file in a separate tab so it exposes firefox's print toolbar that does give the print preview but it's a a little more involved

It works! I'm approving, though also wonder if we need a client test for the PrintableLegalese.jsx component (which might have caught the earlier bug)

It's tricky because the PrintableLegalese doesn't always have data. It only has it in 2 situations, having submitted a move and directly after submitting a move, and to test both you need some real API data flow. I was trying to do an integration test but they don't have an API to check the print preview since its technically invisible up until you try to print. So I couldn't find any valuable tests to make


add python3.7 to travis

This was no fun:
Setting APT mirror in /etc/apt/sources.list: http://us-east-1.ec2.archive.ubuntu.com/ubuntu/
3.7 is not installed; attempting download
Downloading archive: https://s3.amazonaws.com/travis-python-archives/binaries/ubuntu/14.04/x86_64/python-3.7.tar.bz2
$ curl -sSf -o python-3.7.tar.bz2 ${archive_url}
curl: (22) The requested URL returned error: 403 Forbidden
Unable to download 3.7 archive. The archive may not exist. Please consider a different version.

Looks like open issue: https://github.com/travis-ci/travis-ci/issues/9815

Travis CI is phasing out its support for containers, so sudo: false is not that useful anymore. I think just adding dist: xenial will make the python: 3.7 work.

Yes, xenial should work without sudo, but dist should be trusty then for py34.

Looks like they fixed py34, I am going to create a new PR for this.


bump embulk to 0.10.39

bump embulk to 0.10.39 because it cannot be built with 0.10.1 now
to embulk 0.10
Please refer official documents:

to 0.10: Embulk: Java plugins to catch up with Embulk v0.10 from v0.9
to 0.11: Embulk: For Embulk plugin developers: Get ready for v0.11 and v1.0! [Updated]

this is helpful to understand CONFIG_MAPPER_FACTORY, etc

conflict
https://github.com/trocco-io/embulk-input-cloudwatch_logs/pull/4


[QUERY] How can I write a test against AnalyzeResult which is a result of DocumentIntelligenceClient.AnalyzeDocument

Library name and version
AzureAI.DocumentIntelligence 1.0.0-beta.2
Query/Question
I want to write a unit test against a result of DocumentIntelligenceClient.AnalyzeDocument, I mean AnalyzeResult.
var client = new DocumentIntelligenceClient(new Uri(endpoint), new AzureKeyCredential(apiKey));
var content = new AnalyzeDocumentContent()
{
    Base64Source = BinaryData.FromBytes(File.ReadAllBytes("table.pdf"))
};
Operation<AnalyzeResult> operation = client.AnalyzeDocument(WaitUntil.Completed, "prebuilt-layout", content);
AnalyzeResult result = operation.Value;   // <<< I want to write a test against this result.

Please note that I don't need to verify AnalyzeDocument or such, instead I want a test with the AnalyzeResult which contains paragraphs, or tables, or so on.
A problem is that I couldn't figure out how to create an instance of AnalyzeResult or mock it since its constructor is internal.
https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/documentintelligence/Azure.AI.DocumentIntelligence/src/Generated/AnalyzeResult.cs
Environment
No response

Hi @yooontheearth.  Thanks for reaching out and we regret that you're experiencing difficulties.   The class that you're looking for is DocumentIntelligenceModelFactory which allows for creation of output types for unit testing purposes.  In this scenario, you'll want to use the AnalyzeResult method on the factory to build your test data.
More details and discussion of the design that we've used for testability can be found in Unit testing and mocking with the Azure SDK for .NET.


Wrong results where one of the args is assigned to constant inside the kernel

This might be related to #714. Repro (comments inside, requires torchdynamo unfortunately), tl;dr if the kernel has xnumel=<const> where xnumel is also a kernel arg, and  is equal to the value of xnumel that is passed to the kernel (so should be a no-op, or even if it's used for optimization, shouldn't change results) it produces wrong results. Note that this is using the new runtime, with the old runtime both versions of the kernel produce wrong results.
I'm happy to provide generated ptx if needed, or any additional info, given that repro requires dynamo, although to get wrong results minor changes can be made to disable pre-compilation and lose dynamo dependency.
from ctypes import c_void_p, c_long
import torch
import random
from torch import empty_strided, as_strided, device
from torchinductor.codecache import AsyncCompile

aten = torch.ops.aten
async_compile = AsyncCompile()

import triton
import triton.language as tl
from torchinductor.triton_ops.autotune import grid
from torch._C import _cuda_getCurrentRawStream as get_cuda_stream

kernel1 = async_compile.triton('''
import triton
import triton.language as tl
from torchinductor.ir import ReductionHint
from torchinductor.triton_ops.autotune import pointwise
from torchinductor.utils import instance_descriptor

@pointwise(size_hints=[2048], filename=__file__, meta={'signature': {0: '*i64', 1: '*fp32', 2: '*fp32', 3: 'i32'}, 'device': 0, 'configs': [instance_descriptor(divisible_by_16=(0, 1, 2), equal_to_1=())], 'constants': {}})
@triton.jit
def kernel(in_ptr0, in_ptr1, out_ptr0, xnumel, XBLOCK : tl.constexpr):
    xoffset = tl.program_id(0) * XBLOCK
    xindex = xoffset + tl.reshape(tl.arange(0, XBLOCK), [XBLOCK])
    xmask = xindex < xnumel
    x2 = xindex
    x0 = xindex % 1000
    x1 = (xindex // 1000)
    tmp0 = tl.load(in_ptr0 + x2, xmask)
    tmp1 = tl.load(in_ptr1 + x2, xmask)
    tl.store(out_ptr0 + x0 + (1000*tmp0) + (196000*x1) + tl.zeros([XBLOCK], tl.int32), tmp1, xmask)
''')

kernel2 = async_compile.triton('''
import triton
import triton.language as tl
from torchinductor.ir import ReductionHint
from torchinductor.triton_ops.autotune import pointwise
from torchinductor.utils import instance_descriptor

@pointwise(size_hints=[2048], filename=__file__, meta={'signature': {0: '*i64', 1: '*fp32', 2: '*fp32', 3: 'i32'}, 'device': 0, 'configs': [instance_descriptor(divisible_by_16=(0, 1, 2), equal_to_1=())], 'constants': {}})
@triton.jit
def kernel(in_ptr0, in_ptr1, out_ptr0, xnumel, XBLOCK : tl.constexpr):
    xnumel = 2000
    xoffset = tl.program_id(0) * XBLOCK
    xindex = xoffset + tl.reshape(tl.arange(0, XBLOCK), [XBLOCK])
    xmask = xindex < xnumel
    x2 = xindex
    x0 = xindex % 1000
    x1 = (xindex // 1000)
    tmp0 = tl.load(in_ptr0 + x2, xmask)
    tmp1 = tl.load(in_ptr1 + x2, xmask)
    tl.store(out_ptr0 + x0 + (1000*tmp0) + (196000*x1) + tl.zeros([XBLOCK], tl.int32), tmp1, xmask)
''')
async_compile.wait(globals())
del async_compile

def call(arg4_1, arg7_1):
    s1 = 2
    buf0 = empty_strided((2, 196, 1000), (196000, 1000, 1), device='cuda', dtype=torch.float32).fill_(0)
    stream0 = get_cuda_stream(0)
    kernel1_xnumel = 1000*s1
    kernel1.run(arg4_1, arg7_1, buf0, kernel1_xnumel, grid=grid(kernel1_xnumel), stream=stream0)
    #kernel1[grid(kernel1_xnumel)](arg4_1, arg7_1, buf0, kernel1_xnumel, 1024)
    print(buf0[0].amax(-1)[:10], buf0.sum()) #no xnumel=2000 in the kernel, correct answer
    buf0 = empty_strided((2, 196, 1000), (196000, 1000, 1), device='cuda', dtype=torch.float32).fill_(0)
    kernel2_xnumel = 1000*s1
    kernel2.run(arg4_1, arg7_1, buf0, kernel1_xnumel, grid=grid(kernel2_xnumel), stream=stream0)
    #kernel2[grid(kernel2_xnumel)](arg4_1, arg7_1, buf0, kernel2_xnumel, 1024)

    print(buf0[0].amax(-1)[:10], buf0.sum()) #xnumel=2000 in the kernel, wrong answer
    return (buf0, )

if __name__ == "__main__":
    from torchdynamo.testing import rand_strided
    from torchinductor.utils import print_performance
    torch.manual_seed(12345)
    arg = rand_strided((2, 1, 1000), (1000, 1000, 1), device='cuda', dtype=torch.int64)
    arg4_1 = torch.arange(2000, device="cuda", dtype=torch.int64).reshape(2,1,1000) % 196 #torch.randint(196, arg.size(), device=arg.device, dtype = arg.dtype)
    arg7_1 = torch.arange(1, 2001, device="cuda", dtype=torch.float32).reshape(2, 1000)
    buf = torch.zeros(2, 196, 1000, device="cuda")
    buf.scatter_(1, arg4_1, arg7_1.reshape(2, 1, 1000))
    print(buf[0].amax(-1)[:10]) #correct answer
    call(arg4_1, arg7_1)

Output:
tensor([981., 982., 983., 984., 985., 986., 987., 988., 989., 990.],
       device='cuda:0') #correct, output of torch.Tensor.scatter
tensor([981., 982., 983., 984., 985., 986., 987., 988., 989., 990.],
       device='cuda:0') tensor(2001000., device='cuda:0') #correct, w/o xnumel=2000 in the kernel
tensor([984.,   0.,   0.,   0., 988.,   0.,   0.,   0., 992.,   0.],
       device='cuda:0') tensor(2001000., device='cuda:0') #wrong, xnumel=2000 in the kernel

I am tracking down a major bug that was introduced with the shared signature entry point. I suspect this is also related.

Hmmm https://github.com/openai/triton/pull/742/files was a bug in the JIT so this shouldn't affect users of the compilation API, and this was also for constexprs that aren't clustered at the end. I'll dig deeper into this case

JIT produces wrong values in both versions of the kernel, with compilation API one kernel is correct and one is wrong, so it still might be related to #742, let me check.

Setting divisible_by_16=(0, 1, 2, 3) in the first kernel also leads to failure, which confirms that this is an issue with vectorization rather than constexprs. Indeed vectorization shouldn't be allowed, since x0 + (1000*tmp0) does not correspond to a contiguous range.
Setting
tl.store(out_ptr0 + (x0 + (1000*tmp0) + (196000*x1) + tl.zeros([XBLOCK], tl.int32)), tmp1, xmask)

(i.e., just adding parentheses) also seems to resolve the issues. So my money is that there's a bug deep down in the alignment analysis pass.
The good news is that in general it is preferable to add parentheses around offset math, since it promotes int32 math over pointer arithmetics, so this is something that torchinductor should probably do anyway. The bad news is that I will be away until Sunday, so I won't have time to properly fix this issue until next monday.

Thanks! Adding parentheses for indexing math is totally doable on our side!


Fix auto-import for runtime/server/utils

Should use addServerImportsDir instead of addServerScanDir.
Try fix issue #12

Hey @ElliottZhao 👋 , I have a dev release version with the changes in your PR, do you have a reproduction that I could perform tests on?
This would be the version: 0.0.31-fix-rollup-error

@ankur-arch I tested using version 0.0.31-fix-rollup-error and can confirm that the error is no longer present.

Thanks @sahibalejandro! I'm merging this then.


Legacy build 'control.defaults' and 'interaction.defaults' broken

Adding controls or interactions with code like controls: ol.control.defaults({attribution: false}) fails, producing the error 'ol.control.defaults is not a function'.
Similarly, adding an interaction like this interactions: ol.interaction.defaults().extend([new ol.interaction.DragRotateAndZoom()]) produces the error 'ol.interaction.defaults is not a function'
This is only a problem when using the 'legacy' full build. Link to jsfiddle demo
This was working on the latest OL v6

See #14020

Thanks. I missed that!


DaVinci Kitteh Kat - Maintenance

11 May 2024

Initial entry
3rd May 2024 Obtained bag - Hills Feline Adult Original 6kg (free - yeah.) Delivered 6th May 2024

11 May 2024

Booked vaccinations for 22nd May 2024 @ 0900.
Take booklet. Maybe put into vehicle now!!

22-05-2024

Took Mr Meow a Lot to Vet for shots.
Got told that he was over weight by about a good kilo plus
Maybe need to look at change of diet!


fix(package.json): add missing dependency (tslib)

closes #258

Coverage remained the same at 93.571% when pulling bd2ea875cb0dbeaff9818d7ddcc0d741d30da787 on #258-missing-tslib-dep into b07951444c4637fa0fc741996fbcbec658b918c1 on master.

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Access violation running simple GLOP example

What version of OR-tools and what language are you using?
Version:

stable (858fa626959f7e386153af82756384b79f983b5a)
pre-built VisualStudio2019-64bit_v7.5.7466

Language: C++17
Which solver are you using (e.g. CP-SAT, Routing Solver, GLOP, BOP, Gurobi)

CBC
GLOP

What operating system (Linux, Windows, ...) and version?
Windows 10
What did you do?
Steps to reproduce the behavior:
Run C++ Get Started Example or MIP Example
What did you see?
Consistent crash due to access violation in absl::container_internal::raw_hash_set when calling
objective->SetCoefficient(x, 3);. Digging into it, it seems the objective is not initialized correctly. And going back further in the example, the constraint vector itself seems corrupt already. This is the console output:
I0321 00:00:31.862984 16288 main.cpp:12] Number of variables = 2
I0321 00:00:31.864295 16288 main.cpp:28] Number of constraints = 389726751
00:00:31: The program has unexpectedly finished.

Not sure at all what the issue here is. Thanks for any input!

Prebuilt are using abseil-cpp C++11 while it seems you are using C++17. Since abseil-cpp is standard dependent (header will change according to c++ standard version) you must:

rebuilt or-tools against C++17, ed this is not officially supported so you'll need to hack the build system and you'll be on your own
Build your project against C++11

Compiling the examples with C++11 did indeed solve the issue. Thanks for your quick response!
Are there plans to update the standard at some point, as our project uses C++17 features throughout? For now I'm gonna go ahead and venture into DIY-rebuild-or-tools-land. Wish me luck.


compile error

before commit this issue, I understand there must be some stratagy to check compile or dependecis or something like that by travis . however , I do got confused by some compiled erorr, please give me a hand cherry @cherrylzhao

I deployed the ss dependencies by following command in ss dev branch

mvn clean install -Dmaven.test.skip -Prelease

I try to compile spi-impl by following command

mvn clean install -Dmaven.test.skip -U

and I got some compiled errors

for example , SQLRevertExecutorContext.java in spi-impl, one variable

the path for OptimizedStatement is org.apache.shardingsphere.core.optimize.statement.OptimizedStatement
but in ss , the packge path for OptimizedStatement is org.apache.shardingsphere.core.optimize.api.statement

BTW , the version of both project is 4.0.0-RC2-SNAPSHOT .

ShardingSphere dev branch have adjust some APIs, and SPI branch should synchronize with it.
I'll fix the error later.

I see . thx cherry

sorry for late response, I have fixed the error. you can try it again.

it works


Rename to PipelineManagerNonRPC

I'm not sure if anything is actually using this but it having the same id as PipelineManager is an issue when crawling the dir for the build tool.

The issue is that we have two models with the same ID. One lives in src/foam/box/pipeline/PipelineManager.js and the other lives in src/foam/box/pipeline/PipelineManagerNonRPC.js so I'm not sure what model is to be used when something requires foam.box.pipeline.PipelineManager. Since files.js has no reference to foam/box/pipeline/PipelineManagerNonRPC I'm assuming it's not actually being used anywhere.

Spoke with Mark offline about this and simply removing this model seems to be the way to go.


Expand tree animation

Hello Donatso!
Q1. I want to know is there any ways to stop the expand tree's animation, or expand faster?
Q2. Is there any ways to stop translate when I click those cards?
This family-chart is very amazing, thank you so much!!!

Maybe this will be helpful for others who are also wondering about this:
store.setOnUpdate(() => view.update({ transition_time: 0 }));


module.eks.cluster_id is not working

In v18.31.2 I used "module.eks.cluster_id" to fetch the cluster name and used that value accordingly.
but in the latest version v19.0.* I am getting error for the same
data "aws_eks_cluster" "cluster" {
name = module.eks.cluster_id
}
with module.eks_fargate.data.aws_eks_cluster.cluster,
on ../provider.tf line 2, in data "aws_eks_cluster" "cluster":
2:   name = module.eks.cluster_id
the argument "name" is required, but no definition was found.

We are facing the same issue as well.
╷
│ Error: Missing required argument
│
│   with data.aws_eks_cluster.cluster,
│   on main.tf line 55, in data "aws_eks_cluster" "cluster":
│   55:     name = module.eks.cluster_id
│
│ The argument "name" is required, but no definition was found.

Please see the upgrade guide - the error message is telling you quite clearly what the issue is https://github.com/terraform-aws-modules/terraform-aws-eks/blob/master/docs/UPGRADE-19.0.md


Pressing "Add Morpheme" button without content should not lead to error

Situation:
User is in the Gloss detail view
User wants to add a morpheme to the current gloss
User has not selected a morpheme in the textbox
Desired result:
'Nothing' should happen - no error at least (perhaps a warning message?)
(See email @ocrasborn 24/aug)

See: dictionary/update.py, add_morpheme_definition(request)
Pressing the "add morpheme" button submits a form, which is then validated.
I have added a check for the availability of a selected morpheme.
If no morpheme is selected, then the same page is returned.
It is, however, returned in edit mode (even if it was not so previously).
NO WARNING MESSAGE is supplied
@ocrasborn : close this issue?


Unable to download webpage: HTTP Error 404: Not Found

I wrote for myself a batch file from which I call youtube-dl, but if I pass the full link to the playlist, it gives me an error, if I pass only the id of the playlist then the download starts without errors.
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['--verbose', 'https://www.youtube.com/playlist?list', 'PL38DFE33C78765533', '--write-thumbnail', '-f', 'bestvideo[ext!=webm]??+bestaudio[ext!=webm]??/best[ext!=webm]', '-o', '%(playlist)s/%(playlist_index)s ']
[debug] Encodings: locale cp1251, fs mbcs, out cp866, pref cp1251
[debug] youtube-dl version 2018.05.09
[debug] Python version 3.4.4 (CPython) - Windows-10-10.0.17134
[debug] exe versions: ffmpeg git-2017-12-31-2906363, ffprobe git-2017-12-31-2906363
[debug] Proxy map: {}
[youtube:user] playlist: Downloading channel page
WARNING: Unable to download webpage: HTTP Error 404: Not Found
[youtube:user] playlist: Downloading page #1
ERROR: Unable to download webpage: HTTP Error 404: Not Found (caused by HTTPError()); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmplwokk3j3\build\youtube_dl\extractor\common.py", line 582, in _request_webpage
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmplwokk3j3\build\youtube_dl\YoutubeDL.py", line 2211, in urlopen
  File "C:\Python\Python34\lib\urllib\request.py", line 470, in open
  File "C:\Python\Python34\lib\urllib\request.py", line 580, in http_response
  File "C:\Python\Python34\lib\urllib\request.py", line 508, in error
  File "C:\Python\Python34\lib\urllib\request.py", line 442, in _call_chain
  File "C:\Python\Python34\lib\urllib\request.py", line 588, in http_error_default

Most likely you did not properly pass/escape the URL. https://www.youtube.com/playlist?list=PL38DFE33C78765533 got split into https://www.youtube.com/playlist?list and PL38DFE33C78765533.


UE code

IN601 isn't an UE code, it's the semester's code (README.md)

Thanks mate, I didn't even notice that :) Btw I'm currently trying to integrate this library to your project BdxCalendar so I would like to know your comment before submitting a PR. Will you accept it as a replacement for (1) Hackjack ics source and (2) Your current ics parser ?


Support deta kv

Describe the feature
https://deta.sh
I can port some logic from https://github.com/so1ve/dittorm-deno
Additional information

[X] Would you be willing to help implement this feature?

Sorry, close in favor of #192


Fractionalizing Ordinal Ownership w/ Runes

If you issue Runes with an Inscription/Ordinal as the parent in order to fractionalize the ownership, is there a way to create a multi-sig or threshold signature based approach so that the owners of the Runes control the transferring of the Ordinal by a 51% vote? The next step would be listing and then distributing the BTC from a sale.

This would be possible, but it would have to be done manually, i.e., you would have to move the inscription to a threshold multisig based on the current distribution of runes, and would need to move it again as the distribution changed.


Avoid passing large arrays on heap, also use less memory

This PR does a couple of things.
First of all, it changes the public interface methods that currently pass Blob  by value, to instead pass *Blob, that is , by  reference.
NOTE: This means that this PR creates a breaking change, which requires a major version-upgrade of this library, strictly speaking. :warning:
The Blob type is an array, of 130K bytes. As opposed to a slice of similar size, when an array is passed by value, every byte is passed over the heap.
Secondly, this PR pushes this change a bit further into the library, and also spot-fixes some places where memory usage can be reduced.
This PR on it's own doesn't really make a lot of difference. However, when an external user, e.g. geth, calls this library, the heap-copying might make more of a difference, since inlining cannot be performed.

I've made some changes and left some comments -- can merge once you look over them -- linter itself seems to be failing which is orthogonal to this PR (I ran it locally)

can merge once you look over them

Looks good to me!


%AMOUNT% has an extra space in the output.

i.e.
  Reward: You earned &b%AMOUNT% &ffor completing &b%COURSE%&f!

The actual in-game output has two spaces after the amount displayed. So instead of just replacing %amount% with a number, it is adding an extra space after the number in addition to it - resulting in two spaces in that language example.

I'm assuming this is in regards to the Economy Reward, this is because the currency name is blank or null then. I will fix this in next update.


Text HTML refactor

[x] Add EditForm to TextHtmlEditPlugin.razor
[x] Fix double call on TextHtmlEditPlugin's Initialization

@pournasserian there are multiple solutions to avoid double call for OnInitialized

First one i noticed at Microsoft's doc is to cache the data in our client service Stateful reconnection after prerendering so it prevents second Api call at client level but duplicate code execution still remains.
We can always disable prerendering this is a feasible solution for admin panel as we don't really need prerendering at admin panel almost all CSR frameworks Angular, React, Vue don't have SSR enabled and yet they work perfectly fine as private access Admin Panels that don't need SSR. but it's not good for Crawler Bots and SEO so our Public Pages absolutely need SSR.
Another solution is to check whether the response header has been sent to the client. if it's not, server is still prerendering else it's running at browser  IHttpContextAccessor.HttpContext.Response.HasStarted. as you can see this is more like a hack than a proper solution. check the comments on the solution some people believe that this is not a good solution and there is not guaranty that this will not be changed in future. some suggest just using OnAfterRender(bool isFirstRender) and ignore OnInitialized as it is guaranteed by the signature.

@ParsaGachkar please implement based on the third solution. Then we will review that.

there was a problem after removing the second call by checking IHttpContextAccessor.HttpContext.Response.HasStarted all values that were being set in OnInitialized were null! so, i took a hybrid approach of solutions 1 and 3!

add an OnPreRendering method definition to avoid double calling of our db logic
cache values after OnPreRendering
restore values from cache at client-side OnInitialized call
define an attribute MemoryCachedValueAttribute to ease the process (avoid storing and restoring all properties of Component)


Add Quick Start to README

Explains how to quickly use it in development.

Current coverage is 99.71% (diff: 100%)

Merging #10 into master will not change coverage

@@             master        #10   diff @@
==========================================
  Files            10         10
  Lines           692        692
  Methods           0          0
  Messages          0          0
  Branches         52         52
==========================================
  Hits            690        690
  Misses            1          1
  Partials          1          1

Powered by Codecov. Last update f25b567...aea8507


Fix code scanning alert - Disabling certificate validation

Tracking issue for:

[ ] https://github.com/biosimulations/biosimulations/security/code-scanning/11

Done in #4042

:tada: This issue has been resolved in version 9.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Is it possible to Stretch image horizontally?

Hi ..
I have an big vertical overlay. By Zoom out of below 0.09 can be viewable. At this time viewport occupies less space in container. So i want to stretch it horizontally.
But Viewport should be in same bounds..No change in bounds.y and bounds.height.
i.e zoom should apply to width and stretch the image to fit to container.
If i am increasing the width of ($("#Container1").find(".openseadragon-canvas canvas")[0]), then i am able to achieve this(Image looks bad...No worries)..which is not correct way....   Do you have any other idea
Thanks
Ganesh

So you want to stretch the actual zooming image, not the overlay, right? This is not yet possible; the issue to add this feature is #592.

I planned to put one more canvas over .openseadragon-canvas and do a copy and stretch it.. Expecting soon the feaure..
Thanks iangilman.

Well, that feature is currently in the backlog; no one has volunteered to take it on, so I don't know when it will happen.

I also have the same requirement, is it any way possible now to change the aspect ratio of the image or to Stretch the image?

There appears to have been no recent action on https://github.com/openseadragon/openseadragon/issues/592. If you're up for it, we would welcome a pull request; I'm happy to answer questions about the code as you get into it.

@iangilman Thanks for acknowledgment, I will surely look into the issue and try to solve the problem. I will update you regarding that.

I have gone through code for checking from where the height and width of TiledImage are set, before I make any changes I need to know

How does the flow of setting or overriding height and width of Tiledimage work?
What are usage of scale, normHeight, spring and contentAspectX?

If I got wrong please correct me, Image is loaded using aspect ratio so that it does not look stretched while loaded on canvas and that's why height is neglected if both are provided

Apologies for the delayed response! I've now answered these questions here: https://github.com/openseadragon/openseadragon/issues/592#issuecomment-875979435


Temporarily store attachments till message is recieved

Currently zulip stores attachments without actually checking if they are being referenced in the message being sent(the sender can just remove the upload string after the upload). This will just leave an orphaned file in the storage and will cause problems when trying to implement issue #454
I have made it store the attachment as a temp file in /tmp till it receives a message having the upload string in its body. For now it works only for local storage and not for S3.

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

Hmm, I'm not excited about the model of uploading to a temporary location and then moving files -- it seems somewhat fragile, and I'm not sure I understand how this helps with #454 -- it should be easy to e.g. delete orphaned uploads a week after they were orphaned if we have the right tracking in the data model, right?

I felt the need for creating DB entries for temp files to be a bit of an overkill but if we plan to keep temp files for a week then it might be needed. Linux already has the facility of deleting files stored in /tmp after a predefined time period enviorment variable and i wanted to use that instead of making Zulip do it.

Making an entry to a DB is less costly than copying a file. I did not realize this before. I will modify the code to skip all the storing in a temp file.

Instead of using a data model to track temporary uploads the uploaded files are first appended with a '.tmp' suffix till they are referenced by some message. Files more than a week or so can be removed by looking at their date of creation and filenames.

I think we should just track which files are temporary via a column in the database; if I'm not mistaken, the current version will cause problems in two cases:

If the user wants to preview their attachment before sending a message
If the user uploads a file whose name ends with ".tmp".

Whereas I don't see any downsides to using a database column for this purpose.

@rahuldeve thanks for working on this!    I'd also appreciate it if you cleaned up your commits by squashing them into just 1 commit adding this.

Just did a look at this again.  Thanks for all the work on this @rahuldeve, I think we're getting close to having this working!  To try to summarize the path forward for merging this pull request:

There's a few little style issues noted above still unresolved.  Let's ignore the "Atom deletes" newlines issue for now, but the rest should be dealt with
The process_attachment process needs to be looking for instances of the /user_uploads/ URL, not the () syntax, since the user is free to edit their message to only paste the link, not including the markdown wrapper for naming the file.  Ideally we'd move that to run inside the markdown processor, but if we don't do that, I'd like to have a test added for this function.
I'd really like to have automated tests for the new deletion functions and especially the one-week-later cleanup code.
We should add a management command so there's a way for a user to actually trigger the cleanup.  Can be a pretty simple file under zerver/management/commands; it might make sense to have it print out how many files it deleted to give some feedback to the user.
This needs to be rebased into a smaller set of coherent commits; probably it'd be reasonable for this to be just be 1 commit given the nature of the feature.

Let me know if you have any questions!

Should I create a separate PR for the squashed commits ?

No need to create a separate PR -- just force-push to the branch after you rebase to update this PR to match your squashed version.

Also see https://github.com/zulip/zulip/issues/666#issuecomment-210494525 for advice on how to fix the Atom whitespace issue.

@timabbott Most of the tasks are now complete. The only thing left now is to get the S3 tests up and running.

Can you rebase this to be just a few coherent commits implementing the major changes?  I think it could be e.g. 3 commits:

Add moto package and its deps to requirements.txt
Add basic tests for S3 uploading code path using moto
Add new Attachment model to track attached files (with tests for the new functionality)

In general, when you fix a bug/lint error/whatever introduced in a not-yet-merged branch, I'd like you to just fix the bug in the commit that introduced the issue using git rebase -i and then force-push the branch, rather than adding a new commit on top fixing the issue.
Check out the Zulip coding style guidelines around version control here for more details: https://zulip.readthedocs.org/en/latest/code-style.html#version-control
Does that make sense?  Let me know if you need any help.

No problem. I was in a bit of a hurry to check if Travis checks were running properly; hence the bug fix commit. I will squash the commits once I fix the merge conflict and add some documentation for the functions.

@timabbott I think almost everything is ready now!

@rahuldeve can you rebase this onto master?  There's some merge conflicts.
Also a few issues I notice:

you've got a lint error related to trailing whitespace (run tools/lint-all to see it)
test_delete_old_unclaimed_attachments is indented one layer too far, and so that test isn't actually being run

Posted a bunch of other small comments.  I think this is getting pretty close!

@timabbott Ive made the changes you asked. Btw I forgot to run the tests after squashing last time. I must have messed up somewhere there.

OK here's some more comments:

requirements.txt is mispelled in the commit message
In Zulip, the preferred comment style is # comment, not #comment; can you rebase and fix this in your commits?
A lot of the comments are unnecessary -- I'll mark a few in the diff
store_as_temp is a confusing function name -- can you change it to e.g. create_attachment.  And maybe do_process_attachment should be called do_claim_attachments for clarity as well.

Let me know when you've taken care of all that!

@timabbott Done!!

@timabbott Done!

@timabbott Fixed that typo.

Oh, I missed your question and merged this (after fixing a few small issues with whitespace that the linter hadn't caught).  Thanks for all your great work on this @rahuldeve!
Yes, I think it'd be good to have at test for the avatar uploads; feel free to just post that as an additional patch on this PR and I can merge that too.
As a sidenote, I think this block of code:
if settings.LOCAL_UPLOADS_DIR is not None:
    upload_message_image = upload_message_image_local
    upload_avatar_image  = upload_avatar_image_local
    delete_message_image = delete_message_image_local
else:
    upload_message_image = upload_message_image_s3
    upload_avatar_image  = upload_avatar_image_s3
    delete_message_image = delete_message_image_s3

really suggests that probably this file should be restructured to have two classes (probably inheriting from a common subclass), with names like LocalUploadBackend and S3UploadBackend, rather than isolated sets of functions.

Ok. I'll make a separate PR for that :) Also splitting the file into two classes makes sense but I am not sure if its worth the trouble refactoring all the code.

Yeah, I think it's worth doing that refactoring but I think it's OK to not block further progress on managing uploads on doing so.


Delete env.example

Your merge request is backward. You probably want to merge from my repo to yours. Instead, this request attempts to merge your content into my repo.


Pushing to a git repo fails - worktree should be provided

> ls -la
drwxr-xr-x   - avioli  9 Jul 10:50 .git
.rw-r--r-- 150 avioli  9 Jul 10:11 docker-compose.yaml
.rw-r--r-- 260 avioli  9 Jul 10:09 Dockerfile
.rw-r--r-- 184 avioli  9 Jul 10:28 Home.md
.rw-r--r--  32 avioli  9 Jul  9:45 readme.md

> keybase git create --team=stamatovs wiki
Repo created! You can clone it with:
  git clone keybase://team/stamatovs/wiki
Or add it as a remote to an existing repo with:
  git remote add origin keybase://team/stamatovs/wiki

> git remote add origin keybase://team/stamatovs/wiki

> git push -u origin master
Initializing Keybase... done.
Syncing with Keybase... This operation conflicted with another operation on the server, or it took too long. Please try again.
git-remote-keybase error: (1) This operation conflicted with another operation on the server, or it took too long. Please try again.

> git push -u origin master
Initializing Keybase... done.
Syncing with Keybase... worktree should be provided
git-remote-keybase error: (1) worktree should be provided

> git push -u origin master
Initializing Keybase... done.
Syncing with Keybase... worktree should be provided
git-remote-keybase error: (1) worktree should be provided

> keybase --version
keybase version 4.1.0-20190612165948+952fee6c59

my log id: 63151da48f044a9354c5fd1c

Thanks for the report.  I see the issue, it's a bug in our code triggered by a slower-than-expected connection to one of our servers from your client.  I'll fix the bug on our end.
On your end, you should be able to fix it by deleting the repo with keybase git delete, and then recreating it.  If you don't get the "This operation conflicted" error again, you should be good to go.  Sorry for the inconvenience!


[WIP] Update mysql tutorial to st.connection

TODOS

[ ] The MySQL tutorial in particular needs an older copy to be archived to link in the blog post for comparison. Not sure how best to do that (i can easily make a new page and copy the old page with a different slug but want to confirm with @snehankekre if that approach makes sense, or something else). In theory could also use the wayback machine.
[ ] I didn't test the e2e setup although I did test the final code locally. I can do this but didn't know if @snehankekre wanted to do it personally.

📚 Context
Updating database tutorials to use st.connection. Depends on pages in https://github.com/streamlit/docs/pull/622
🧠 Description of Changes

Update the MySQL tutorial to use st.connection API
planning to do more

Revised:
Here's the main update, there are some other updates too

Current:
https://docs.streamlit.io/knowledge-base/tutorials/databases/mysql
💥 Impact
Changes the tutorial setup and code
Size:

[ ] Small
[x] Not small

Contribution License Agreement
By submitting this pull request you agree that all contributions to this project are made under the Apache 2.0 license.

Kudos for the update @sfc-gh-jcarroll!! Did a cursory review and the changes LGTM :)

I can do this but didn't know if @snehankekre wanted to do it personally.

Would be great if you are able to. Else, I do it early next week too.

The MySQL tutorial in particular needs an older copy to be archived to link in the blog post for comparison.

We could link to an internet archived url if the purpose is comparison in the blog post. Or link to an older netlify deploy preview.  E.g. https://deploy-preview-620--streamlit-docs.netlify.app/knowledge-base/tutorials/databases/mysql
The number after deploy-preview in the url corresponds to the PR number. You could decrement 620 to much older versions as needed.

Internet archive for the win! I think we can just use this: https://web.archive.org/web/20230330050343/https://docs.streamlit.io/knowledge-base/tutorials/databases/mysql#write-your-streamlit-app
I like that better than netlify preview - easier to understand and potentially more durable.

✅ MySQL confirmed locally, found and fixed one bug on a column name mismatch

✅ Snowflake examples tested locally
I also added a section/example on using the Snowpark Session, and split out the snowflake SQL secrets setup to be a bit clearer.
Should be mergeable from my perspective

@vdonato updates look alright to address your feedback? Thanks!


Make indent guides indicate changing indentation earlier

The current indent-guides lazily indicate when the indentation level changes. By "lazy", I mean that the indentation guides keep showing up until a line appears with different content. Example of lazy indentation guides:

Contrast this to eager indentation guides, which disappear as soon as they can:

Lazy indentation guides work well in curly-brace languages because there is content on the line to indicate when a block finishes. However, in CoffeeScript and Python, they don't work well because there is no closing brace, and we end up with confusing guides that don't seem to match up with blocks.
This issue is asking that Atom indentation guides are changed from lazy to eager. Another way of describing it is to change the indentation guides so that they end where the closing brace would be in a curly-brace language.

+1 for eager indent guides

+1 as well.
The package 'indent-guide-improved' does this, but it straight up mangles the editor for me sometimes :(
(That, and I'm not a fan of it highlighting the indent guide of the level you're on).

This is very nice suggestion, +1

'Indent-guide-improved' seems a must have.

A very useful package indeed.
If you don't like the highlighting of the current level, paste this in your stylesheet:
.indent-guide-improved {
  &.indent-guide-stack {
    background-color: @syntax-indent-guide-color;
    &.indent-guide-active {
      background-color: @syntax-indent-guide-color;
    }
  }
}


Convert JSON.stringify \n to os.EOL

Addresses #6566 - intended to operate as discussed

Thanks @MikeBeaton!


STUCK IN MINT ASSET

What version of Wallet are you using?
Version: 0.7.2
What is happening?
is stucking in mint asset i wait for 1 hours more
to load resource: the server responded with a status of 404 () DevTools failed to load source map: Could not load content for chrome-extension://bfnaelmomeimhlpmgjnjophhpkkoljpa/content-script/contentScript.js.map: System error: net::ERR_BLOCKED_BY_CLIENT DevTools failed to load source map: Could not load content for chrome-extension://dlcobpjiigpikoobohmabehhmhfoodbb/sourcemaps/inject.js.map: System error: net::ERR_BLOCKED_BY_CLIENT DevTools failed to load source map: Could not load content for chrome-extension://dmkamcknogkgcdfhhbddcghachkejeap/browser-polyfill.js.map: System error: net::ERR_BLOCKED_BY_CLIENT DevTools failed to load source map: Could not load content for chrome-extension://enabgbdfcbaehmbigakijjabdpdnimlg/browser-polyfill.js.map: System error: net::ERR_BLOCKED_BY_CLIENT DevTools failed to load source map: Could not load content for chrome-extension://dlcobpjiigpikoobohmabehhmhfoodbb/sourcemaps/inpage.js.map: System error: net::ERR_BLOCKED_BY_CLIENT DevTools failed to load source map: Could not load content for chrome-extension://bfnaelmomeimhlpmgjnjophhpkkoljpa/content-script/inpageSol.js.map: System error: net::ERR_BLOCKED_BY_CLIENT DevTools failed to load source map: Could not load content for chrome-extension://ldinpeekobnhjjdofggfgjlcehhmanlj/utils.esm.js.map: System error: net::ERR_BLOCKED_BY_CLIENT DevTools failed to load source map: Could not load content for chrome-extension://opcgpfmipidbgpenhmajoajpbobppdil/dapp-interface.js.map: System error: net::ERR_BLOCKED_BY_CLIENT DevTools failed to load source map: Could not load content for chrome-extension://opcgpfmipidbgpenhmajoajpbobppdil/content-script.js.map: System error: net::ERR_BLOCKED_BY_CLIENT
steps to reproduce
i tried to refresh web - Disconnecting App and change my dns/network it still stucking
How it should behave?
i got my faucet and try the swayswap
What os are you seeing the problem on?
Windows Desktop
What browser?
Brave
What is your browser version?
Version 1.50.114 Chromium: 112.0.5615.49 (Official Build) (64-bit)

@Greys11, thanks for the report. In the past weeks, our network was unstable, causing transactions to be very slow and not finishing the execution. Making things like the faucet unable to create TXs. This should be solved now.


CAMEL-15531 - adding SolverManager

@davsclaus : thanks I'm working on changes !

@davsclaus I've made some changes. Can you tell me if it's okay?


sendandexit_test requires enable-isolate-groups, is not compatible with hotreload bots

/===================================================================\
| vm/dart/sendandexit_test is new and failed (Crash, expected Pass) |
\===================================================================/

--- Command "vm" (took 03.000829s):
DART_CONFIGURATION=ReleaseX64 out/ReleaseX64/dart --hot-reload-rollback-test-mode --enable-isolate-groups --ignore-unrecognized-flags --packages=/b/s/w/ir/.packages /b/s/w/ir/runtime/tests/vm/dart/sendandexit_test.dart

exit code:
-6

stderr:
../../runtime/vm/isolate.cc: 1747: error: expected: !FLAG_enable_isolate_groups
version=2.9.0-edge.17654b70d720917cfd3c222dba85e21ac67a2353 (be) (Wed Apr 22 17:34:09 2020 +0000) on "linux_x64"
pid=23535, thread=23535, isolate=main(0x5619b4656900)
isolate_instructions=5619b2ede320, vm_instructions=5619b2ede320
  pc 0x00005619b31b07fc fp 0x00007ffe5e5b01f0 dart::Profiler::DumpStackTrace(void*)+0x7c
  pc 0x00005619b2ede452 fp 0x00007ffe5e5b02d0 dart::Assert::Fail(char const*, ...)+0x82
  pc 0x00005619b3100544 fp 0x00007ffe5e5b0380 out/ReleaseX64/dart+0x1a54544
  pc 0x00005619b32006db fp 0x00007ffe5e5b0570 dart::DRT_StackOverflow(dart::NativeArguments)+0x66b
  pc 0x00007f65808812b8 fp 0x00007ffe5e5b05b0 Unknown symbol
  pc 0x00007f657fca50f0 fp 0x00007ffe5e5b05d8 Unknown symbol
  pc 0x00007f658088174c fp 0x00007ffe5e5b0648 Unknown symbol
  pc 0x00005619b30c3e02 fp 0x00007ffe5e5b06e0 dart::DartEntry::InvokeCode(dart::Code const&, dart::Array const&, dart::Array const&, dart::Thread*)+0x112
  pc 0x00005619b30c3b69 fp 0x00007ffe5e5b0770 dart::DartEntry::InvokeFunction(dart::Function const&, dart::Array const&, dart::Array const&, unsigned long)+0x2e9
  pc 0x00005619b316ce39 fp 0x00007ffe5e5b07e0 dart::Library::Invoke(dart::String const&, dart::Array const&, dart::Array const&, bool, bool) const+0x279
  pc 0x00005619b3640f87 fp 0x00007ffe5e5b08c0 Dart_Invoke+0x5d7
  pc 0x00005619b2ec886a fp 0x00007ffe5e5b0950 dart::bin::RunMainIsolate(char const*, dart::bin::CommandLineOptions*)+0x39a
  pc 0x00005619b2ec9678 fp 0x00007ffe5e5b0a60 dart::bin::main(int, char**)+0x468
  pc 0x00005619b2eca0cd fp 0x00007ffe5e5b0a80 main+0xd
-- End of DumpStackTrace
[exit     : sp(0) fp(0x7ffe5e5b05b0) pc(0)]
[dart     : sp(0x7ffe5e5b05c0) fp(0x7ffe5e5b05d8) pc(0x7f657fca50f0) dart:isolate_::__startMainIsolate@1026248 ]
[entry    : sp(0x7ffe5e5b05e8) fp(0x7ffe5e5b0648) pc(0x7f658088174c)]

--- Re-run this test:
python tools/test.py -n dartk-reload-rollback-linux-release-x64 vm/dart/sendandexit_test

I'm seeing this with current master too, but I am guessing this is temporary while @mkustermann is doing the work on #36097 ?
But whats more troubling is that per what I filed in https://github.com/dart-lang/sdk/issues/44640 even without isolate-groups hot-reload appears to be broken for spawned isolates.

I'm seeing this with current master too, but I am guessing this is temporary while @mkustermann is doing the work on #36097 ?
But whats more troubling is that per what I filed in https://github.com/dart-lang/sdk/issues/44640 even without isolate-groups hot-reload appears to be broken for spawned isolates.

Correct, JIT support is still in-progress and hot-reload and a few other things are not yet implemented.

Correct, JIT support is still in-progress and hot-reload and a few other things are not yet implemented.


Create 0xfb135ba63fc9ce153e72c300b5d45060394968bf.json

mr @khaihkdI  already made my extraction request for the verification of my mStable BTC (MBTC) token, 0x945Facb997494CC2570096c74b5F66A3507330a1 that is my ERC20 contract,
Could you check it out and tell me if I'm missing something

@thanhson1085 @khaihkd Can you help us review this pull request?

rejected.

@khaihkd Because my withdrawal request was rejected, is there something that it does not comply with.?

this is not mbtc (https://coinmarketcap.com/currencies/mstable-btc/)
you are not mstable official or a team member

DO NOT try to scam us or our user


Cards - Pinterest Float Style

Is it possible to have cards float (similar to Pinterest), so there are no empty spaces between vertically stacked cards (when using more than one column)?

@krlklm Yes, possible but not perfect. The order will be:
1 | 4 | 7
2 | 5 | 8
3 | 6 | 9
While Pinterest's order is like:
1 | 2 | 3
4 | 5 | 6
7 | 8 | 9

But how would i do it? At the moment it looks like this, but i want it to look like this.
I'm still on Spectre CSS v0.4.4. Did it change in v0.4.5?

@krlklm Please look at this. https://codepen.io/demique/pen/BLWaXN

Thanks for the link.


Implement specialized filter kernel for FixedSizeByteArray

Which issue does this PR close?

second part of #6153

The current issue is that criterion cannot test private members in the module, so I have to set some members in filter.rs to public or provide access interfaces, which may not be the best practice.

Perhaps you could add some cases to https://github.com/apache/arrow-rs/blob/master/arrow/benches/filter_kernels.rs rather than a new benchmark? I think that has a pretty good setup for testing

(thank you very much, BTW)

Okay, get it. I will add the benchmark in the first PR and the refactoring part in the second PR, instead of using Comparing Functions

Except for the part I replied that needs further discussion, all other code reviews will be fixed

I tried to run my benchmark script (https://github.com/alamb/datafusion-benchmarking/blob/main/compare_arrow_branch.sh in case you care) and it didn't report on the new benchmarks you added. I think it is because this branch doesn't have the latest master changes too
SO I merged from main and restarted the tests

The benchmark results look good to me:
filter fsb with value length 20 (kept 1/2)                                    1.00    169.3±0.40µs        ? ?/sec    1.68    284.8±0.82µs        ? ?/sec
filter fsb with value length 20 high selectivity (kept 1023/1024)             1.00     69.5±0.32µs        ? ?/sec    1.06     73.7±2.70µs        ? ?/sec
filter fsb with value length 20 low selectivity (kept 1/1024)                 1.00      3.2±0.01µs        ? ?/sec    1.14      3.6±0.01µs        ? ?/sec
filter fsb with value length 5 (kept 1/2)                                     1.00    169.0±0.30µs        ? ?/sec    1.61    272.6±0.67µs        ? ?/sec
filter fsb with value length 5 high selectivity (kept 1023/1024)              1.00     10.3±0.33µs        ? ?/sec    1.10     11.4±0.63µs        ? ?/sec
filter fsb with value length 5 low selectivity (kept 1/1024)                  1.00      3.2±0.00µs        ? ?/sec    1.15      3.6±0.01µs        ? ?/sec
filter fsb with value length 50 (kept 1/2)                                    1.00    188.9±2.39µs        ? ?/sec    1.73    326.8±2.32µs        ? ?/sec
filter fsb with value length 50 high selectivity (kept 1023/1024)             1.05   242.5±24.39µs        ? ?/sec    1.00   230.0±13.04µs        ? ?/sec
filter fsb with value length 50 low selectivity (kept 1/1024)                 1.00      3.1±0.00µs        ? ?/sec    1.13      3.5±0.01µs        ? ?/sec

by the way :
    /// Extends the buffer with a new item, without checking for sufficient capacity
    /// # Safety
    /// Caller must ensure that the capacity()-len()>=`size_of<T>`()
    #[inline]
    pub unsafe fn push_unchecked<T: ToByteSlice>(&mut self, item: T) {
        let additional = std::mem::size_of::<T>();
        let src = item.to_byte_slice().as_ptr();
        let dst = self.data.as_ptr().add(self.len);
        std::ptr::copy_nonoverlapping(src, dst, additional);
        self.len += additional;
    }

The type T of item here cannot be a slice type. If we want to increase the ability of this function to handle slice types, it may involve incompatible modifications.

The baseline is extend_from_slice version.
According to the benchmark results, there is almost no difference in performance between these two methods
filter fsb with value length 5 (kept 1/2)
                        time:   [119.79 µs 119.95 µs 120.16 µs]
                        change: [-1.0017% +0.9824% +3.0183%] (p = 0.35 > 0.05)
                        No change in performance detected.
Found 13 outliers among 100 measurements (13.00%)
  3 (3.00%) high mild
  10 (10.00%) high severe

filter fsb with value length 5 high selectivity (kept 1023/1024)
                        time:   [20.973 µs 21.159 µs 21.352 µs]
                        change: [+1.7384% +2.8273% +3.8921%] (p = 0.00 < 0.05)
                        Performance has regressed.
Found 1 outliers among 100 measurements (1.00%)
  1 (1.00%) low mild

filter fsb with value length 5 low selectivity (kept 1/1024)
                        time:   [1.6726 µs 1.6808 µs 1.6892 µs]
                        change: [-12.122% -11.630% -11.143%] (p = 0.00 < 0.05)
                        Performance has improved.

filter context fsb with value length 5 (kept 1/2)
                        time:   [22.079 µs 22.143 µs 22.247 µs]
                        change: [-0.1067% +0.2270% +0.5189%] (p = 0.16 > 0.05)
                        No change in performance detected.
Found 6 outliers among 100 measurements (6.00%)
  2 (2.00%) high mild
  4 (4.00%) high severe

filter context fsb with value length 5 high selectivity (kept 1023/1024)
                        time:   [22.071 µs 22.099 µs 22.152 µs]
                        change: [-0.1885% +0.1895% +0.5296%] (p = 0.34 > 0.05)
                        No change in performance detected.
Found 10 outliers among 100 measurements (10.00%)
  4 (4.00%) high mild
  6 (6.00%) high severe

filter context fsb with value length 5 low selectivity (kept 1/1024)
                        time:   [22.062 µs 22.095 µs 22.143 µs]
                        change: [+0.0099% +0.1751% +0.3568%] (p = 0.04 < 0.05)
                        Change within noise threshold.
Found 9 outliers among 100 measurements (9.00%)
  2 (2.00%) high mild
  7 (7.00%) high severe

filter fsb with value length 20 (kept 1/2)
                        time:   [134.22 µs 134.38 µs 134.53 µs]
                        change: [+4.3318% +4.6516% +4.9943%] (p = 0.00 < 0.05)
                        Performance has regressed.
Found 13 outliers among 100 measurements (13.00%)
  5 (5.00%) low mild
  5 (5.00%) high mild
  3 (3.00%) high severe

filter fsb with value length 20 high selectivity (kept 1023/1024)
                        time:   [271.86 µs 273.74 µs 275.71 µs]
                        change: [+5.3890% +7.3050% +9.1749%] (p = 0.00 < 0.05)
                        Performance has regressed.
Found 1 outliers among 100 measurements (1.00%)
  1 (1.00%) high mild

filter fsb with value length 20 low selectivity (kept 1/1024)
                        time:   [1.6427 µs 1.6509 µs 1.6592 µs]
                        change: [-11.179% -10.468% -9.7402%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 2 outliers among 100 measurements (2.00%)
  2 (2.00%) high mild

filter context fsb with value length 20 (kept 1/2)
                        time:   [22.169 µs 22.255 µs 22.355 µs]
                        change: [-3.0221% -2.3515% -1.6009%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 13 outliers among 100 measurements (13.00%)
  3 (3.00%) high mild
  10 (10.00%) high severe

filter context fsb with value length 20 high selectivity (kept 1023/1024)
                        time:   [22.092 µs 22.294 µs 22.540 µs]
                        change: [+0.0301% +0.5035% +1.0283%] (p = 0.06 > 0.05)
                        No change in performance detected.
Found 10 outliers among 100 measurements (10.00%)
  3 (3.00%) high mild
  7 (7.00%) high severe

filter context fsb with value length 20 low selectivity (kept 1/1024)
                        time:   [22.078 µs 22.153 µs 22.278 µs]
                        change: [-0.9876% -0.0396% +0.7882%] (p = 0.93 > 0.05)
                        No change in performance detected.
Found 10 outliers among 100 measurements (10.00%)
  6 (6.00%) high mild
  4 (4.00%) high severe

filter fsb with value length 50 (kept 1/2)
                        time:   [420.94 µs 432.61 µs 444.20 µs]
                        change: [+1.7582% +4.1423% +6.5138%] (p = 0.00 < 0.05)
                        Performance has regressed.
Found 11 outliers among 100 measurements (11.00%)
  9 (9.00%) low mild
  2 (2.00%) high mild

filter fsb with value length 50 high selectivity (kept 1023/1024)
                        time:   [700.91 µs 713.64 µs 727.65 µs]
                        change: [-0.8821% +1.3435% +3.3318%] (p = 0.25 > 0.05)
                        No change in performance detected.
Found 6 outliers among 100 measurements (6.00%)
  2 (2.00%) high mild
  4 (4.00%) high severe

filter fsb with value length 50 low selectivity (kept 1/1024)
                        time:   [1.8066 µs 1.8227 µs 1.8416 µs]
                        change: [-10.498% -9.3662% -7.8719%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 5 outliers among 100 measurements (5.00%)
  2 (2.00%) high mild
  3 (3.00%) high severe

filter context fsb with value length 50 (kept 1/2)
                        time:   [22.234 µs 22.498 µs 22.830 µs]
                        change: [-1.1997% -0.0554% +0.9810%] (p = 0.92 > 0.05)
                        No change in performance detected.
Found 14 outliers among 100 measurements (14.00%)
  3 (3.00%) high mild
  11 (11.00%) high severe

filter context fsb with value length 50 high selectivity (kept 1023/1024)
                        time:   [22.073 µs 22.094 µs 22.122 µs]
                        change: [-0.4814% -0.0013% +0.5338%] (p = 1.00 > 0.05)
                        No change in performance detected.
Found 13 outliers among 100 measurements (13.00%)
  1 (1.00%) high mild
  12 (12.00%) high severe

filter context fsb with value length 50 low selectivity (kept 1/1024)
                        time:   [22.112 µs 22.232 µs 22.437 µs]
                        change: [-0.4878% -0.0770% +0.5095%] (p = 0.78 > 0.05)
                        No change in performance detected.
Found 10 outliers among 100 measurements (10.00%)
  1 (1.00%) high mild
  9 (9.00%) high severe


Bug: localStorage isn't getting cleaned

Task
Description
Sometimes when I use extension and revisit page later it won't appear after first click. The fact first click won't turn it on means that extension thinks overlay is visible already and tries to clear it. Second click is working normally.
Expectation
When overlay isn't visible it appears always on first action click

localStorage is now cleaned onunload.


Refactor float handling

All db cols should be scale 2
Zero tests should be consistent

Originally created by Tom Smyth at 2015-11-12 15:32, migrated from redmine-#3611

Status changed from New to Closed

By Tom Smyth at 2016-03-03 08:01


Feature want: custom list for the windows switcher

Can we input some keywords in the config;
like chrome, vscode, terminal;
then alt+` just switch between the windows which just related to the keywords.

Use a blacklist to filter apps that don't want to use alt+`
[switch-windows]
# List of hotkey conflict apps
# e.g. game1.exe,game.exe
blacklist =

nice!


Added webcam features

Thanks to @gurgelx for his webcam project.
Added:

gpWebcam call driver
helper method getWebcamIP
Calls startWebcam, stopWebcam, webcamFOV and getWebcamPreview (launches VLC)
renewWebcamIP (renews IP address)

Issues on MacOS 10.15.6 with Hero 8:

GoProCamera.GoPro.getWebcamIP() returns <IP_ADDRESS> but IP of GoPro is <IP_ADDRESS> (interface on macOS is assigned '<IP_ADDRESS>')

when manually adjusting the example to:

from goprocam import GoProCamera, constants
gopro = GoProCamera.GoPro(ip_address="<IP_ADDRESS>") # change
gopro.startWebcam(constants.Webcam.Resolution.R720p)
gopro.webcamFOV(constants.Webcam.FOV.Linear)
gopro.getWebcamPreview()

output:
python examples/launch_webcam_preview.py

HERO8 Black
HD<IP_ADDRESS>.00
Camera successfully connected!
VLC media player <IP_ADDRESS> Vetinari (revision <IP_ADDRESS>-0-g52483f3ca2)

but no stream is received.
GP8 display shows "webcam" but not with red background, so I assume the UDP trigger was not sent.

Update: GP8 works with manual IP and the following change:
diff --git i/goprocam/GoProCamera.py w/goprocam/GoProCamera.py
index fc22130..453ca0b 100644
--- i/goprocam/GoProCamera.py
+++ w/goprocam/GoProCamera.py
@@ -76,7 +77,7 @@ class GoPro:
         """Sends keep alive packet"""
         while True:
             sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
-            sock.sendto("_GPHD_:0:0:2:0.000000\n".encode(),
+            sock.sendto("_GPHD_:1:0:2:0.000000\n".encode(),
                         (self.ip_addr, 8554))
             time.sleep(2500/1000)

Hi, I want to debug the issue where your getWebcamIP() return <IP_ADDRESS>, mind doing ifconfig and putting the correct interface as a parameter in getWebcamIP() (so getWebcamIP("enp0s20u2") in my case).
I'll also fix the UDP keep alive issue.

If you want, do a PR with the changes you made, and I'll review it and merge it.

@KonradIT on macos the usb ethernet appears just as regular ethernet interface:
en8: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
	options=6407<RXCSUM,TXCSUM,VLAN_MTU,CHANNEL_IO,PARTIAL_CSUM,ZEROINVERT_CSUM>
	ether 32:ff:7b:cf:c7:3f
	inet6 fe80::26:4de7:ed48:221c%en8 prefixlen 64 secured scopeid 0x16
	inet <IP_ADDRESS> netmask 0xffffff00 broadcast <IP_ADDRESS>
	nd6 options=201<PERFORMNUD,DAD>
	media: autoselect (100baseTX <full-duplex>)
	status: active

Merging as it's pretty stable in my tests. I've been using this branch as my main branch for a week now to offload videos and photos using GoProDashboard and cannot go back to use an SD card reader or MTP connection. Webcam stream does have about 500ms-1000ms of lag in my testing.


can't "hide DS4 controller"

Hi, I use a DS4 with a usb cable, and I can't activate "hide DS4 controller", it asks me to close other applications like steam or uplay that aren't even open. Makes this great piece of software completely useless!

I also have this problem, sometimes it works, sometimes it doesn't.


missing character?

I explored this library missing 2 basic characters: ㇀ and ㇏
is it possible to update 2 characters's data?

@chanind can u support me this case?


The new POWR316, POWR316D, POWR320D do not work locally

Hi
I love the SonoffLAN integration - it is a godsend for controlling everything. Thanks!
When Mode=Local, the new Sonoff POWR316/POWR316D/POWR320D do not toggle, yet they correctly show the state when we manually toggle the switches.
All the other 12 Sonoff switches and devices all work without a problem when Mode=Local
When I chage Mode to Auto, then the POW316/POWR316D/POWR320D all work correctly with toggle.
Thanks
Wayne
config_entry-sonoff-213b1b89a2f93b16dc8516372ed9beab.json.txt

Hi @wreuvers , also loving @AlexxIT Sonoff-LAN integration, but am noticing some anomalies with the these new POWR series  (specifically POWR320D in my case). I have noticed these devices go through stages where the they go "unavailable" randomly while my other Sonoff devices (in same location) remain online. Reason for my post here is that maybe the Sonoff-LAN integration isn't the route cause, but rather the actual device availability? I have read a few blogs moaning about these particular Sonoff devices wifi connection reliability. I know this is not a in direct relation to your query, but maybe it is related. I am considering swapping out the POWR3xx units for the older (more reliable?) units. I am using latest FW1.0.7.

Yes, they are definitely not as reliable - I see them lose connection fairly often (3 to 4 times per evening). But the toggle issue is very likely an integration issue as when mode=local I can see the state of the switch in home assistant as I change it with the manual button, I just cannot toggle the switch through home assistant unless mode=auto

Should be fixed in latest master version

https://github.com/AlexxIT/SonoffLAN/releases/tag/v3.5.1


Work on the Carbon demo window update and share with the team

As a Cupcake website content creator

I need to update the demo window design on our end to match what Carbon has

so that I can share the update with our team and in demo.

Additional information

Anna updated the demo window and I need to have a conversation with her and find out exactly what changed and the reason behind it so I can share it with our team for alignment purposes.

Task

Collaborate with Anna for the latest design

Acceptance criteria

[ ] Share the updated design with our team

Demo window updated:
Left (Previous version) Right (Updated version)

Visual differences:

The name of the component is added to the upper right-hand corner.
The option labels under the Modifiers are presented in lowercase.
The "Variant" label is changed to "kind".
The "State" label is changed to "Modifier".
The order of button size is starting with the default size.
The order the button types are in logical/semantic order now (Primary>Secondary>Types of secondary>Tertiary).

@wonilsuhibm We need to have a conversation with Alison and Robin to make sure we are aligned on we need the code and assistant to implement the demo window when it's ready, so we can present the component information to adopters the same way Carbon does.
FYI - @jeffchew

Task update: Signed up to share the demo window update in our team huddle tomorrow.

Demo window update share completed.


Function treated as state variable

Old versions of solidity contracts use for fallback and receive (sometimes even having revert) following function syntax
function () payable { ... }

Current AST parsing will fail if function like above is reached. It will fail under state variable discovery (which is weird).
So far, only investigating potential solutions. Most likely this will be related to grammar file not supporting functions like that. If that's the case, we'll branch off grammar from solidity externals and start maintaining our own (or just apply patches once we sync external repo).
If it's grammar issue, it's in fact, not issue but no longer supported functionality and therefore we cannot file any bugs.
If it's due to antlr-go, then we need to file bug to antlr or fork it off.
It happens very rarely, only with old contracts.

Introduced hack into the #116 to sort this problem out by casting state variable into partial fallback. Problematics with this is that it's a hack, working one to a level as parameters are not parsed properly.
In the future we need to go deep into the antlr4-go and solidity grammar to sort this issue out as our grammar should support not only 0.8 but from the first version to the end.


failed create shortcut using SetupReiPatcherAndAutoTranslator

when i run SetupReiPatcherAndAutoTranslator.exe, it  freeze and i get this error
can you help me?

u can just create the shortcut urself after running the failing installer
change the shortcut properties, 'Target' and 'Start in' to this:
Target: "D:\Program Files (x86)\ASTRONAUTS_SIRIUS\GUILDMASTER\ReiPatcher\ReiPatcher.exe" -c "GuildMaster_Game.ini"
Start in: "D:\Program Files (x86)\ASTRONAUTS_SIRIUS\GUILDMASTER\ReiPatcher"
or u can use IPA or BepInEx packages as they are both very easy to install. Then just install this as a plugin to those after that

It works, thanks.
But why my text still in Japanese?

just got around to trying out the game
it also did not work for me but it seems that if u disable certificate validation in the config file then it starts working:
[Http]
DisableCertificateValidation=True

OK thanks, i will try it.
In the end, we need wait for fans or official translation to play the game 100% English.
Hahahahaha.


Use https instead of http for thingproxy

Hi Thomas!
Super glad you dived into making a web interface for your Point! I tried it out for my own Point. Easy to setup and run.
This PR includes change from http to https to avoid sending any passwords and data in cleartext to freeboard.io.
Happy hacking!
Marcus
Co-founder of Minut

Thanks Marcus.


Parse Nginx Proxy Manager

Hey, love your product!
I read #2331 and #892, but still do not catch how I can parse this log correctly.

There are 2 status codes - on the Proxy and from the backend, like 200 200 or - 301, but I can't skip first field that should be $upstream_status
I would like to use $scheme, but when I add %H it does not work. So I skip it
Also there is no URL and Visitors counted.
Status codes only 404s are shown on the graph.

goaccess version: 1.7.

Log configuration in nginx:
[$time_local] $upstream_cache_status $upstream_status $status - $request_method $scheme $host "$request_uri" [Client $remote_addr] [Length $body_bytes_sent] [Gzip $gzip_ratio] [Sent-to $server] "$http_user_agent" "$http_referer"

goaccess parameters:
(cat /var/docker/data/npm/data/logs/*_access.log ; zcat /var/docker/data/npm/data/logs/*_access.*.gz) | goaccess -a -o html --log-format '[%d:%t %^] %^ %s - %m %^ %v "%U" [Client %h] [Length %b] [Gzip %^] [Sent-to $^] "%u" "%R"' --time-format %T --date-format %d/%b/%Y --http-protocol=yes - > all_report.html

Logs example:
[11/Jan/2023:02:16:53 +0100] - - 301 - GET http mycooldomain.com "/" [Client <IP_ADDRESS>] [Length 166] [Gzip -] [Sent-to dokuwiki] "Expanse indexes customers\xE2\x80\x99 network perimeters. If you have any questions or concerns, please reach out to<EMAIL_ADDRESS>"-"
[11/Jan/2023:03:17:44 +0100] - 200 200 - GET https mycooldomain.com "/" [Client <IP_ADDRESS>] [Length 38893] [Gzip -] [Sent-to dokuwiki] "Expanse indexes customers\xE2\x80\x99 network perimeters. If you have any questions or concerns, please reach out to<EMAIL_ADDRESS> If you have any questions or concerns, please reach out to<EMAIL_ADDRESS>"-"
[11/Jan/2023:11:33:06 +0100] - 200 200 - GET https mycooldomain.com "/" [Client <IP_ADDRESS>] [Length 38893] [Gzip -] [Sent-to dokuwiki] "Expanse indexes customers\xE2\x80\x99 network perimeters. If you have any questions or concerns, please reach out to<EMAIL_ADDRESS>"-"

Thanks for answer, I modify a bit for my purpose and it works well.
Basically there are 3 kind of logs will be generated by NPM:

Proxy logs - Services that are set as Proxy proxy-host-*_access.log
Dead Host - Services that are set as "404" Hosts dead-host-*_access.log
Default Host - Request that are not fitting into any configuration default-host_access.log
Fallback Host - IDK what is here, but a lot of trash fallback_access.log
Redirection Hosts - Services configure as redirect redirection-host-*_access.log

Problem - they have a bit different Logs format, so we need different command for them:

Proxy Logs:--log-format='[%d:%t %^] %C %^ %s %^ %m %^ %v "%U" [%^ %h] [%^ %b] %^"%u" "%R"' \
--date-format=%d/%b/%Y \
--time-format=%T

Command could be:goaccess access.log --log-format='[%d:%t %^] %C %^ %s %^ %m %^ %v "%U" [%^ %h] [%^ %b] %^"%u" "%R"' --no-strict-status --date-format=%d/%b/%Y --time-format=%T

Dead Host Logs:--log-format='[%d:%t %^] %s %^ %m %^ %v "%U" [%^ %h] [%^ %b] %^"%u" "%R"' \
--date-format=%d/%b/%Y \
--time-format=%T \

Command could be:goaccess access.log --log-format='[%d:%t %^] %s %^ %m %^ %v "%U" [%^ %h] [%^ %b] %^"%u" "%R"' --no-strict-status --date-format=%d/%b/%Y --time-format=%T

Default Host Logs:--log-format='%h %^ %^ [%d:%t %^] "%m %U %H" %s %b "%^" "%u"' \
--date-format=%d/%b/%Y \
--time-format=%T

Command could be:goaccess access.log --log-format='%h %^ %^ [%d:%t %^] "%m %U %H" %s %b "%^" "%u"' --no-strict-status --date-format=%d/%b/%Y --time-format=%T

Fallback host has the same format as Dead Hosts.
Redirection hosts has the same format as Dead Hosts.

Glad that worked and thanks for sharing those findings. There's a request #213 to support multiple log format. I may get to it sooner than later. Stay tuned.


Make the LMDB backing store thread safe

We should investigate whether the LMDB backing store is thread safe, and make it thread safe where it is not. One part of the LMDB backing store that is not thread safe is the bsClose function:
    bsClose :: m ()
    bsClose = do
      guardDbClosed dbClosed
      Trace.traceWith dbTracer $ TDBClosing dbFilePath
      openHandles <- IOLike.readTVarIO dbOpenHandles
      for_ openHandles HD.bsvhClose
      IOLike.atomically $ IOLike.modifyTVar dbClosed (const True)
      liftIO $ LMDB.closeEnvironment dbEnv
      Trace.traceWith dbTracer $ TDBClosed dbFilePath

In this definition, the list of open handles is read atomically, but is only until after we have closed each handle that we declare the whole of the backing store as closed. This means that new value handles can be created that will not be closed automatically, even though the backing store will become closed at some point. Value handles that are still open after the backing store is closed will throw errors if we try to submit reads to them, since the underlying LMDB environment/database will have been closed.

Now unblocked since #44 is solved. We now have to decide whether the performance numbers on #53 are sufficient.


Titan sliding / non stop attacks

The aottg community didn’t like how the titans are instant stop when performing attack animations. So, similar to the first game, Slide attacks are back. The community has named this 'slide attack.' Below are example gifs for a few of the how attacks looks. Slide works same as for shifters so attacks looks smoother
orginal game

modified game

ready to merge it


Feature Request: Defer CSS for the current HTML page.

Just as in lighthouse and page insights suggests developers to defer css, I think that this is a great task for pagespeed.

Well, there is https://www.modpagespeed.com/doc/filter-prioritize-critical-css, does that look like what you need?

Absolutely is! Thank you. I will play around with that filter.


Internationalisation

While learning the codebase I've been working on some trivial PRs including spelling and the like.  It occurred to me that it's not that much more effort [hah!] to do a full internationalisation of all the output messages.  Is there any appetite for this?  I'm happy to do the work but understand that it's not always desirable.
Advantages:

Perhaps increase contributions to and  awareness of cfn-lint
Assist non-English speakers to improve their template quality

Disadvantages:
The usual:

Code uglification.  For many people, myself included, having _() plastering code makes it harder to read the code.
Having to maintain the message tables is an added overhead.  Obviously the default of returning the string for an unmatched key e.g. _('my new message') helps here, but still...
Productivity loss / contributor annoyance.   See above points.

Discussion welcome

Interesting offer! I like the idea of localization/internationalization but I'm of two minds:

Not sure if our contributor base has hit the critical mass necessary to accept the overhead
But it's only going to get more complicated as we add more rules

Other opinions?

Well, IT is worldwide pretty "English" oriented, so Internationalisation of the core "IT" tooling around is not (or should not) be a big issue, although I agree it's added value and might help with the adoption rate.
But it's the downsides that bother me, it adds complexity and maintenance to the codebase. But not only in the codebase itself, but this also (possibly) affect external code, for instance when using custom code.

@mikecee I absolutely agree that the error messages need a little work.  I would bet some are not easy to read for non English speakers.   I know certain teams are lucky enough to have a group of people looking into this type of stuff.  If you see any phrases or poor grammar choices that we can fix to make rule descriptions more readable please let us know or submit a pull request.
I would be curious what it would take to provide such a feature but I'm with @cmmeyer on making sure we hit a more critical mass before we accept the overhead.

Unfortunately, we won't have the resources to maintain manual translations for the foreseeable future, so I'm going to close this issue
Feel free to contribute error message improvements in any case where messages are unnecessarily difficult to translate from English using another tool or understand for non native English speakers. I'll also reach out to our tech writers to see if there are any guidelines or tools to help make our English messages more accessible


Issue-#27: Implemented wildcards check

Implemented a check for topics with wildcards

Merged. Thanks for contributing.


Mutable references

For now, the frontend allows only local mutation and no mutable borrowing for safety reasons. It would however, provide great value to also allow mutable references. This should be possible by targetting the imperative phase of Stainless.
Example in Scala: https://github.com/jad-hamza/stainless/blob/72c0052255878c440e0a1d00260f4ebf04ba5860/frontends/benchmarks/imperative/valid/ReturnWithMutation.scala

The current plan is to support mutable references &mut T by modelling them as mutable ADT:
case class Mut[T](var value: T)

Survey of possible problems with mutable references

[ ]  Clone erasure for mutable things could already be unsafe #136

[ ]  All functions are annotated pure code. This would have to be to inferred. Could it pose verification problems? (Currently, only one test fails if run without pure annotations on all functions)

[ ]


Created Devzat status page

Added a Devzat main server status page to readme file

Looks good!

Thank you!


prepOrbidata.R "basic user editing" as command line arguments

Might be useful to have a way for some things like directory be passed as arguments. IPO parameters could be parsed from a list or even a txt file

There's a small (perhaps useless?) starting point for this in lines 352-373 (output) and 408-416 (for reading back in) in current version: https://github.com/vanmooylipidomics/LipidomicsToolbox/blob/master/prepOrbidata.R


HLD for adding error state to checkbox and radio group

Pull Request
🤨 Rationale
HLD for adding error state to checkbox and radio group
This is the HLD for #2018 and #2019
👩💻 Implementation
N/A
🧪 Testing
N/A
✅ Checklist

[ ] I have updated the project documentation to reflect my changes or determined no changes are needed.

@m-akinc, will you buddy this PR for me?


Issue serializing object data

Issue Description
I'm trying to use reddit to gather image data for a machine learning project. Right now I am trying to collect the links that are posted to a subreddit so that after a period of time I can retrieve the image posted and the score users have given it.
relevant code:
reddit = praw.Reddit(client_id=client, client_secret=secret, user_agent=agent)
reddit.read_only = True

ep = reddit.subreddit('EarthPorn')
for sub in ep.stream.submissions():
    print(sub.title)
    print(sub.url)
    print('\n\n')
    r.rpush('earth', json.dumps({ #redis list
        'id': sub.id,
        'utc': sub.created_utc,
        'title': sub.title,
        'permalink': sub.permalink,
        'url': sub.url
    }))

Output:
aclqcf
https://i.redd.it/2khok7h5lg821.jpg

Traceback (most recent call last):
  File "debug.py", line 48, in <module>
    'url': sub.url
  File "/usr/lib/python3.6/json/__init__.py", line 231, in dumps
    return _default_encoder.encode(obj)
  File "/usr/lib/python3.6/json/encoder.py", line 199, in encode
    chunks = self.iterencode(o, _one_shot=True)
  File "/usr/lib/python3.6/json/encoder.py", line 257, in iterencode
    return _iterencode(o, 0)
  File "/usr/lib/python3.6/json/encoder.py", line 180, in default
    o.__class__.__name__)
TypeError: Object of type 'Redditor' is not JSON serializable

The issue seems to be only with the sub.url property and nothing else. I have tried to get to behave as the string which print(sub.url) shows that it is multiple ways. typecasting with str(), using pickle to serialize and unserialize the object, used getattr(sub, 'url') with repr(), I try'd using copy to make shallow or deep copies to no success either. Also type(sub.url prints me <class 'str'> which justs adds to me being stumped.
I'm pretty new to python so I appreciate any help.
System Information

PRAW Version: 6.0.0
Python Version: 3.6.7
Operating System: Ubuntu 18.04.1

I think the part of error message
 File "debug.py", line 48, in <module>
   'url': sub.url

is bit misleading; the actual error raised when the json module trying to encode Redditor instance (`Submission.author` yields it) to a JSON value. Compare:

cat foo.py
import json
class Foo: pass
json.dumps({
'a': 1,
'b': Foo(),  # cannot to be encoded
'c': 3
})

python foo.py
Traceback (most recent call last):
File "foo.py", line 6, in
'c': 3
File "/usr/lib/python3.7/json/init.py", line 231, in dumps
return _default_encoder.encode(obj)
File "/usr/lib/python3.7/json/encoder.py", line 199, in encode
chunks = self.iterencode(o, _one_shot=True)
File "/usr/lib/python3.7/json/encoder.py", line 257, in iterencode
return _iterencode(o, 0)
File "/usr/lib/python3.7/json/encoder.py", line 179, in default
raise TypeError(f'Object of type {o.class.name} '
TypeError: Object of type Foo is not JSON serializable

Fo your case, `str(sub.author)` (pass `Submission.author`, which yields `Redditor` instance, to `str()`) should work.