Omnibus fresh object subtype reduction / contextual type issue

// Problem 1: Error spans are useless in contextually-typed array/object literal cases
type Kind = 'foo' | 'ball';
// Error is on declared identifier instead of bad element
const ka: Kind[] = [
    'foo', 'ball', 'xxxx', 'foo', 'ball'
];
// Error is on declared identifier instead of bad key
const ko: { [s: string]: Kind } = {
    'x': 'foo',
    'y': 'xxxx',
    'z': 'foo'
};

// Problem 2: Subtype reduction screwage in the presence of contextual type
type OK = { ok?: boolean };
// No error??
const o1: OK = '??' ? { ok: 'wat' } : { };

// Problem 3: Aliased subtype reduction screwage
const obj = '??' ? { ok: 'wat' } : {};
// No error??
const o2: OK = obj;

Hypotheses:

Computing a union type in the presence of a contextual type is a waste of time

If we do this, we can produce good error spans?

Unioning { x: T } with a fresh { } should produce { x?: T }
Unioning a fresh object literal with { } should do something special
Unioning fresh { x: number, y: number } | { x: number } should produce { x: number, y?: number}

pardon me, can we keep { x: T } |  {} as it is: { x: T } | {} ? or what is the way to encode an empty (no properties) object?

@aleksey-bykov The issue is that { x: T } | {} is too weak. Anything is assignable to it because anything is assignable to {}. The idea is to instead infer the type { x: T? } which says that if there is an x property it must be of type T.

it's sad that there is no place for a true empty object {} which doesn't accept any properties
we use it as yet another unit type in addition to null and undefined and []

so the problem here is the syntax {} is overloaded with semantics:

{} should mean an object with no properties as it literally stands
{} should mean a top type assignable from anything
we need a way to distinguish the two #12936


Barrels do not work any more

After updating angular2-compilers from 0.5.7 to 0.6.0
It dose not support the Barrels any more.
angular2-compilers 0.5.8 also does not support.
Say I have a folder.
foo
-- aa.component.ts
-- bb.component.ts
-- index.ts

index.ts
export * from './aa.component';
export * from './bb.component';

Using Barrels, I can do import { AaComponent, BbComponent } from './foo';, however now it does not work any more.

Now I have to import like this:
import { AaComponent } from './foo/aa.component';
import { BbComponent } from './foo/bb.component';

A dup of https://github.com/barbatus/typescript-compiler/issues/17


Crash in SSL_Session_free in OpenSSL 1.1.1k

HI,
our WebServer is frequently crashing with the dump pointing to _openssl.pyd, the Python wrapper.
This is a stable server that has been running for many years on many sites. The crashes only started to occur with 1.1.1
We had them in 1.1.1d, 1.1.1i and now in 1.1.1k
it looks like it is something to do with Session caching. I have therefore turned off caching and will monitor.
But this is the stack traceback.
0:001> kb
 # RetAddr           : Args to Child                                                           : Call Site
00 00007ffc`b4e484e1 : 00000000`00000000 00000000`00000000 0000ae6a`16ef2b39 00000000`00000002 : ntdll!NtWaitForMultipleObjects+0x14
01 00007ffc`b4e47775 : 00000000`00000db8 00000000`00000000 00000000`00000db8 00000000`00001000 : ntdll!WerpWaitForCrashReporting+0x6d
02 00007ffc`b4e46787 : 00000000`00000000 00000000`014bc060 00000000`020410b8 00000000`057725c8 : ntdll!RtlReportExceptionHelper+0x269
03 00007ffc`b4f3712d : 00007ffc`b4f779bc 00000000`014bc670 00000000`00000001 00000000`00000000 : ntdll!RtlReportException+0x77
04 00007ffc`b4ed6776 : 00000000`01fc6788 00000000`00cd0000 00000000`066c6d48 00000000`00000000 : ntdll!RtlReportCriticalFailure$filt$0+0x33
05 00007ffc`b4ee57e2 : 00007ffc`b4f779dc 00000000`014bc6c0 00000000`014bc670 00000000`00000000 : ntdll!_C_specific_handler+0x96
06 00007ffc`b4eea70d : 00000000`00000000 00000000`014bb1d0 00000000`014bc060 00000000`00000001 : ntdll!_GSHandlerCheck_SEH+0x76
07 00007ffc`b4e749c3 : 00000000`00000000 00000000`014bc060 0000430a`846f0900 00000000`65b1ea8f : ntdll!RtlpExecuteHandlerForException+0xd
08 00007ffc`b4e766d9 : 00000000`014bb920 00007ffc`9ebc0f6a 00000000`014bb840 00007ffc`9ebc1106 : ntdll!RtlDispatchException+0x373
09 00007ffc`b4f370d3 : 00000000`00000000 00000000`c0000374 00000000`00000001 00007ffc`b4f8d6b0 : ntdll!RtlRaiseException+0x2d9
0a 00007ffc`b4f37a72 : 00000000`00000000 00007ffc`b4f8d6b0 00000000`00cd0000 00000000`073e9f20 : ntdll!RtlReportCriticalFailure+0x97
0b 00007ffc`b4ee573a : 00000000`00cd0000 00000000`00000000 00000000`073e9f20 00007ffc`9ebfe083 : ntdll!RtlpHeapHandleError+0x12
0c 00007ffc`b4e86225 : 00000000`073e9f30 00000000`06f30560 00007ffc`9ebfe07a 00007ffc`9ebed668 : ntdll!RtlpLogHeapFailure+0x96
0d 00000000`6595cabc : 00000000`073e9f30 00007ffc`00000000 00000000`073e9f30 00000000`014bc9a0 : ntdll!RtlFreeHeap+0x125
0e 00007ffc`9ebb7d4b : 00000000`03f19de0 00000000`04506a40 00000000`06f30560 00007ffc`9ebb7cfa : msvcr90!free+0x1c [f:\dd\vctools\crt_bld\self_64_amd64\crt\src\free.c @ 110]
0f 00000000`03f19de0 : 00000000`04506a40 00000000`06f30560 00007ffc`9ebb7cfa 00000000`014bc9a0 : _openssl!CRYPTO_clear_free+0x6b [c:\workspace\openssl\openssl-1.1.1k\openssl-1.1.1k\crypto\mem.c @ 323]
10 00000000`04506a40 : 00000000`06f30560 00007ffc`9ebb7cfa 00000000`014bc9a0 00007ffc`9eb7d8f6 : 0x3f19de0
11 00000000`06f30560 : 00007ffc`9ebb7cfa 00000000`014bc9a0 00007ffc`9eb7d8f6 00000000`073e9f30 : 0x4506a40
12 00007ffc`9ebb7cfa : 00000000`014bc9a0 00007ffc`9eb7d8f6 00000000`073e9f30 00000000`014bc9a0 : 0x6f30560
13 00000000`014bc9a0 : 00007ffc`9eb7d8f6 00000000`073e9f30 00000000`014bc9a0 00000000`014bc9a0 : _openssl!CRYPTO_clear_free+0x1a [c:\workspace\openssl\openssl-1.1.1k\openssl-1.1.1k\crypto\mem.c @ 318]
14 00007ffc`9eb7d8f6 : 00000000`073e9f30 00000000`014bc9a0 00000000`014bc9a0 00007ffc`9eb7d7b4 : 0x14bc9a0
15 00000000`073e9f30 : 00000000`014bc9a0 00000000`014bc9a0 00007ffc`9eb7d7b4 00000000`073e9f30 : _openssl!SSL_SESSION_free+0x156 [c:\workspace\openssl\openssl-1.1.1k\openssl-1.1.1k\ssl\ssl_sess.c @ 778]
16 00000000`014bc9a0 : 00000000`014bc9a0 00007ffc`9eb7d7b4 00000000`073e9f30 00007ffc`9eb7e187 : 0x73e9f30
17 00000000`014bc9a0 : 00007ffc`9eb7d7b4 00000000`073e9f30 00007ffc`9eb7e187 00007ffc`00000000 : 0x14bc9a0
18 00007ffc`9eb7d7b4 : 00000000`073e9f30 00007ffc`9eb7e187 00007ffc`00000000 00000000`04506a40 : 0x14bc9a0
19 00000000`073e9f30 : 00007ffc`9eb7e187 00007ffc`00000000 00000000`04506a40 fe624e21`2ac18000 : _openssl!SSL_SESSION_free+0x14 [c:\workspace\openssl\openssl-1.1.1k\openssl-1.1.1k\ssl\ssl_sess.c @ 751]
1a 00007ffc`9eb7e187 : 00007ffc`00000000 00000000`04506a40 fe624e21`2ac18000 00007ffc`9eb7e130 : 0x73e9f30
1b 00007ffc`00000000 : 00000000`04506a40 fe624e21`2ac18000 00007ffc`9eb7e130 00000000`00000257 : _openssl!timeout_cb+0x67 [c:\workspace\openssl\openssl-1.1.1k\openssl-1.1.1k\ssl\ssl_sess.c @ 1065]
1c 00000000`04506a40 : fe624e21`2ac18000 00007ffc`9eb7e130 00000000`00000257 00007ffc`9ebfd1cc : 0x00007ffc`00000000
1d fe624e21`2ac18000 : 00007ffc`9eb7e130 00000000`00000257 00007ffc`9ebfd1cc 00000000`00000000 : 0x4506a40
1e 00007ffc`9eb7e130 : 00000000`00000257 00007ffc`9ebfd1cc 00000000`00000000 00000000`04506a40 : 0xfe624e21`2ac18000
1f 00000000`00000257 : 00007ffc`9ebfd1cc 00000000`00000000 00000000`04506a40 fe624e21`2ac18000 : _openssl!timeout_cb+0x10 [c:\workspace\openssl\openssl-1.1.1k\openssl-1.1.1k\ssl\ssl_sess.c @ 1052]
20 00007ffc`9ebfd1cc : 00000000`00000000 00000000`04506a40 fe624e21`2ac18000 00007ffc`9ebfd18b : 0x257
21 00000000`00000000 : 00000000`04506a40 fe624e21`2ac18000 00007ffc`9ebfd18b 00000000`00000030 : _openssl!OPENSSL_LH_doall_arg+0x5c [c:\workspace\openssl\openssl-1.1.1k\openssl-1.1.1k\crypto\lhash\lhash.c @ 211]

I noticed there are other bug reports simialr to this. is this a know problem with 1.1.1k?

is this a know problem with 1.1.1k?

No, there isn't a known problem.
What web server is this?

The web server is our own development which uses Python Twisted.Web classes. We have been using this for 10 years.
Only since we upgraded to 1.1.1x have these crashes started.

One thing that is new with 1.1.1 and easy to A/B test is TLS 1.3 support.
Do the crashes happen often enough that you can easily say whether disabling TLS 1.3 would change anything?

In our development test lab they occur once every few days. On some customer sites they occur 5-6 times a day.
We specifically had to add 1.1.1 to get TLSv1.3 because our customers, (Pharma, military etc.) demand it.
So it is not quick to test this. I am currently testing disabling OpenSSL sessions which will take to mid next week.
Then I will try disabling 1.3
I got the tip for the sessions from
https://github.com/openssl/openssl/issues/12814

As is the case in #12814, it is most likely that there is a reference-counting issue in the webserver.
TLS 1.3 support is a plausible trigger to uncover a latent bug in such code, since previous TLS versions would have a single SSL_SESSION object shared across multiple threads (and thus unlikely to actually get freed vs just have its reference count decremented), but for TLS 1.3 a new SSL_SESSION object is created for each connection.

Ok. So do you think disabling Session caching may help in this case? At least to highlight if there is a problem with ref counting.

Ok. So do you think disabling Session caching may help in this case? At least to highlight if there is a problem with ref counting.

Disabling session caching may (potentially) help to avoid the problem. Although of course that could impact any older TLSv1.2 clients that don't support session tickets that wish to resume sessions.

So far there have been no crashes since disabling the cache. I will need to run it for the rest of the week to be sure.
The older client issue is not a problem for us.
What information do you need from me to help find the ref-counting problem? We would obviously prefer to have the fix than the workaround.

We do not actually do anything with the OpenSSL C-library. This is all handled by the Python twisted/pyOpenSSL/cryptography packages. We just use it.

Something's going wrong, and if you want to get a solution, rather than a work-around, you might have to look at the lower layers. :)  REF_PRINT, @kaduk

From your response, I take it you think the issue is not in OpenSSL itself, but in the Python layers that use it.

Marking as inactive, to be closed at the end of 3.4 dev barring further input


Added e2e tests for target deregistration upon Service or Deployment …

What type of PR is this?
Added missing tests

Which issue does this PR fix:
https://github.com/aws/aws-application-networking-k8s/issues/257
What does this PR do / Why do we need it:
Adds e2e tests for Kubernetes Service and Deployment deletion to verify that VPC Lattice Targets corresponding to the Service and Deployment are deregistered from their Target Group.
If an issue # is not available please add repro steps and logs from aws-gateway-controller showing the issue:
N/A
Testing done on this change:
Ran all e2e tests to verify the new ones work and previous ones are unaffected.
• [260.678 seconds]
------------------------------

Ran 5 of 5 Specs in 1742.740 seconds
SUCCESS! -- 5 Passed | 0 Failed | 0 Pending | 0 Skipped
--- PASS: TestIntegration (1743.65s)
PASS

Automation added to e2e:
N/A
Will this PR introduce any new dependencies?:
No.
Will this break upgrades or downgrades. Has updating a running cluster been tested?:
No. Yes.
Does this PR introduce any user-facing change?:
No.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 32.456%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
3279

Relevant Lines:
10103

💛  - Coveralls

LGTM, tho I think this issue #257 intend to test some deletion order changes, e.g.,:
test 1: delete deployment first, (then sleep for a while?), then delete service, verify targets are de-registered test 2: delete service first, (then sleep for a while?), then delete deployment, verify targets are de-registered

Deletion of either a service or deployment causes the controller to de-register targets. Since they don't both need to be deleted, we don't need to test that deletion in a specific order causes target de-registration, just that either deletion use-case works.


Devenv slows down with big code repositories

Describe the bug
When you have a big project and maybe some cache like 10 GB it gets really slowed down by git commands. Maybe that command can be ignored?
 |   \-+= 25589 root /usr/bin/login -fpl shyim /Applications/iTerm.app/Contents/MacOS/ShellLauncher --launch_shell
 |     \-+= 25590 shyim -zsh
 |       \-+- 25994 shyim -zsh
 |         \-+- 25995 shyim /usr/local/bin/direnv export zsh
 |           \-+- 25996 shyim /bin/bash -c eval "$("/usr/local/bin/direnv" stdlib)" && __main__ source_env $'/Users/shyim/Code/shopware/cloud/.envrc'
 |             \-+- 26011 shyim /bin/bash -c eval "$("/usr/local/bin/direnv" stdlib)" && __main__ source_env $'/Users/shyim/Code/shopware/cloud/.envrc'
 |               \-+- 26012 shyim bash /Users/shyim/.nix-profile/bin/devenv print-dev-env
 |                 \-+- 26021 shyim /nix/store/ynwgbyq3p1db8wg5hw8b192l3336g65b-nix-2.12.0pre20221221_51b770e/bin/nix --show-trace --extra-experimental-features nix-command --extra-experimental-features flakes print-dev-env --impure
 |                   \--- 26027 shyim git -C /Users/shyim/Code/shopware/cloud --git-dir .git ls-files --cached -z --others

--others seems like REALLY slow down because it looks then also in the cache folder / node_modules and so

Seems like introduced by custom nix https://github.com/domenkozar/nix/commit/bf9922e7b21b83450006640d2382e04e5a203692

We need this to be able to support .devenv.flake.nix, probably a better way is to just to add it to the output.

We could also generate a generic flake.nix and commit that? 🤔

@shyim do you have a workaround for this or does it need to be fixed soon?

I am thinking about adding a hybrid solution. .envrc uses nix flake directly and maybe the users still use devenv up.
and the flake just imports existing devenv.nix

Flakes verbatim copy the whole repo into the /nix/store so that's also slower in general :)

okay then I don't have a solution 😂

But your --others is there to find like devenv.nix and so? Can we not explicit check that this files exists?

I'll look into this tomorrow

I know what to fix there, needs a few hours of work. Making it high priority :)

Flakes verbatim copy the whole repo into the /nix/store so that's also slower in general :)

Eelco and others are working on getting rid of this constraint: https://github.com/NixOS/nix/pull/6530

devenv already includes this PR, but it's still slow (not minutes as it was before, but now in seconds).

devenv already includes this PR, but it's still slow (not minutes as it was before, but now in seconds).

Oh cool ! Do you think it will get merged upstream anytime soon ?
Has it been working fine in devenv until now ?

devenv already includes this PR, but it's still slow (not minutes as it was before, but now in seconds).

Oh cool ! Do you think it will get merged upstream anytime soon ? Has it been working fine in devenv until now ?

I hope it will be merged soon, it has been working more or less fine :)

I can't test it at Home, somehow the python cannot be built on my machine. It just hangs forever configure. I will try it at work tomorrow, maybe that helps.

I can't test it at Home, somehow the python cannot be built on my machine. It just hangs forever configure. I will try it at work tomorrow, maybe that helps.

Having the full log would be helpful and what OS exactly it hangs on.

I believe this is fixed in 1.0.1, can somebody confirm?

for me it takes like 25seconds to devenv up starts the processes. feels long 🤔

Using 1.0.1? How can I reproduce this?

yup
devenv 1.0.1 (aarch64-darwin)

git clone https://github.com/shopware/shopware.git
cd shopware
devenv up

Is there something nice to debug what is slow at devenv up. We have here an M1 Pro with 32GB of memory it takes 3 minutes to start it. It takes like a minute until it shows something.
Maybe an idea to have an --debug flag, which shows any command executed and the duration in the shell?

This has been fixed in 1.3! More work will follow as part of #1548


How to store intermediate results during getting candidate?

Hey guys,
The following is the part of my code to build query tree:
baseItem = new OrItem();
baseItem.addItem(new WordItem("X", "tag_list")); //field tag_list type array <>
baseItem.addItem(new WordItem("Y", "tag_list"));
baseItem.addItem(new WordItem("Z", "tag_list"));
...
QueryTreeUtil.andQueryItemWithRoot(query, baseItem);
After ranking, how could I know the result(each item) is obtained from that tag("X", "Y" or "Z")?

You want to know which of the query terms matched the the tag_list field?

Thanks for your reply! Sorry for confusing.
Giving the reasons why we recommend particular items(like books, musics) are necessary. Those reasons are depends on some intermediate results during scoring(rank profile) or on recall logic.
For example, our music has tag value "popular" and "classical" in tag_list. After execution.search(query) in search chain, I get one Hit "hey jude" (setHits(1)). How could I know the recall logic. How could I know "hey jude" coming from "popular" or "classical" or both during recalling. Denpends on this information, I could give the reason why I recommend "hey jude".
baseItem.addItem(new WordItem("popular", "tag_list"));
baseItem.addItem(new WordItem("popular", "tag_list"));

So, if you set up the query as you do above, the hits that are returned will have either "popular" or "classical" (or both) in their "tag_list" attribute. You can simply inspect the value of that field for each hit to see which tag it matched.
In your searcher you would do something like this:
// set up query
OrItem baseItem = new OrItem();
baseItem.addItem(new WordItem("popular", "tag_list"));
baseItem.addItem(new WordItem("classical", "tag_list"));
query.getModel().getQueryTree().setRoot(baseItem);

// perform search
Result result = execution.search(query);
execution.fill(result);  // this is important to be able to inspect data

// inspect the results
for (Hit hit : result.hits().asList()) {
    if (hit.isMeta()) continue;
    Object tagsListField = hit.getField("tag_list");
    if (tagsListField instanceof Inspectable) {
        Inspector tags = ((Inspectable) tagsListField).inspect();
        for (int i = 0; i < tags.entryCount(); ++i) {
            String tag = tags.entry(i).asString();
            // Do something with the tag here - it is either "popular" or "classical"
        }
    }
}

More information about inspecting here: http://docs.vespa.ai/documentation/reference/inspecting-structured-data.html#use-case-accessing-array-attributes

If you have few query terms searching the tag_list you could use the matches(tag_list,N) ranking feature and pass it up as a ranking summary feature but just parsing the summary of the field is the simplest. If your recall query list is large, you should consider using one of the multi-value query operators described here http://docs.vespa.ai/documentation/reference/advanced-search-operators.html

Thanks so much for your help. It helps us a lot.
There are hundreds of tag values in our tag_list, and some tags are going to be combined with user profile information during recalling. The recall logic is very complecated and is not as simple as either "popular" or "classical". Inspecting the results looks like I should re-write all the recall logics after getting the hits. Is this the only way to get over the issue?

If you have categorisation (e.g popular, new releases, whatnot) Vespa grouping might also be something you could look at to instead of one single flat hit list you can ask vespa do get top recommendations per category/tag using grouping and order the groups by relevance/count. See http://docs.vespa.ai/documentation/grouping.html

Thanks!

http://docs.vespa.ai/documentation/reference/inspecting-structured-data.html doesn't mention any thing about tensor.
If tag_list is defined like this: "field tag_list type tensor(x{})" or "type tensor(x[100])", in searcher should I access the tag_list just like field that is of array type?

Yes, a field that is a tensor it is directly accessible:
Result r = execution.search(query);
execution.fill(r);
for (Hit hit : r.hits().asList()) {
    Object field = hit.getField("tag_list");
    if (field instanceof Tensor) {
         Tensor t = (Tensor)field;
         // do something with tensor
    }
}

However, whether or not this is useful in your case, depends on a couple of things.
The first is how you would represent this using tensors. In tensors, we have dimensions which are either indexed or mapped, representing dense and sparse tensors respectively. In your case you would probably have a sparse tensor with tag names as elements along a dimension. Now, the values are doubles, and could in your case be either 1.0 or some floating point indicating how representative that tag is for that document. To find the tags you would do a tensor join between the document and the query. In general though, it's the values you do math on, so it's not straightforward to extract the actual tag. You would have to iterate through the cell values using the Java specific tensor interface and extract the tags.
The second is regarding performance. In our Java implementation, doing joins over mapped tensors are not very performant, but indexed tensors are.
This leads to another option, which would be to represent tags numerically instead of with text. You would do a join to fund the numeric values of the tags, but this is much faster with an indexed tensor. However, you would still need to iterate through cell values and you would introduce a cost to look up the textual values of the tags. The added complexity is not necessarily worth it.
Unfortunately, Vespa currently does not support returning tensors in document summary features, otherwise you could simply do this on the ranking side.
How many hits are you returning on average? Iterating through the inspectable list as mentioned in a previous response might not be a costly alternative.
Cheers,

Lester


how to use?

privateKey is pfx file path?
cer is cer file path ? \
like this?
let path = Bundle.main.path(forResource: "hello2", ofType: "txt")
    let plainTxt = try! String(contentsOfFile: path!)

    let privateKeyPath = "file:///var/mobile/Containers/Data/Application/EBC61F8F-CDA8-41BE-86ED-0DD51589D620/Documents/CloudDiskFile_257140_10000/shanwzh.pfx"

    let cerPath = "file:///var/mobile/Containers/Data/Application/EBC61F8F-CDA8-41BE-86ED-0DD51589D620/Documents/CloudDiskFile_257140_10000/hello.cer"

    let decrypted = PKCS7Decrypt.decrypt(plainTxt, privateKey: privateKeyPath, certificate: cerPath)

    return decrypted!

is plainTxt is base64 char?

I posted an example in #2
please let me know if that works for you


Use modern type annotation for py38

With from __future__ import annotations, type annotation won't be evaluated at runtime so you can use | in type annotation in py38.

The absolute type check with type() was intentional, docstrings should be normal strs, but eh a subclass is probably fine.
As for the __future__ import, I was going to use that, but I was initially trying to make python 3.6 work, which doesn't support it. Python 3.6 ended up breaking a ton of stuff though (and is no longer supported anyway) so I only made 3.9 work initially, adding 3.8 support later.
Thanks for the PR :+1:


Planned features

[x] JavaScript (babel parser)
[x] babel-ts parser
[x] make alphabetical order opt-in
[ ] accessor
[x] order ~computed~ string literal alphabetically

Feature request is welcome!

Thank you for your comment 😄
First, adding context about the scope, I'm wondering which should get precedence less options (See Prettier's option philosophy) or to cover more usecases.
Answering for each suggestion,

Sort only type or interface (not class)

This looks reasonable enough to me. Conflict with react/sort-comp is not desirable. Something like sortMembersIn: ['type', 'interface', 'class'] or dontSortSubclassOf: ['Component', 'PureComponent'] should exist.

Sort only alphabetically

I wonder when do we need this. But I might consider implementing it. Especially, if another one request it or clear reason (like conflict with react/sort-comp above) exist, I will accept it.

Group required members first (or optional members first)

I feel it makes sense enough. And I consider we should carefully design option. Some people can want sort by group -> sort by required or optional. Other people can want sort by required or optional -> sort by group. And more complex option related this might be requested in the future.
// sort by group -> sort by required or optional
interface A {
  n: number;
  s?: string;
  m(): void;
}

// sort by required or optional -> sort by group
interface A {
  n: number;
  m(): void;
  s?: string;
}

For schedule, it will take time because I'm busy now with my life event.

@stormwarning
Could you try skipSortForSubclassOf option in version 0.2.0-rc.0 to avoid conflict with react/sort-comp?

Thanks for the plugin. It would be nice to persist empty lines between commonly named members to keep common members together:
export class TestComponent implements OnInit {
  contextMenuOpen = false;
  contextMenuItems: [];

  data: [];
  dataLoading: boolean;

  private router = inject(Router);
  private serviceA = inject(ServiceA);
  ...
}

Thanks for the plugin. It would be nice to persist empty lines between commonly named members to keep common members together:
export class TestComponent implements OnInit {
  contextMenuOpen = false;
  contextMenuItems: [];

  data: [];
  dataLoading: boolean;

  private router = inject(Router);
  private serviceA = inject(ServiceA);
  ...
}

ah. looks like it works like that already... I was confused by WebStorm "Rearrange code" feature that was overwritten prettier changes :(

Yes, it preserves empty line between members. It is Prettier's feature, not this plug-in's. But sometimes empty lines can disappear or move to unwanted place on ordering members, perhaps. Already ordered ones won't cause the problem, as long as I know.

Hello!
thank you very much for this plugin! Are there any plans to add an option to read the order from @typescript-eslint/member-ordering from the eslint configuration? In my project I am not using the default configuration and it would be really great if this plugin could read the sort order that a user defines. Thanks!

Hello.
As of now, I'm not planning user-defined highly customized ordering like tseslint. It's because following reasons.

Respecting Prettier's philosophy, less configurable.
　　- "By far the biggest reason for adopting Prettier is to stop all the ongoing debates over styles."
It can be hard to support.

However, I might consider implement it if many users requests and reasonable justification is provided. Or, perhaps just supporting some peset ordering is better than fully-customizable, I think. Needs discussion.

I'm closing this issue, because I've implemented originally planned features.
Of course, feature requests is still welcome. You can open a new issue.
Especially, you want new ordering style, check https://github.com/seiyab/prettier-plugin-sort-members/issues/63.


[FEAT] merge prod and dev Dockerfile

Types of changes

[x] Refactoring

Description
Merge both dev and prod Dockerfile into one and divide it into multi stages.

Steps to Test This Pull Request
Test dev stage

delete related containers and images

docker container rm ${USER}_pycontw_vm && docker image rm pycontw-pycontw

run the following command

./enter_dev_env.sh

start server

python manage.py runserver <IP_ADDRESS>:8000

Test prod stage

create docker-compose-prod-demo.yml file

version: "3.5"
services:
  db:
    container_name: db_dev
    image: postgres:11-alpine
    environment:
      - POSTGRES_DB=pycontw2016
      - POSTGRES_USER=postgres
      - POSTGRES_PASSWORD=secretpostgres
    ports:
      - ${COMPOSE_DB_PORT:-5432}:5432
    networks:
        - network-2024
  web:
    build:
      context: .
      target: prod
    container_name: pycontw-2024
    hostname: pycontw-2024
    entrypoint: ""
    ports:
      - 8000:8000
    command:
      - bash
      - -c
      - |
        set -o errexit -o nounset -o pipefail
        python3 manage.py compilemessages
        python3 manage.py migrate
        python3 manage.py collectstatic --no-input

        exec uwsgi --http-socket :8000 \
          --master \
          --hook-master-start "unix_signal:15 gracefully_kill_them_all" \
          --static-map /static=assets \
          --static-map /media=media \
          --mount /prs=pycontw2016/wsgi.py \
          --manage-script-name \
          --offload-threads 2
    restart: always
    environment:
      DJANGO_SETTINGS_MODULE: pycontw2016.settings.production.pycontw2024
      SCRIPT_NAME: /prs
      SECRET_KEY: ${SECRET_KEY}
      DATABASE_URL: ${DATABASE_URL}
      EMAIL_URL: ${EMAIL_URL}
      GTM_TRACK_ID: ${GTM_TRACK_ID}
      SLACK_WEBHOOK_URL: ${SLACK_WEBHOOK_URL}

    volumes:
      - ${MEDIA_ROOT}:/usr/local/app/src/media
    networks:
        - network-2024

networks:
     network-2024:
        name: network-2024

run the following command

docker-compose -f ./docker-compose-prod-demo.yml up --build

visit http://localhost:8000/

More Information

remove ENV PATH /usr/local/bin:$PATH due to duplicate entries /usr/local/bin
I also remove ENV PATH /home/docker/.local/bin:$PATH to centralise where pip install packages and to align the PATH between production environment and development environment.
I also remove chown -R docker:nogroup "$BASE_DIR" "$APP_DIR" and use COPY --chown instead to avoid unnecessary image size increasing. references: https://garbers.co.za/2017/11/15/reduce-docker-image-size-chmod-chown/ , https://stackoverflow.com/questions/30085621/why-does-chown-increase-size-of-docker-image

LGTM @SivanYeh would you please try to deploy this branch on staging and check if everything works fine 🙏🏽

Count on me! I will do this tomorrow and tell you guys how it goes
It works well!
No error were found during docker build, and websites on staging are functioning. I attach docker logs here:docker_20240510.log

If no further issues are found, and staging remains stable throughout the weekend, I will merge to main branch and deploy to prod.

@SivanYeh I believe we can merge this, right?

@SivanYeh I believe we can merge this, right?

Yes! Sorry for the delay. I was quite busy yesterday


How to use dataLabelFormatCode ?

Hello,
i'm trying to use dataLabelFormatCode, but i have some trouble ...
I am trying to do this : " If number is positive, add a '+' in suffix and add a '$' in prefix.
I'm using this link to help me : https://support.microsoft.com/en-us/office/number-format-codes-5026bbd6-04bc-48cd-bf33-80f18b4eae68?ui=en-us&rs=en-us&ad=us
Here my code :
const chartConfig = {
...geometry,
dataLabelColor: secondaryColor.split('#')[1],
dataLabelPosition: 'outEnd',
dataLabelFormatCode: '+0;;;$',
};
The problem is the '+' is correctly displayed, but not the $

Can you help please :) ?

I assume you mean you want to prefix with a + and suffix with a $ e.g. +83$?
You're formatting should just be:
dataLabelFormatCode: '+0$'
If you want to show decimals you could use:
dataLabelFormatCode: '+0.00$'
Note this doesn't apply any form of formatting for a negative number if you want to display one, but can be added in.


config ssl main domain and subdomain bug

Gogs version (or commit ref): <IP_ADDRESS>6
Git version: 1.9.1
Operating system: Ubuntu 14.4
Database:

[ ] PostgreSQL
[+] MySQL
[ ] SQLite

Can you reproduce the bug at http://try.gogs.io:

[ ] Yes
[+] No
[ ] Not relevant

Log gist:

Description
Setup Nginx reverse proxy for gogs, I configed ssl on the nginx server, everything is ok.
This is app.ini:
[server]

DOMAIN = domain.com
ROOT_URL = https://domain.com/
CERT_FILE = custom/https/cert.pem
KEY_FILE = custom/https/key.pem
DISABLE_SSH = false
SSH_PORT = 22
OFFLINE_MODE = false
ENABLE_GZIP = true
LANDING_PAGE = explore

This is Nginx config:
server {
    listen 443 ssl;
    server_name domain.com;
    ssl_certificate /home/git/go/src/github.com/gogits/gogs/custom/https/cert.pem;
    ssl_certificate_key /home/git/go/src/github.com/gogits/gogs/custom/https/key.pem;

    location = /favicon.ico {
        try_files /home/www/static/images/favicon.ico =404;
    }

    location / {
        proxy_set_header  X-Real-IP  $remote_addr;
        proxy_pass http://<IP_ADDRESS>:3000$request_uri;
    }
}

When i visit https://www.domain.com, the page style was worked, bug https://domain.com was not. then console display error:
(from semantic-2.1.8.min.js:16 Popup: Popup does not fit within the boundaries of the viewport ....)
Popup: Popup does not fit within the boundaries of the viewport
…

Popup: Popup does not fit within the boundaries of the viewport
…

Popup: Popup does not fit within the boundaries of the viewport
…

All of there

Gogs can work with or without a domain, and I don't think it has anything to do with SSL...
Basically I don't know what are you talking...
Close by

We DO NOT take questions or config/deploy problems on GitHub, please use our forum: https://discuss.gogs.io


Create a Rust toolchain file to standardize Rust version

Several contributors have been confused by this error:
      error: failed to select a version for the requirement `ahash = "^0.8.3"`
      candidate versions found which didn't match: 0.8.0, 0.7.6, 0.7.5, ...

It's because their installed Rust version is too old and cannot build modern ahash. I.e., our minimum supported Rust version (MSRV) was increased.
Rather than our contributors needing to manually upgrade their Rust, we can instead automate this with a Rust toolchain file, which tells Rustup what version our project uses. As long as the user has Rustup on their PATH, they will always be using a consistent Rust version that we/our CI have verified is working.

I'm not 100% certain this is going to work right - the channel we want is stable, but that's also the default, so unless this file also triggers rustup to search for updates on every invocation, it might not answer the question.  We don't want to pin to the exact MSRV for most dev work, because we don't lint using MSRV clippy (we use stable) and we have had issues in the past because of discrepancies between the two.
We specify the MSRV in Cargo.toml, so cargo will already give the correct error message, as soon as we get most people onto toolchains 1.59+ (the first version to recognise the option).

e.g.:
[~/code/qiskit/terra] (qiskit/3.10) (main)
jake@ninetales$ rustup override set 1.60
info: using existing install for '1.60-x86_64-apple-darwin'
info: override toolchain for '/Users/jake/code/qiskit/terra' set to '1.60-x86_64-apple-darwin'

  1.60-x86_64-apple-darwin unchanged - rustc 1.60.0 (7737e0b5c 2022-04-04)

[~/code/qiskit/terra] (qiskit/3.10) (main)
jake@ninetales$ cargo build
error: package `qiskit-terra v0.24.0 (/Users/jake/code/qiskit/terra)` cannot be built because it requires rustc 1.61 or newer, while the currently active rustc version is 1.60.0

It's not safe for the MSRV to be different than the Rust development version because it means developers may be using new features that exceed the MSRV.
For example, our current MSRV is 1.61. But stable is 1.67.1. On main, I added this line:
diff --git a/src/sabre_layout.rs b/src/sabre_layout.rs
index 1fe1b7d53..20b50c046 100644
--- a/src/sabre_layout.rs
+++ b/src/sabre_layout.rs
@@ -43,6 +43,7 @@ pub fn sabre_layout_and_routing(
     seed: Option<u64>,
 ) -> ([NLayout; 2], SwapMap, PyObject) {
     let run_in_parallel = getenv_use_multiple_threads();
+    let _ = 1i32.ilog(5);
     let outer_rng = match seed {
         Some(seed) => Pcg64Mcg::seed_from_u64(seed),
         None => Pcg64Mcg::from_entropy(),

That uses a feature only available to Rust 1.67+. cargo check works just fine for me. But if I run rustup override set 1.62, then cargo check now fails.
❯ cargo check
    Checking qiskit-terra v0.24.0 (/Users/arellano/code/qiskit-terra)
error[E0599]: no method named `ilog` found for type `i32` in the current scope
  --> src/sabre_layout.rs:46:18
   |
46 |     let _ = 1i32.ilog(5);
   |                  ^^^^ help: there is an associated function with a similar name: `log`

More generally, it's also desirable for us to all be using the exact same version of tooling. That gives consistency to our experiences, e.g. the behavior of cargo clippy. It helps to avoid the notorious Works On My Machine™ issues.

Yeah, I suppose the better solution is just to lint on MSRV as well.  I think we'd previously tended towards wanting to use the most recent versions of tools for dev (for the improved lints, etc), and Rust usage in Terra is all pretty small-scale, so there was just a couple of us doing it and with the explicit MSRV test in CI it wasn't hard to enforce.  But I definitely buy what you're saying - linting on MSRV and promoting using it for dev is a better strategy at a larger scale.

I think we'd previously tended towards wanting to use the most recent versions of tools for dev (for the improved lints, etc)

Huge +1 to desiring to use more recent stuff. Rust and Clippy keep getting much better :)
But the right way to do that is by bumping our MSRV. Which of course is a tradeoff of worse compatibility for end-users.


Updated MongoDB.Driver and Serilog packages

Serilog: 1.4.204
MongoDB.Driver: 2.0.0-beta4

Is it OK now?
Please let me know if I need to fix anything.

LGTM; may need a version increment in AppVeyor.... @chandmk @Jaben?
Cheers!

Merged the changes..  I am not familiar with AppVeyor config.  How to increment the version?

Looks like this is incrementing however it is building pre release.

@merbla I think the -pre is by design until the mongo client is out of beta as there people who haven't upgraded yet.


Terminal UI has multiple issues and downsides

What package manager are you using / does the bug impact?
bun but also occurs using npm
What operating system are you using?
Mac
Which canary version will you have in your reproduction?
2.0.3
Describe the Bug
I wrote a lot of feedback to the new Terminal UI because it has tons of bugs and problems but I dont know if it has been read because you just released Turbo v2 with a not functional Terminal UI:
Crucial issues that make the UI unusable:
1 - I cant scroll the logs of a tasks. Instead it scrolling scrolls the list of tasks in the left sidebar.
This is especially crucial if a task doesnt have the presistent: true option because atm one needs to go into a task with enter to be able to scroll in it. This is very cumberstone to me, I would assume navigating tasks with the arrow keys is fine while I would be able to scroll a task immediately without then need to jump into it. Additionally this also means all tasks that dont have persistent: true option can never be scrolled.
Suggested solution:

Dont scroll the sidebar with the mousewheel / trackpad
Scroll activated tasks without the need to "enter" it first

2 - Scrolling is not possible with a Trackpad at least on macOS: I can scroll up once but then I cant scroll down anymore, the frame jumps up to the very top multiple times per second.
This occurs at least in Webstorm. I tested in iTerm and there trackpad scrolling seems to work.
Must haves (imho)
3 - There are a lot of characters printed in the terminal for no reason when scrolling?

This occurs at least in Webstorm. I tested in iTerm and there I dont see them.
4 - Lines are not clickable, colors are not emitted.
Here you can see that when I run "bun lint" normally I can click the line of code and it jumps into it (using Webstorm). Also the warning is yellow and an error would be red:

But if I run the same with Turbo (same with ui: "stream") I cant click the line and the color is lost aswell:

Feature requests
5 - When starting just one task (e.g. with --filter="...") there should be no left sidebar. Actually in this case the whole terminal UI can be deactivated
Otherwise when starting just one task and there is a left sidebar, the task should be interactive immediately. It is very scary to do something like drizzle:push and then it asks "Do you really want to push changes? > Yes, No " and I need to press enter to get into the task

In the spirit of keeping feedback actionable, I'll close and lock this one. If you'd like to open an issue with a clear focus on one bug (or many, each with their own focus), we're happy to get those addressed. Do be mindful of existing issues when doing so, adding thumb-up reactions to the ones you care about so we can gauge interest.
We absolutely listened to feedback working up to this release and appreciate yours as well! We're not perfect, bugs happen, and I can understand if a new feature is not to your tolerance level. Everyone is different and there are a lot of folks enjoying the new UI today. We're going to keep making it better.
We're also happy to take PRs if you'd like to help!


PhantomJS hanging on file upload (multiple)

Opening new ticket for https://github.com/detro/ghostdriver/issues/158
Which version of PhantomJS are you using?
1.9.2
(Selenium 2.35, splinter 0.5.4)
What steps will reproduce the problem?

Local Django development server
In shell: see paste
http://pastebin.com/FeYnZvu3

What is the expected output? What do you see instead?
Expect image to be bound to input field. Instead the 'upload' hangs forever, unless aborted by keyboardinterrupt.
Which operating system are you using?
Arch Linux 64bit, Python 2.7.5 in virtualenvironment.
Did you use binary PhantomJS or did you compile it from source?
Binary from official repo.

I'm still encountering this issue on OS X with PhantomJS 2.0.0 via GhostDriver. I'm sending the keys to a single file input that looks like <input id="file_picker" type="file" />. I'm using the /session/:sessionID/element/:elementID/value endpoint. The server hangs without responding to the request, and I get the following output:
2015-02-25T19:33:24 [DEBUG] WebPage - evaluateJavaScript result QVariant(QString, "{"status":0,"value":null}")
[ERROR - 2015-02-26T03:33:26.681Z] Session [37f355a0-bd68-11e4-a868-71445460213a] - page.onError - msg: ReferenceError: Can't find variable: doesNotExist

  :262 in error
[ERROR - 2015-02-26T03:33:26.682Z] Session [37f355a0-bd68-11e4-a868-71445460213a] - page.onError - stack:
  (anonymous function) (http://<IP_ADDRESS>:58578/:47)

  :262 in error

Whereas, with a file that does not exist, I get the following output:
2015-02-25T19:51:40 [DEBUG] WebPage - evaluateJavaScript result QVariant(QString, "{"status":0,"value":null}")
2015-02-25T19:51:40 [DEBUG] HTTP Response - Status Code 200 OK
2015-02-25T19:51:40 [DEBUG] HTTP Response - Sending Header "Cache" = "no-cache"
2015-02-25T19:51:40 [DEBUG] HTTP Response - Sending Header "Content-Length" = "76"
2015-02-25T19:51:40 [DEBUG] HTTP Response - Sending Header "Content-Type" = "application/json;charset=UTF-8"

Maybe something's happening around here?

I appended a comma character "," at the end of path and it avoided the hang. But doesn't work anyway.

Similar problem here.
Using PhantomJS 2.0.0 compiled in a Debian 7 box (using build.sh) because no offical packages are available yet.
I've a bunch of Behat/Mink tests that I run using PhantomJS but PhantomJS hangs when is instructed to upload a file. HTML input element has not the multiple attribute enabled and the element is visible.
The file upload works with PhantomJS 1.9.7 and 1.9.8.

The same thing happens with phantomjs 2.0.0 on arch.

Are you using send_keys() or directly calling uploadFile()? Both having problems in 2.0

I am using send_keys(), and the input field is not even set to multiple.

@rsanzante : Did you use send_keys() or uploadFile in 1.9.7 and 1.9.8? Tried both on both. Not working.
send_keys hangs. uploadFIle produces:
E                   WebDriverException: Message: Invalid Command Method - {"headers":{"Accept":"application/json","Accept-Encoding":"identity","Connection":"close","Content-Length":"132","Content-Type":"application/json;charset=UTF-8","Host":"<IP_ADDRESS>:53014","User-Agent":"Python-urllib/2.7"},"httpVersion":"1.1","method":"POST","post":"{\"sessionId\": \"eaf8d660-e415-11e4-984f-0ff40412a4e2\", \"filepath\": \"/tmp/testfile.1\", \"id\": \":wdc:1429174356732\", \"selector\": \"file\"}","url":"/file","urlParsed":{"anchor":"","query":"","file":"file","directory":"/","path":"/file","relative":"/file","port":"","host":"","password":"","user":"","userInfo":"","authority":"","protocol":"","source":"/file","queryKey":{},"chunks":["file"]},"urlOriginal":"/session/eaf8d660-e415-11e4-984f-0ff40412a4e2/file"}

http://stackoverflow.com/questions/24713175/selenium-webdriver-phantomjs-hangs-upon-send-keys-to-file-input-element

Hi Guys, having the same issue here. Using nightwatchjs and phantomjs when tring to set the value of input type=file

selecting my input element #uploadingIcon and tried a bunch of vairations such as  input#uploadingIcon but none is working.
Selenium just hangs up and doesn't respond.
It works in chrome and firefox

@detro Any ideas? @richard-flosi  saw ur other comments https://github.com/ariya/phantomjs/issues/10993. Was just wondering what version of phantomjs were u using?

Checkout https://github.com/sureshvv/phantomjs
Has a couple of fixes that made it work for my needs

@sureshvv Can you confirm that this fork works for "multiple" file upload fields? Compiling to test.

Any updates on this?

Compile failed. Will try again this weekend with Qt 5.4.2.

See https://github.com/ariya/phantomjs/pull/13227 @andrevmatos I am using phantomjs which includes Qt and linked statically. No external dependency. What compile problem are u having?

I'm also seeing this on phantomjs 2.0.0 with the ghostdriver java bindings on windows, alongside fluentlenium 0.10.3, but with a plain <input type="file" />, no multiple.
Here's what's needed to reproduce
<dependency>
  <groupId>com.github.detro</groupId>
  <artifactId>phantomjsdriver</artifactId>
  <version>1.2.0</version>
  <scope>test</scope>
</depencency

a website like
<!doctype html>
<html>
  <head>
    <title>test</title>
  </head>
  <body>
    <form method="post" action="http://requestb.in/qn52beqn">
      <input type="file" name="fil"/>
      <button>submit</button>
    </form>
  </body>
</html>

and a test like

    @Test
    public void singleFileUpload() {

        // make /C:/ => C:/
        // "C:/cygwin64/<long-path>/target/test-classes/image1.png"
        String imgUrl = getClass().getClassLoader().getResource("image1.png").getFile().replaceFirst("/", "");

        goTo("http://localhost:8000/test.html");
        fill("input[type=file]").with(imgUrl);
        click("button");
    }

With phantomjs 2.0.0 this hangs forever. Switching back to 1.9.8 the test completes, and the file is uploaded.

@sureshvv Got this error..
http://pastebin.com/neyZDi2H
Compile with make -j4, so g++ order/error order may be different, but that is the last lines of compilation, when the error ocurred.
Compiling with ./build.sh --confirm from your repository cloned today.

Same exact issue. Hopefully a fix gets pushed! :)

@detro what's the status for this being fixed? we're having to work our way around a lot of old phantomjs issues (https://github.com/ariya/phantomjs/issues/11013 https://github.com/ariya/phantomjs/issues/10522 ++) to cope with this one, since we had to downgrade to 1.9.8 to have file uploads work in general.

:+1:

I got bit by this too on OS X running phantomjs 2.0

I have this issue as well.
splinter 0.7.3 with phantomsjs 2.0 on OS X Yosemite
Is anyone working on this?

If you are using pytest-splinter, you can use my repos
Date: Fri, 28 Aug 2015 10:27:16 -0700
From<EMAIL_ADDRESS>To<EMAIL_ADDRESS>CC<EMAIL_ADDRESS>Subject: Re: [ghostdriver] PhantomJS hanging on file upload (multiple) (#282)
I have this issue as well.
splinter 0.7.3 with phantomsjs 2.0 on OS X Yosemite
Is anyone working on this?
—
Reply to this email directly or view it on GitHub.

Hi all,
I've managed to get it working on phantomjs version 1.9.17.

@sureshvv the build for your repo fails with this:
In file included from Modules/geolocation/Coordinates.cpp:27:
Modules/geolocation/Coordinates.h:36:12: error: unknown type name 'PassRefPtr'
static PassRefPtr create(double latitude, double longitude, bool providesAltitude, double altitude, double accuracy, bool providesAltitudeAccuracy, double a...
^
Modules/geolocation/Coordinates.h:36:22: error: expected member name or ';' after declaration specifiers
static PassRefPtr create(double latitude, double longitude, bool providesAltitude, double altitude, double accuracy, bool providesAltitudeAccuracy, double a...
~~~~~~~~~~~^
Modules/geolocation/Coordinates.cpp:31:21: error: out-of-line definition of 'altitude' does not match any declaration in 'WebCore::Coordinates'
double Coordinates::altitude(bool& isNull) const
^~
3 errors generated.
make[2]: *** [.obj/Modules/geolocation/Coordinates.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [sub-Target-pri-make_first-ordered] Error 2
make: *** [sub-Source-WebCore-WebCore-pro-make_first-ordered] Error 2
Ran this to build:
sudo ./build.sh --qt-config "-I /usr/local/include/ -L /usr/local/lib/"

@arizqi:
Have you been able to build the original phantomjs?
This should be identical.

I have this issue as well. Windows 7 64bit, Python 2.7, PhantomJS 2.0, Selenium 2.47.
I tried attach_file(), fill(), and send_keys() methods, all with the same result. All work fine with the Chrome webdriver, but hang indefinitely in PhantomJS.

@sureshvv I didn't build the original phantomjs from src. I downloaded the binary from here http://phantomjs.org/download.html and unpacked it using upx and just did bin/phantomjs and it worked.

This is possibly related to the user-gesture bug in PhantomJS. I encountered both behaviors (freezing and nothing-happens) and the proposed workaround (ignoring user gesture processing) does the trick for me. (Yep, needs a custom PhantomJS at the moment, as the last release does not contain the fix.)

Bumped into this issue too.

Have the same issue - has anyone solved it?

@devua2014 did you try disabling user gesture processing, see above?

Yes, I did.  I applied the fix and then I rebuilt PhantomJS on Windows from scratch.
But still have the same issue... I'm using Selenium web-driver.
Selenium log messages:
_17:06:35.744 INFO - Executing: [send keys: 8 [[PhantomJSDriver: phantomjs on XP (85cbe690-0284-11e6-a5f1-4ddb12de9830)] -> id: picfile], [C:\tmp\5\1.jpg]])
[INFO  - 2016-04-14T21:09:48.189Z] SessionManagerReqHand - _cleanupWindowlessSessions - Asynchronous Sessions clean-up phase starting NOW
_
And the exception received in the application:
Curl error thrown for http POST to /session/9b4b61bb-a5e7-43c4-9934-c3c11f61aeab/element/8/value with params: {"value":["C:\tmp\5\1.jpg"],":id":"8"}

@asolntsev, it seems like you are maintaining the project now. Could you look into this? If you don't have time, I understand, and when I have time, I will try to provide a fix myself (but that won't happen for a few months). Thanks for maintaining this project.

@stiemannkj1 Hi! I would fix it with a pleasure, but I cannot reproduce it.
I tries the code snippet suggested by @torgeir "commented on Jun 4, 2015" - and it work (on Mac OS).
I tried with PhantomJS 2.2.1. I tried different selenium-java versions: 2.53.0,  2.44.0, 2.35.0 - they all work.
Thought, it hangs when I add multiple="multiple".
But the most important, I see that PhantomJS hangs, not phantomjsdriver. So I think the problem must be reported to PhantomJS developers.

@stiemannkj1 @torgeir @sergei-maertens
Hi!
I created a sample project that stably reproduces the problem with hanging PhantomJS:
https://github.com/asolntsev/hanging-phantomjs
I hope it helps PhantomJS authors to fix the problem.

@asoIntsev, I was going to do this on Monday, but now I don't need to! Thank you very much for your help!

the behaviour around <input type=file multiple> is not well defined in the webdriver spec.  see open issue and the webdriver w3c spec.

This workaround works:
WebElement uploadPhoto = driver.findElement(By.cssSelector("input[name='composer_photo']"));
((JavascriptExecutor) driver).executeScript("arguments[0].removeAttribute('multiple')",uploadPhoto);
uploadPhoto.sendKeys(imageFile.getCanonicalPath());

Same issue when multiple="multiple" is present

@blago Thank you very much .. you saved me
I spent three days to resolve this problem .. Thanks alot bro

this should be fixed in pull request detro/ghostdriver#493.

Is a solution found for this problem for python phantomjs?


Add more patterns.

Add more patterns, such as random direction, or confetti from the sides, etc.
A demo of what I mean can be found here

Thanks for the suggestion, I'll definitely implement this!
The implementation will most likely end up being via the options object, rather than through a seperate methods. An option for the spread of the cone is already in place (angleSpread), but I admit that my current implementation is flawed, especially since it only allows a single direction to spread around.
The following options will be implemented, replacing their current flawed versions:

initialVelocity
initialVelocityVariation
angle
spread

Randomization here is linked to #6 now.


React-native support?

const node = await createNode(relayAddrs,pid); // libp2p
const datastore = new MemoryDatastore()
const ipfs = await createHelia({ datastore,libp2p:node })

Getting the following error when trying to create an instance of helia.
"Your javascript code tried to access a native module that doesnt exist in this development client"
Maybe someone can reproduce this error. Not sure what needs to be polyfilled or what native library is needed.
Tried rm -rf ./node_modules, npm install, pod deintegrate && pod install but no luck.
Tried "postinstall": "rn-nodeify --install events --hack" no luck.

There are some polyfills/config that need to be set up to modernise the React Native environment - it's documented here - https://github.com/ipfs-shipyard/js-libp2p-react-native
Could you try building from that project, then adding Helia to it to see what extra stuff is needed?

I started from a git clone of that repository. Here is the error, I thought it might be events but I was wrong.

The native module required was react-native-webrtc.


Fix ES embedding

Fix ES embedding

Pull Request Test Coverage Report for Build 01853108-5e8b-4c42-bb03-441f9f2e5f24

0 of 0   changed or added relevant lines in 0 files are covered.
87 unchanged lines in 14 files lost coverage.
Overall coverage decreased (-0.005%) to 57.282%

Files with Coverage Reduction
New Missed Lines
%

common/cache/lru.go
2
92.2%

common/task/fifoTaskScheduler.go
2
87.63%

common/task/parallelTaskProcessor.go
2
92.75%

service/history/execution/mutable_state_builder.go
2
68.79%

service/history/execution/mutable_state_util.go
2
36.04%

service/matching/taskListManager.go
2
77.11%

common/persistence/serialization/parser.go
4
65.41%

common/persistence/serialization/thrift_decoder.go
4
61.22%

service/history/task/transfer_standby_task_executor.go
6
86.82%

service/history/queue/timer_queue_processor_base.go
7
77.48%

Totals

Change from base Build 018530f6-f8cb-4671-a3d8-93c5d947bb00:
-0.005%

Covered Lines:
85222

Relevant Lines:
148775

💛  - Coveralls


Adds tests for multiple zero score objects

Fixes #784

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 24.897%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
2669

Relevant Lines:
10720

💛  - Coveralls


Added icon to indicate layout type for new playground samples

Fixed #1323
Used existing dart and flutter icons.
Added a new icon for web.

CC @johnpryan

Tested in Firefox, Chrome, and Safari. LGTM.
@jawahars16 Are you finished with this one, or are there additional changes you'd like to make?

No I am finished with this. No more changes.

Thanks! It's a great addition to the UI.


Is it possible to make available packages depend on system?

Sometimes I have specific packages that I don't want to build for specific systems. Is it possible to somehow specify this in flakelight? The only way I found is this:
packages = {
  my-package = { stdenv, ... }: if stdenv.hostPlatform.system == "x86_64-linux" then null else ...
}

This makes the package disappear from nix flake show if I'm on an x86_64-linux system. However, if I'm on another system the package will actually be visible (because it is not evaluated to null unless --all-systems is used). This feels a bit hacky and inconvenient.

Hmm, thats likely the best way at the moment, except for using outputs.packages instead of packages.
I'll see about fixing this.
Probably, I'll make it so that packages gets a system arg with the system it is generating for.

A system arg sounds great. Having that as a top-level arg would be awesome, but per-package works too.
For checks I also need to do this, but it is slightly cleaner because you can already write checks like pkgs: <attrs of checks>, so you don't have to evaluate pkgs.stdenv for each check. A system arg would feel even better though.

So, setting a package to null doesn't really work. For example, when using --all-systems you will then get errors because the package checks doesn't handle the fact that a package can be null. Also devShells seem to fail evaluate, but I'm not sure why.

Apologies for the delay, have been busy.
I've fixed this in 32bf894a5033451cc1bc252086e33c0e1ef6859e.
Now if packages is a function it also gets a system arg. An example of use is in the test added along with the change.
Unfortunately, unlike checks, packages can't get pkgs as an arg since that would cause infinite recursion (pkgs is defined in terms of packages). It can however get the system.
Also, in checks, you don't need to look at pkgs.stdenv, can just use pkgs.system.
Thanks for the report!

Added docs in f34d07dd57bf0df4d0695a1067b3c12307f2bd5e.


[request] Add Minecraft Pocket Edition support

The guys at ProtocolSupport are doing a wonderful work hooking PE support into spigot/paper
I wonder if this project could be extended to route PE clients too? So that you could actually use bungeecord portals, authentication, etc, from PE clients.

MCPE uses a completely different protocol, and is not within the scope of Bungeecord (see https://github.com/SpigotMC/BungeeCord/issues/2080), and transitively Waterfall.
Travertine would be the place for such support to exist, but that is solely down to the discretion of fuzzybot, and I highly doubt it'll happen.

@yangm97 https://github.com/DragonetMC

Sorry if this wasn’t the right project to ask such feature. It’s just that I wanted to see a united solution for supporting both protocols behind the same proxy/network/software once PE support arrives at ProtocolSupport.
@fuzzybot I think implementing a whole new protocol as a plugin would require some deep changes to bungee/waterfall itself, wouldn’t it? As in, allow plugins like BungeeAuth to see PE players as “real” players, that is without changing the api or the plugin itself.
@jamierocks Travertine seems like a better place to ask for such feature indeed.
@kamcio96 If I remember correctly, Dragonet and their proxy are long dead. Besides, when it existed, it did not support bungeecord nor the bungeecord API. So bungee authentication, portals, and other plugins wouldn’t work on the PE network.

Also, ProtocolSupportPE is really really really far from finished (as Shevchik says: it is in "pre alpha") so I doubt you should care about a proxy system right now.
And, if you just need a server transfer between PE servers, just use the transfer packet.

@MrPowerGamerBR yeah, I’m kinda anxious :P
I actually wanted to centralize authentication from both PC and PE. The transfer packet requires all of the PE members to be publicly reachable, so authentication couldn’t be handled by the proxy (because players could bypass the proxy easily). Oh, and having portals working on both PE and PC would be really cool.
The auth piece is really the only thing preventing me from testing this in “production” (I don’t have many players and I have automatic backups so yeah).
If you want to continue this chat see the tweet I sent you, as this is starting to become an offtopic.


Bugfix wrong entity in from condition

1. Why is this change necessary?
Because there is an error that Shopware\Models\Site\Site model does not have a field "siteId" when using the repository's getAttributesQuery() method it came up, that the from condition was wrong. Instead of Shopware\Models\Site\Site we need to select Shopware\Models\Attribute\Site.
2. What does this change do, exactly?
Therefor we need to replace the wrong entity in the from condition of the getAttributesQueryBuilder method.
3. Describe each step to reproduce the issue or behaviour.
Just try to call the Site Repository's getAttributesQuery($siteId) method to retrieve attributes for a specific static cms page. An exception will be thrown because the model has no field "siteId"
4. Please link to the relevant issues (if any).
-
5. Which documentation changes (if any) need to be made because of this PR?
-
6. Checklist

[ ] I have written tests and verified that they fail without my change
[x] I have squashed any insignificant commits
[ ] This change has comments for package types, values, functions, and non-obvious lines of code
[x] I have read the contribution requirements and fulfil them.

Hello,
thank you for creating this pull request.
I have opened an issue on our Issue Tracker for you. See the issue link: https://issues.shopware.com/issues/SW-21476
Please use this issue to track the state of your pull request.

Hi @barbieswimcrew, thank you very much for your contribution! 💙


WIP: Eat your own dog food

Use deptrac to analyse deptrac.

I came up with this:

Console: Input/output of the tool. Split up Formatters for both more control and to show off GraphViz groups functionality
Application: Entrypoint of the application. The endpoint of the console commands and routing to the rest of the domains
Resolver: Resolves dependencies into layers
Dependencies: Immutable dependency classes describing the dependencies
AstRunner: Parses the files and creates the AstTree for Resolver to resolve into dependencies
Events: Event system for informing about the progress in the console

From this image, you can see a few places where it would be IMHO valuable to do a little refactor and reparate the domains a little bit better.
Also, from the depfile.yaml you can see that the configuration for some of the layers is really convoluted and therefore might be valuable to move some classes a bit if we decide this is a reasonable slit of the domains.


Split blank window with hot key when only one file is opened.

When only one file is opened, I can't split window with hot-key "Alt+Shift+2". So if I want to do that,  opening another file from "Workspace" with mouse then do splitting is the only choice by my opinion. Please add a feature to allow to split a new blank window under these circumstances。

"Split Editor" should work. Make sure your keybindings are configured properly.
Does it work if you click this:

?

I used the hotkey which move files between editor splited to split editor, so It's a misunderstanding.


Add apple app site association file to source

Is your feature request related to a problem? Please describe.
Apple requires site association for apps on iOS and open url support for Mac apps
Describe the solution you'd like
Add the /.well-known/apple-app-site-association file to the source to make deployment easier and add to make it easier to add custom apps support for matrix.to
Describe alternatives you've considered
Patching all clients to not use matrix.to, but something else

The file you link to actually exists ... not sure what is left to do here? Do you want to add an app association for another app than Element iOS?

Yes, I would like to do something like a pr to it. Imho that has more transparency, then just sending a mail to a random address, containing the app identifier I'm working on.


Processing delayed and app locks up

Using the newest build, I try to download a bunch of Tumblr blogs. The app reports a (red) error about a timeout in on of the blogs and tells me to lower the connection limit. The queue manager tells me that processing that blog has been suspended and will restart at 4:00am. But then the entire app locks up. Nothing will work and I have to use Task Manager to kill the app.

Thanks for reporting a bug.
Can you please look if you can find the error inside the TumblThree.log and post that part here?

No problem. I can't simulate the error here. So, if you don't mind, I'd suggest to close the issue now and should the error appear again any time later, you can post the log part here.


Implement audio.track.download()

This function is commented out in the latest pull request, but the Artist and Album objects which also have a download() function are using it.

Marking Invalid; I missed that this was implemented in the parent class Playable.


Custom ternary operators

This has come up many times in my use cases: Jsep allows custom unary and binary operators, but the ternary operator is implemented ad hoc. It would be nice if there was an analogous addTernaryOp() function that allowed custom ternary operators. Possibly via the ternary operator plugin?

If we pull out the ternary plugin by default, then different variations could be implemented by others, maybe? Perhaps the Jsep ternary plugin could provide options?

Not sure what you mean here exactly, could you elaborate? What I was saying is, right now the code for the ternary explicitly checks for ? and :, I was saying it could use a data structure of operators that can be extended by jsep users. Obviously that would make the code a lot more complex however. But it is quite arbitrary that we allow this kind of extensibility for unary and binary operators but not ternary operators.

What kind of use cases have you come across?

Personally, I use jsep to parse Mavo's expression language, MavoScript. It has a fair bit of word-like operators, e.g. person where age > 2. There are cases where we wanted ternaries (e.g. person by (age - 18) as adultYears) and had to implement them by adding two binary operators, which is quite an ugly hack for a variety of reasons.

Not sure what you mean here exactly, could you elaborate?

The plugin file could export a function that returns the plugin:
export (options = {}) => {
const operators = new Set([options.operators | '?']);
const alternatives = new Set([options.alternatives | ':']);
return {
  name: 'jsepTernary',
  init(jsep) { ... };
});

So the user could then use the plugin something like:
import jsepTernary from 'jsep/plugins/jsepTernary.js';

jsep.register(jsepTernary({ operators: ['?', 'by'], alternatives: [':', 'as'] });

However, I can almost see 2 different plugins from your given examples, one that's like a ternary with no alternative (where age > 2), and one that's more like a cast (as adultYears), which I can see as both being straight-forward to add now with the various hooks

(I'm going to use my use case as a meta-example here, but this applies to most ternary use cases, I think)
I was thinking of more along the lines of an addTernaryOp() function (and corresponding data structure) that the plugin exposes.
Also, it looks like with your proposed code any operator can go with any alternative, which is not typically desirable. E.g. I may want to allow x by y as z and x join y on z but not x by y on z.
Wait, perhaps you mean that the plugin basically generates plugins for ternaries, so one could register many op/alt sets?
Related, should it be possible to add ternary operators with the same symbol as binary operators?
It seems not, because then one could add by and as as separate binary operators, and ['by', 'as'] as a ternary operator, in which case x by y as z becomes ambiguous.
Therefore, perhaps the second operator should be optional, to enable both x by y and x by y as z?
Or maybe the restriction should be that you can't register binary operators that are the same as the alternate operator in a ternary? That way as cannot be registered but by can.

I think this can be closed by the introducement of:
https://www.npmjs.com/package/@jsep-plugin/ternary

I think @LeaVerou 's question was to support non-standard ternary separators (? :).
However, I think the x by y could just be a BinaryExpression, same as y as z, rather than looking at it as a ternary... But to detect x by y as z and only allow as in certain cases, then I think that would have to be done by a plugin, perhaps on an after-expression event to validate the expression.
person where x > 2 is a type of conditional expression which could be done through a plugin as well. I'm not sure if that's something jsep would want to support as an official plugin?

I think you may be getting confused with the specific operators, which are merely examples. person where x > 2 is not a ternary, that's a binary operation (person where (x > 2)). If you look at my comment that mentions it, it was not in the context of ternary operators.
x by y as z is a ternary, because y as z by itself should not be valid. Currently I'm indeed implementing them as two binary operators, but it's a hack, for this very reason. Otherwise JS would just have a ? operator and a : operator and be done with it, no reason for a ternary.
IMO it seems far more reasonable to make ternary operators just as generalizable as binary and unary ones than these hacks.


Multi-cluster support with Antrea

Describe what you are trying to solve

As the deployment of K8s clusters become more multiple cluster oriented, where users may deploy a single Service in multiple clusters or require access to Service in one cluster from other mutually trusted clusters, Antrea must be able to integrate with this multi cluster story and provide a set of APIs which makes it easier for users to consume Services in multiple clusters in a secure fashion. For more details on upstream MultiCluster Service APIs effort in k8s, see MCS API.
Describe the solution you have in mind

Introduce CRDs which allow users to easily create a set of mutually trusted K8s clusters and easily exchange information between these clusters in a secure manner.
Describe how your solution impacts user flows

Existing users will not be impacted. Users may start using the multi cluster APIs to connect their existing clusters to each other.
Describe the main design/architecture of your solution

See doc
Additional context
Following is an expected list of work items:

[ ] Introduce cluster registration/unregistration CRDs
[ ] Introduce resource exchange pipeline CRDs
[ ] Add multi cluster skeleton
[ ] Separate leader cluster controller and member cluster controller
[ ] Unlink from cert manager dependency
[ ] Add controllers to register/unregister clusters
[ ] Add controllers for exporting Services
[ ] Add reconcilers to reconcile MCS
[ ] Add controllers for importing MCS
[ ] Ensure validation webhooks are implemented for all components
[ ] Ensure e2e tests for all components
[ ] Ensure unit tests
[ ] CI pipeline
[ ] Introduce Stretched Antrea-native Network Policy design (track detailed items separately)
[ ] Introduce datapath connectivity plan between Multi clusters (track detailed items separately)

/cc @luolanzone @aravindakidambi


fix fix prometheus metric format error for doris_fe_query_ms

Proposed changes
metric format error like following

Issue Number: close #xxx
Problem summary
Describe your changes.
Checklist(Required)

Does it affect the original behavior:

[ ] Yes
[x] No
[ ] I don't know

Has unit tests been added:

[x] Yes
[ ] No
[ ] No Need

Has document been added or modified:

[ ] Yes
[x] No
[ ] No Need

Does it need to update dependencies:

[ ] Yes
[x] No

Are there any changes that cannot be rolled back:

[ ] Yes (If Yes, please explain WHY)
[x] No

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 34.65 seconds
load time: 631 seconds
storage size:<PHONE_NUMBER>9 Bytes
https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/tmp/20221228163014_clickbench_pr_70271.html


Only print email locals guide comment when email is enabled.

Just a little fix so the comment won't be out of place when guide comments are enabled but email isn't.

Thanks @whastings, good catch.


Bug: flicker when running keymap

Self Checks

[x] I'm using the latest lualine.
[x] I didn't find the issue in exsisting issues or prs.

How to reproduce the problem
Map a key to a command. Good example can be seen when using delimitmate plugin where there are imaps for  <space> and <bs>. You can also add your own maps, such as map m :echo "hello"<cr>, but for the very simple keymaps the flicker doesn't happen every time, only sometimes. But if you try running this keymap repeatedly in quick succession you should see the flicker even with this simple map.
Expected behaviour
No flicker of lualine should occur when you run the keymap.
Actual behaviour
Lualine flickers. Mode seems to switch for a split second to command and this redraws the lualine.
Aditional information
This bug is most apparent when other plugins are involved (such as delimitmate). However, this is clearly an issue with lualine, not other plugins. Of course those keymaps do cause vim to switch to command mode and back, but I think lualine should be able to filter out these super short switches caused by keymaps.

Initially I thought this was a different issue, but on second look it seems that this is identical to the issue #852. Nevertheless, I won't close this just yet since I think the additional context I described might be helpful: I am pretty sure the flickering described in #852 is actually not happening simply because new line is added but because the user have a map for  that is run when adding a new line.

You should use :h <cmd> for your mappings instead. <cmd> exists for this exact reason.

It happens when running <Plug> keymaps as well, e.g.:
vim.keymap.set('', 'w', '<Plug>CamelCaseMotion_w', opt_plug)
vim.keymap.set('', 'b', '<Plug>CamelCaseMotion_b', opt_plug)
vim.keymap.set('', 'e', '<Plug>CamelCaseMotion_e', opt_plug)

This cannot be solved by <Cmd>

I noticed this with andymass/vim-matchup. I disabled the default mappings for that plugin and made the mappings myself using <cmd> (instead of :<c-u> like vim-matchup does) as suggested by @folke. The flickering between Insert and Command mode stopped, but the statusline still flickers. So better, but not gone.
I noticed that this behavior does not occur in commit 1e53bf7386619722b7cfae0d541b45978f0152e4, and due to the cursor movement done by vim-matchup, I think the flickering might be due to adding CursorMoved in 664c688974a7f183f6d6edae70c6aa117dcbd009. Whether that's the root cause (versus a bug elsewhere that this is a symptom of), I'm not sure.

To add to this report, I've been having the same issue with lualine flickering to command mode from insert when executing <C-R>= maps. For instance, the LunarWatcher/auto-pairs plugin makes the following maps:
inoremap <buffer> <silent> <BS> <C-R>=autopairs#AutoPairsDelete()<CR>
inoremap <buffer> <silent> <SPACE> <C-]><C-R>=autopairs#AutoPairsSpace()<CR>
This leads to lualine's status line flickering every time space or backspace are typed in insert mode.

This appears to have been fixed by https://github.com/nvim-lualine/lualine.nvim/commit/0978a6c8a862d999baf51366926c7b56eb9cf3d1.


Fix package version search

fixes #570

Could you please write a, how you tested, section in the PR description?

The packages are listed in there, they are all dynamically loaded, and when I save it is persisted.
There's an odd problem when I select a package then click Cancel... in that it shows the package I selected in the channel edit dialog, but when I then click Save in the channel edit dialog it does not persist the selected package. IMHO I would not classify this as a release blocking problem, because the user did click Cancel... but it's still a problem. It should show the previous selected package in the channel edit dialog if the user presses Cancel in the package chooser dialog.


Flea Bottom Bastard doesn't contribute +3 str to dom

The +3 strength during dom from Flea Bottom Bastard isn't applied until after the winner of Dom is determined. It should already be present at that point.

When did this bug occur for you? I believe it existed prior to this weekend but a fix should have gone out for it along with The Red Wedding cards. Were there any other weird circumstances when it happened (other dominance modifying cards for instance)?
Offhand I can't reproduce it (0 gold, 1 STR + 3 from Flea Bottom Bastard, +2 STR from Hedge Knight = 6 total for dominance):

The problem was that some games on the site were getting the old code prior to the fix and some were getting the newer code. All games should be on the newer code now, so this should be fixed.


WIP: rewrite core data to not do incorrect threading things

https://openedx.atlassian.net/browse/MA-2557
This might leave things a bit slower, but the use of threading before was wrong and causing crashes and weird behavior.

Note to self:

Having many issues with starting the app
Failing tests

Stale PR


Linked deployment apiVersion that can handle relativePath is missing in schema

Confused, thought this worked...
Using 2020-10-01 for apiVersion gives a schema warning:
For full schema validation, consider updating the value to one of the following: "2015-01-01", "2015-11-01", "2016-02-01", "2016-07-01", "2016-09-01", "2017-05-10", "2018-02-01", "2018-05-01", "2019-03-01", "2019-05-01", "2019-05-10", "2019-07-01", "2019-08-01", "2019-10-01", "2020-06-01". It is possible that the current resource version is valid but that a schema has not been generated. For more information see https://aka.ms/arm-tools-apiversion.
BUT, using 2020-06-01 (which is what our snippets use, and which contains the relativePath property) gives this during deployment:
"error": {
"code": "InvalidTemplate",
"message": "The deployment definition is invalid; TemplateLink RelativePath can only be used with a Uri in api-version '2020-10-01' or later."
}
{
    // backslashes

    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "<IP_ADDRESS>",
    "parameters": {},
    "functions": [],
    "variables": {},
    "resources": [
        {
            "name": "linkedDeployment1",
            "type": "Microsoft.Resources/deployments",
            "apiVersion": "2020-10-01",
            "properties": {
                "mode": "Incremental",
                "templateLink": {
                    "relativePath": "subfolder/child2.json"
                }
            }
        }
    ]
}

@anthony-c-martin cc @MarcusFelling This will block us shipping linked template support.
Anthony - can you see why the 2020-10-01 version of Microsoft.Resources/deployments has not been published?  (It's possible it's not in my snapshot, I'll try updating that soon.). It's seems to be missing?
We updated our snippets to use the 2020-06-01 version, which supports the relativePath property.  However, when I tried deploying that yesterday, Azure said "The deployment definition is invalid; TemplateLink RelativePath can only be used with a Uri in api-version '2020-10-01' or later."  Why is relativePath accepted in 2020-06-01 if Azure won't allow it to be deployed?  (Is it possible this is a change?  This is the first I've noticed this problem.)
We need either 2020-06-01 deployment to work and/or the 2020-10-01 schema to be published.  Thanks!

I updated the schema snapshot and still getting the same error.

@StephenWeatherford I think https://github.com/Azure/azure-resource-manager-schemas/pull/1498 should unblock this. Is this now working?

@anthony-c-martin Yes, thanks!


update Configuration cors

socket.io integrated gateway service. The cross-domain request is processed in the gateway. socket.io can optionally configure whether to process cross-domain requests

Thank you for the proposed contribution.
Please retain code changes only and not formatting.

感谢您提出的贡献。
请仅保留代码更改，不要保留格式。

Need me to submit a pr again? Just submit the modified part of the code without changing the style

Thanks for contribution!


Add initial support for Java

Hey @jwalter! I will be reviewing this and merging it on stream tonight! 19:00 GMT+1 😉


pytest: select tests using a pattern string

We are going to apply this change when fixing the async testing.


Add missing space to the docs

I noticed that a space was missing from REST & gRPC in the description. I added the space to match the same text in the title Building REST & gRPC APIs

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Keras 1 models

I was wondering if you still might have your Keras 1 models that you used for this project? And would you be interested in sharing? I'm currently building out a new model zoo for Deeplearning4j, and our importer works for Keras v1 (v2 won't be arriving for 2 months). Thanks!

Hello @crockpotveggies,
I will look into previous commits and the server in which I was training the models to see if I got any keras1 models. They might not have the same accuracy as these ones or even the same architecture, but I will let you know.

Thanks appreciate it!


Align experiments css runtime

Should align experiments css runtime with rspack

bump

Duplicated with https://github.com/web-infra-dev/rspack/issues/5096, so I will close this issue, please discuess there


fix(@angular-devkit/build-angular): update webpack to 4.29.5

On master it's already the latest version
Fixes #13741

The webpack issue linked in the issue this PR is supposed to fix is still open: https://github.com/webpack/webpack/issues/8656
Are you sure this problem is addressed in the 4.29.5 release?

Yeah you are right.
It’s actually an npm issue it seems https://github.com/webpack/webpack/issues/8656#issuecomment-456010969


Vickel: Watch microdumpster.com

Vickel requests the watch of the watch_keyword microdumpster\.com. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

microdumpster\.com has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by tripleee in Charcoal HQ


Weird behavior when working with a bool

If you are using a bool as a Setting, you can get a scenario with a weird behavior:
var firstExecution = Settings.Current.Get<bool>("First", true);
if (firstExecution)
    Settings.Current.SetDefault<bool>("First", false);

You will always get firstExecution as true. The culprit is this line, Acr.Settings removes the key instead of persisting it as false, because false is the default value for bool. I don't think this should happen, in fact, since we have a Remove method implemented, we should choose when to clear a key, and not have unexpected behavior inside the Set.
What do you think?

SetDefault will only set a key if the value isn't present in the dictionary.  You aren't using it appropriately.  Your test case is actually a contradiction of itself.
With booleans, you shouldn't actually use SetDefault unless you are setting it to true from the beginning.  False will be the default return from Get anyhow.

I'm sorry, I actually pasted the wrong sample, this is the code I should have posted:
var firstExecution = Settings.Current.Get<bool>("First", true);
if (firstExecution)
    Settings.Current.Set<bool>("First", false);

I've had a chance to think about this, but honestly, while this is mostly a defect, there are many reasons why I don't set the default values into the settings.
The main reason is if you simply do Settings.Current.Set("First") - it will return false.  My best suggestion here (and possibly a better solution anyhow) is to use the following
var count = Settings.Current.Get("Count", 1); // or Settings.Current.Get<int>("Count"); Settings.Current.Set("Count", count + 1); if (count == 1)  { // do something - you could even say for the 5th start, maybe you want an app review popup or something }

The thing that bothers me is the fact that the Set method does more than I expect and clears a value. Is this really necessary?

I really don't think I should have to explain myself for a decision as I'm the one doing the work.  Next time, if you feel something is bothering you, submit a PR with what you think the behavior should be that passes all of the unit tests within the project.
In the mean time, I have ironed this one out.

Look, if I ended up sounding harsh or something, I apologize, it definitely wasn't my intention. I thought we were constructively discussing something.
I have to disagree with you about not having to explain your decision, if you expect help from the community, then we have to discuss decisions in public so we can understand the meaning and improve.
I have contributed to dozens of open source projects and I maintain some myself, and opening a PR that changes existing behavior without first consulting the maintainers with an Issue is not a best practice. Changing existing behavior needs discussion, and I'm always glad when someone shows a way of improving open source projects.
So, thanks for taking the time creating the commit, but next time a "Ok, we can change the behavior, feel free to send a PR if you have the time" would suffice. Let's make the open source community better and more welcoming ;)

I appreciate you taking the time to file the issue.  Yours was better explained than most I usually receive.  However, I find this comment to be really unfair.  My comment about submitting a PR was not unfair by any means.  I didn't deny your request (or I would have closed the issue as not a bug), I even acknowledged the issue with a somewhat vague explanation of why I don't just change the behavior but I did take some time to "explain myself".  In return, you didn't says "thanks" or "ok".  You gave a one line, non-constructive repeat of your initial request with a fairly disrespectful "Is this really necessary" to which I had already stated it had potential issues.
Also….no offense, but no… I don't have explain myself.  I certainly appreciate that the community gets value out of my code, but at no time did I expect or even ask for help.  Again, I appreciate when it comes so long as it remains constructive and respectful.
Now with regards to "let's keep the open source welcoming".  I get on average 20 communications a day via multiple channels for different libraries.  Roughly 40-50% of these are requests for timelines, feature requests with hopes I can "do it soon", or swearing about at me about some issue or another.  I often have to repeat instructions that I've already taken the time document, etc.  While none of this is certainly your problem, I do find that non-maintainers throw this "unwelcoming" term around when they don't get their way.  "No", "this isn't something I want to do", or "submit a PR" is not being unwelcoming… it is simply that I don't work for the community and the community doesn't necessarily have to support the change they are purposing going forward…. The maintainer(s) do.  So….the welcoming aspect is jaded on me because it is often one sided especially when I take the time to fix an issue and I get a "thanks, but…" response.


Add Make target for trivy startupapicheck image scan

This trivy scan Makefile target was missing.
Kind
/kind cleanup
Release Note
NONE

/kind cleanup

Tim tested this locally and reports success.
/unhold

/cherrypick release-1.14


$ref objects are legal in all path-item objects

See #2657 - this was added to the specification but not the schema.

@karenetheridge this should not be changed in the 3.1 schema, which I fixed to only allow Path Item Objects in #3355 (matching the 3.1.1 change in #2655).
This change would only go in the not-yet-existing 3.2 schema.  I'm not sure whether we add that on this branch or on main (my recollection is that the 3.1 schema was added on main), but it should be clarified once we figure out our new branching policy.
I think for now it's better to close this, we should follow your advice and sync the 3.0 and 3.1 schemas (#3400) first, not to mention figure out how to deploy and set proper $ids for the accumulated changes in GitHub (#150, #2500) and then worry about setting up 3.2's schema.  Otherwise it will be a 3rd out-of-sync schema given the current mess.

ok I was assuming that schemas/3.1/schema.yaml here actually was the 3.2 schema, but just hadn't been renamed yet. But could it really be true that no schema changes have been made between 3.1.x and 3.2 yet?

If someone could put a "blocked" label on this PR, I'd be much obliged.. and then I'll rebase it with the real 3.2 schema when it springs into existence.

@karenetheridge we don't usually make the schema until we do the release, so that would be an indefinite block.  We've been trying to avoid having PRs sit open for a long time, so it would be better just let this be done with all of the rest of the schema work together.

@karenetheridge replacing my previous comments - I've been conveying how the process worked for 3.1.  We can definitely change it, but I'm going to leave that to the TSC.  Perhaps changing this to a "draft" PR would capture the "blocked" status?

Setting to draft. I would highly recommend changing the process so the schema is kept current with the specification, and ideally change the schema in the same PR as spec changes (we don't have to force contributors to make schema changes, as someone else can add another commit to make that change if desired). But having the schema-in-waiting available would be enormously helpful for someone creating a beta implementation of an upcoming version before it is released.

I've reworked the issues tracking schema management so that no one has to slog through over a decade of stale comments:

#3715
#3716

Depends on

#3734

@karenetheridge since we're backing the spec change out (#3734, #4094) and it would need to be done in a new 3.2 schema anyway, I'm going to reluctantly close this. 😭
Even if we make a different change to improve the Path Item Object $ref, it will probably require a different schema change to describe it.


Activities ed program name

#186900923

add new screen

Let's add these new pages to the journey test
https://github.com/codeforamerica/il-gcc-form-flow/blob/main/src/test/java/org/ilgcc/app/journeys/GccFlowJourneyTest.java


Identity URLs

We need the following URLs for the identity suite

[ ] The front end where a person manages their details e.g.

wellcomecollection.org/profile
profile.wellcomecollection.org

[ ] Auth0 pages. Affects

login
forgotten password

[ ] URL for the management of accounts (admin)

AS PER @jtweed's slack message:

i’d vote for starting with everything starting out under wc.org/account
excepting auth0 which sits at account.wc.org

AS PER @jtweed's slack message:

i’d vote for starting with everything starting out under wc.org/account
excepting auth0 which sits at account.wc.org


Modify Test Framework to make it able to trigger only UI tests in testapps (skip non UI tests)

Description
To support UI Test Automation,

Modified app_framework and firebase_test_framework. Now, we could skip non UI tests with Marco TEST_NO_USER_INTERACTION
Modified GMA testapps. Skip Android non UI tests with Intent com.google.intent.action.UI_TEST; skip iOS non UI tests with URI firebase-ui-test.
Modified helper apps (in scripts/gha/ui_testing). Now, we could run testapps and skip non UI tests with the script.

Will have a followup PR that modify GMA Integration Tests, and enables GMA UI Tests in CI.

Testing
Currently CI passed: https://github.com/firebase/firebase-cpp-sdk/actions/runs/2198690364
UI Tests were tested locally and work as expected.

Type of Change
Place an x the applicable box:

[ ] Bug fix. Add the issue # below if applicable.
[ ] New feature. A non-breaking change which adds functionality.
[x] Other, such as a build process or documentation change.

Notes

Bug fixes and feature changes require an update to the Release Notes section of release_build_files/readme.md.
Read the contribution guidelines CONTRIBUTING.md.
Changes to the public API require an internal API review. If you'd like to help us make Firebase APIs better, please propose your change in a feature request so that we can discuss it together.

As a suggestion, what about putting all of the UI tests in a separate class? (maybe a subclass)


Detect and collapse sausage links. #16

This is modernizing https://github.com/a-b-street/abstreet/pull/933. I added some more checks to avoid incorrectly detecting sausage links, adding a few regression tests. I'm also inserting a buffer lane in the middle, to show that there's some kind of physical barrier. (We can get fancier with that in the future -- having semantics for concrete dividers, pedestrian islands, getting a more realistic shape, etc.)
I'm reimporting all maps in A/B Street and using some visual diff tools there to check things. If any bugs creep up, I'll add a regression test here and iterate. But I think I've got the logic correct now.
Some before/after:

Overall it mostly worked well. I spotted some "false positives" where it collapsed and shouldn't've:

https://www.openstreetmap.org/node/8141904208#map=19/51.49211/0.00378
https://www.openstreetmap.org/node/9563439140#map=19/51.49990/0.00457
https://www.openstreetmap.org/node/90266738#map=19/51.46112/0.03800
https://www.openstreetmap.org/node/90407230#map=19/51.47857/0.05173

I'm going to merge and follow up with fixing those cases later. There's a bit of a sunk cost once I regenerate all of the A/B Street data, unfortunately. When it mostly improves things, it's hard to justify perfecting things first.


Training code

Awesome paper! Will you publish the training code? It is interesting to try with other versions of SD

Yes, indeed! We plan to release the training code in the future and intend to carry out the training on a more advanced version of Stable Diffusion.

Thank you, waiting for the release!

Yes, indeed! We plan to release the training code in the future and intend to carry out the training on a more advanced version of Stable Diffusion.

When will the codes be released?

Yes, indeed! We plan to release the training code in the future and intend to carry out the training on a more advanced version of Stable Diffusion.

Also waiting for the release!

Hi, how long will you release training code? Waiting for it!

why closed?(training code is not relase)

Hi all and  @foocker
Thank you for your interest and for being so patient :)
We have released our training configurations and scripts for both train_ppt1_sd15.py for unet-based version and train_ppt2_bn.py for brushnet-based version.


A batch of tasks was successfully completed, but nothing happened while adding documents

Describe the bug
Using Meilisearch v1.0.0 and GoClient v0.23.0 while trying to add documents, seems everything works and I get 202, but checking the documents nothing is there.
To Reproduce
Steps to reproduce the behavior:

try to add document to Meilisearch
check the UI for meilisearch or Make get request to fetch documents, and is empty

Expected behavior
As I was previously using getmeili/meilisearch:v0.29.2 image, everything seems working, expected to create the documents.
Screenshots
If applicable, add screenshots to help explain your problem.

Meilisearch version: v1.0.0
Additional context
Additional information that may be relevant to the issue.
Mac OS

I found the issue, as the task was failing due to multiple primary keys in the document. so i updated the index primary key, and it worked


processSvg should not get the width and height from the viewbox, but from the width and height attributes

Currently the processSvg method uses the viewbox to extract the width and height of the svg. But if the svg has width and height attributes, then the width and height attributes should be used instead.

:+1:

Resolved by #12


Interested in help updating these instructions to the new style of XLA translation rules?

Hey @dfm :-) I had to do a bit of hacking this week, read a lot of XLA source code, and played with the new MLIR approach for specifying translation rules for custom ops in JAX. My understanding is that since April, all builtin LAX primitives have been transferred to MLIR equivalents, and that the old style CustomCallWithLayout just remains for backward compatibility. Here is an example of what the custom calls look like in current jax:
https://github.com/google/jax/blob/f697b8e0876f8e1144a53ace02ee6d7eaa43fa14/jaxlib/gpu_solver.py#L66
Before the knowledge of how to make these things work leaves my short term memory, would you be interested in something like a  PR to this post? If you prefer these posts to stay static, no worries, I can write down that info elsewhere, linking to your post for extended context ;-)

👋 @EiffL — Thanks for this note! Yes - that would be awesome to include here and I'd be very happy if you'd be up for writing something.


param case with numbers as strings resulting in snake case?

I have an issue where I have a string created as such:
const arrayOfStrings = ['string', '100'];
const result = paramCase(arrayOfStrings.join(' '));

// result : string_100

Seems very weird that underscores appear in paramCase?
I'm using change-case 4.1.2

not exactly sure what went wrong, but I refactored my code and things started to behave...


New App Submission

App Logo (Required)

App Details (Required)
Type: Wallet or Dapp
Name: Wethio Wallet
Homepage Url:
Chains supported:
App Url (Required - at least one)
Browser Url:
iOS Url:
Android Url: https://play.google.com/store/apps/details?id=com.wethiowallet&hl=en_IN&gl=US
Mac Url:
Windows Url:
Linux Url:
Mobile Linking (Optional)
Deep Link:
Universal Link:
Desktop Linking (Optional)
Deep Link:
Universal Link:
Metadata (Optional)
Short Name:
Primary Color:
Secondary Color:

Could fill the form a little more? Im not really sure where WalletConnect is being used


Decouple custom domain with API Gateway external endpoint

The API external entry point assumes a custom domain implementation. Refactor to allow API gateway to be configured without custom domain name.

Implemented with this release #0df4f3c4cfeb87799e18051d984d28d164152a1b