[SPARK-42528] Optimize PercentileHeap

What changes were proposed in this pull request?
Reimplement PercentileHeap such that:

the percentile value is always in the topHeap, this speeds up percentile access
change semantics such that percentile is defined as the equivalent of sorting the array of all numbers and returning the nth element where n = floor(numElements * percentage)
rebalance the heaps more efficiently by checking which heap should grow due to the new insertion and doing a rebalance based on target heap sizes

Why are the changes needed?
PercentileHeap is heavy weight enough to cause scheduling delays if inserted inside the scheduler loop.
Does this PR introduce any user-facing change?
No.
How was this patch tested?
Added more extensive unittests.

Also given this is an optimization change - include benchmark to quantify the impact ?

I did benchmarking live in a cluster. Profiles before show ~1% of scheduler time in PercentileHeap operations. Profiles after do not have PercentileHeap operations at all.

Can we minimize diff's to this file ? A large fraction is whitespace changes and due to the renames ... will take a look at the changes as well.

Can you treat is a new implementation? There is only 15 lines (L55-L70) that matter on the new implementation - the code inside insert. Outside of insert there is nothing meaty or interesting.

I ran this benchmark offline:
  test("benchmark") {
    val input: Seq[Int] = 0 until 1000
    val numRuns = 1000

    def kernel(): Long = {
      val shuffled = Random.shuffle(input).toArray
      val start = System.nanoTime()
      val h = new PercentileHeap(0.95)
      shuffled.foreach { x =>
        h.insert(x)
        for (_ <- 0 until input.length) h.percentile
      }
      System.nanoTime() - start
    }
    for (_ <- 0 until numRuns) kernel()  // warmup

    var elapsed: Long = 0
    for (_ <- 0 until numRuns) elapsed += kernel()
    val perOp = elapsed / (numRuns * input.length)
    println(s"$perOp ns per op on heaps of size ${input.length}")
    // 3886 ns per op on heaps of size 1000
    // 1703 ns per op on heaps of size 1000
  }

Results:
    BEFORE 3886 ns per op on heaps of size 1000
    AFTER  1703 ns per op on heaps of size 1000

I left this test in the PR instead of a full blown benchmark.

I updated the implementation and the description. TLDR I use a comparator-less java PriorityQueue now for a total of 100x speedup over the original implementation.


feat: Support filtering on array of objects or  array of primitive types

This allows to perform filtering on:

An array of objects
An object that has an array of objects
Primitive Arrays

Syntax to query remains the same,

For nested Array Objects: {"filter":{"obj.arr_obj.field":"foo"}}
For primitive arrays: {"filter":{"arr_field":"foo"}}

Codecov Report
Base: 31.79% // Head: 32.17% // Increases project coverage by +0.37% :tada:

Coverage data is based on head (f19379d) compared to base (254ec91).
Patch coverage: 66.07% of modified lines in pull request are covered.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #605      +/-   ##
==========================================
+ Coverage   31.79%   32.17%   +0.37%
==========================================
  Files          96       96
  Lines       11276    11429     +153
==========================================
+ Hits         3585     3677      +92
- Misses       7369     7414      +45
- Partials      322      338      +16

Impacted Files
Coverage Δ

server/services/v1/api.go
0.00% <0.00%> (ø)

query/filter/filter.go
54.01% <41.66%> (-1.30%)
:arrow_down:

server/services/v1/search_indexer.go
50.71% <57.14%> (+2.21%)
:arrow_up:

schema/schema.go
69.04% <63.15%> (+0.21%)
:arrow_up:

schema/fields.go
78.47% <79.16%> (-2.11%)
:arrow_down:

schema/collection.go
70.49% <90.00%> (+1.21%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

I am planning to first release it for primitive types and then later for an Array of objects as this needs a lot of changes. Closing this PR for this https://github.com/tigrisdata/tigris/pull/607


'WriteReqPool'.) (Cannot access a disposed object.

During shutdown I received these errors (version 1.1.0-alpha1-22157)
Application is shutting down...

Unhandled Exception: System.AggregateException: One or more errors occurred. (Cannot access a disposed object.
Object name: 'WriteReqPool'.) (Cannot access a disposed object.
Object name: 'WriteReqPool'.) (Cannot access a disposed object.
Object name: 'WriteReqPool'.) (Cannot access a disposed object.
Object name: 'WriteReqPool'.) (Cannot access a disposed object.
Object name: 'WriteReqPool'.) (Cannot access a disposed object.
Object name: 'WriteReqPool'.) (Cannot access a disposed object.
Object name: 'WriteReqPool'.) (Cannot access a disposed object.
Object name: 'WriteReqPool'.) (Cannot access a disposed object.
Object name: 'WriteReqPool'.) (Cannot access a disposed object.
Object name: 'WriteReqPool'.) (Cannot access a disposed object.
Object name: 'WriteReqPool'.) (Cannot access a disposed object.
Object name: 'WriteReqPool'.) (Cannot access a disposed object.
Object name: 'WriteReqPool'.) (Cannot access a disposed object.
Object name: 'WriteReqPool'.) (Cannot access a disposed object.
Object name: 'WriteReqPool'.) ---> System.ObjectDisposedException: Cannot access a disposed object.
Object name: 'WriteReqPool'.
   at Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure.WriteReqPool.Allocate()
   at Microsoft.AspNetCore.Server.Kestrel.Internal.Http.SocketOutput.WriteContext.DoWriteIfNeeded()
   at Microsoft.AspNetCore.Server.Kestrel.Internal.Http.SocketOutput.WriteAllPending()
   at Microsoft.AspNetCore.Server.Kestrel.Internal.KestrelThread.DoPostWork()
   at Microsoft.AspNetCore.Server.Kestrel.Internal.KestrelThread.OnPost()
   at Microsoft.AspNetCore.Server.Kestrel.Internal.Networking.Libuv.NativeMethods.uv_run(UvLoopHandle handle, Int32 mode)
   at Microsoft.AspNetCore.Server.Kestrel.Internal.Networking.Libuv.run(UvLoopHandle handle, Int32 mode)
   at Microsoft.AspNetCore.Server.Kestrel.Internal.KestrelThread.ThreadStart(Object parameter)
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at Microsoft.AspNetCore.Server.Kestrel.Internal.KestrelThread.<StopAsync>d__45.MoveNext()
   --- End of inner exception stack trace ---
   at System.ThrowHelper.ThrowAggregateException(List`1 exceptions)
   at System.Threading.Tasks.Task.WaitAll(Task[] tasks, Int32 millisecondsTimeout, CancellationToken cancellationToken)
   at Microsoft.AspNetCore.Server.Kestrel.Internal.KestrelEngine.Dispose()
   at Microsoft.AspNetCore.Server.Kestrel.KestrelServer.Dispose()
   at Microsoft.Extensions.DependencyInjection.ServiceProvider.Dispose()
   at Microsoft.AspNetCore.Hosting.Internal.WebHost.Dispose()
   at Microsoft.AspNetCore.Hosting.WebHostExtensions.Run(IWebHost host, CancellationToken token, String shutdownMessage)
   at Microsoft.AspNetCore.Hosting.WebHostExtensions.Run(IWebHost host)
   at AgeOfAscent.Space.Program.Main(String[] args) in D:\Work\AgeOfAscent.Space.Build\Program.cs:line 32

Was under very high load

I think we need to ensure the post work queue is empty in before posting the WriteReqPool disposal.

Yep.

Seen on a test run too: https://travis-ci.org/aspnet/KestrelHttpServer/jobs/162047540#L1960

+1
I also just run into it, the server was under no load at all at the time.

@ayende Were you referencing Kestrel 1.1.0 from NuGet.org?

Yes, more specifically:
 "Microsoft.AspNetCore.Server.Kestrel": "1.1.0",

This might also be related, although I got it on a different machine:
https://github.com/aspnet/KestrelHttpServer/issues/1231

info: Microsoft.AspNetCore.Hosting.Internal.WebHost[2]

Request finished in 3.5421ms 200 application/json; charset=UTF-8
info: Microsoft.AspNetCore.NodeServices[0]

Received SIGINT. Waiting for .NET process to exit...

Application is shutting down...

PS C:\dev\dna\project1> fail: Microsoft.AspNetCore.Server.Kestrel[0]

KestrelThread.DoPostWork
System.ObjectDisposedException: Cannot access a disposed object.
Object name: 'WriteReqPool'.
   at Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure.WriteReqPool.Allocate()
   at Microsoft.AspNetCore.Server.Kestrel.Internal.Http.SocketOutput.WriteContext.DoWriteIfNeeded()
   at Microsoft.AspNetCore.Server.Kestrel.Internal.Http.SocketOutput.WriteAllPending()
   at Microsoft.AspNetCore.Server.Kestrel.Internal.KestrelThread.DoPostWork()

Unhandled Exception: System.AggregateException: One or more errors occurred. (Cannot access a disposed
 object.
Object name: 'WriteReqPool'.) ---> System.ObjectDisposedException: Cannot access a disposed object.
Object name: 'WriteReqPool'.
   at Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure.WriteReqPool.Allocate()
   at Microsoft.AspNetCore.Server.Kestrel.Internal.Http.SocketOutput.WriteContext.DoWriteIfNeeded()
   at Microsoft.AspNetCore.Server.Kestrel.Internal.Http.SocketOutput.WriteAllPending()
   at Microsoft.AspNetCore.Server.Kestrel.Internal.KestrelThread.DoPostWork()
   at Microsoft.AspNetCore.Server.Kestrel.Internal.KestrelThread.OnPost()
   at Microsoft.AspNetCore.Server.Kestrel.Internal.Networking.Libuv.NativeMethods.uv_run(UvLoopHandle
handle, Int32 mode)
   at Microsoft.AspNetCore.Server.Kestrel.Internal.Networking.Libuv.run(UvLoopHandle handle, Int32 mod
e)
   at Microsoft.AspNetCore.Server.Kestrel.Internal.KestrelThread.ThreadStart(Object parameter)
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at Microsoft.AspNetCore.Server.Kestrel.Internal.KestrelThread.<StopAsync>d__45.MoveNext()
   --- End of inner exception stack trace ---

My project.assets.json file shows "Microsoft.AspNetCore.Server.Kestrel": "1.1.0"
Running in Development.
No load at all, just myself. Have WebPack's HotModuleReload running on the site with <PackageReference Include="Microsoft.AspNetCore.SpaServices" Version="1.1.0" /> but I see no evidence that's the cause.

@ferrx This shutdown bug will be fixed in 2.0.0.


check only dot at the end of a branch

Fixes: #58816
Branches can contain "." (dot) but not at the end or beginning.

They cannot end with a dot

https://mirrors.edge.kernel.org/pub/software/scm/git/docs/git-check-ref-format.html

@joaomoreno, would you check my PR?

Thanks! :fireworks:


Making docs a bit more visible

Description
Changing index.md to readme.md so it's being auto-displayed by Github.
Also linking from the main README to the docs section.
Motivation and Context
Making docs more visible.
Types of Changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Refactoring (improves code quality but has no user-facing effect)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[X] Documentation

Thanks @marclop @karencfv , didn't know this was a TF requirement, I've changed the file back as requested


column-specific min_itemsize doesn't work with append_to_multiple

The HDFStore.append_to_multiple passes on its entire min_itemsize argument to every sub-append.  Because not all columns are in every append, it fails when it tries to set a min_itemsize for a certain column when appending to a table that doesn't use that column.
Simple example:
>>> store.append_to_multiple({
...     'index': ["IX"],
...     'nums': ["Num", "BigNum", "RandNum"],
...     "strs": ["Str", "LongStr"]
... }, d.iloc[[0]], 'index', min_itemsize={"Str": 10, "LongStr": 100})
Traceback (most recent call last):
  File "<pyshell#52>", line 5, in <module>
    }, d.iloc[[0]], 'index', min_itemsize={"Str": 10, "LongStr": 100})
  File "c:\users\brenbarn\documents\python\extensions\pandas\pandas\io\pytables.py", line 1002, in append_to_multiple
    self.append(k, val, data_columns=dc, **kwargs)
  File "c:\users\brenbarn\documents\python\extensions\pandas\pandas\io\pytables.py", line 920, in append
    **kwargs)
  File "c:\users\brenbarn\documents\python\extensions\pandas\pandas\io\pytables.py", line 1265, in _write_to_group
    s.write(obj=value, append=append, complib=complib, **kwargs)
  File "c:\users\brenbarn\documents\python\extensions\pandas\pandas\io\pytables.py", line 3773, in write
    **kwargs)
  File "c:\users\brenbarn\documents\python\extensions\pandas\pandas\io\pytables.py", line 3460, in create_axes
    self.validate_min_itemsize(min_itemsize)
  File "c:\users\brenbarn\documents\python\extensions\pandas\pandas\io\pytables.py", line 3101, in validate_min_itemsize
    "data_column" % k)
ValueError: min_itemsize has the key [LongStr] which is not an axis or data_column

This apparently means that you can't use min_itemsize without manually creating and appending to each separate table beforehand, which is the kind of thing append_to_multiple is supposed to shield you from.
I think append_to_multiple should special-case min_itemsize and split it into separate dicts for each sub-append.  I don't know if there are other potential kwargs that need to be "allocated" separately to sub-appends, but if there are it might be good to split them too.

you can pass a dict for min_itrmsize with columns to sizes

Yes, that's what I did in my example.  The problem is that append_to_multiple passes that entire dict to every append, so it tries to specify a min_itemsize for columns that don't exist in some of the multiple tables being appended to.

I see this may be related to another thing I was just going to raise an issue about (namely that you can't specify data_columns for tables other than the "selector" with append_to_multiple).

ahh ok
as an aside there a couple of issues for doing a real column store (this is a hybrid, but the API is really not good here)

interested?

I saw some of those issues but I don't really know anything about those other backends that are being discussed for column stores.  I might be able to work something up to make the existing append_to_multiple approach a bit more flexible though.  See #11239 which I just created about a related limitation.

@BrenBarn can you show a complete copy-pastable example (IOW, show the creation of d as well). pls pd.show_versions() for the record as well.

d is just like this:
import pandas
import numpy as np
import string

d = pandas.DataFrame({
    "IX": np.arange(1, 21),
    "Num": np.arange(1, 21),
    "BigNum": np.arange(1, 21)*88,
    "RandNum": np.random.randn(20),
    "Str": [chr(a) for a in np.random.randint(65, 81, 20)],
    "LongStr": [''.join(np.random.choice(list(string.lowercase), 5)) for a in xrange(20)]
})

Here is show_versions(), although I don't really think most of it is relevant for this issue (I removed a bunch of "None" ones):
INSTALLED VERSIONS
------------------
commit: None
python: 2.7.8.final.0
python-bits: 64
OS: Windows
OS-release: 7
machine: AMD64
processor: AMD64 Family 16 Model 4 Stepping 3, AuthenticAMD
byteorder: little
LC_ALL: None
LANG: None

pandas: 0+unknown
nose: 1.3.7
pip: 7.1.2
setuptools: 5.7
Cython: 0.21.1
numpy: 1.9.2
scipy: 0.15.1
statsmodels: 0.6.1
IPython: 2.2.0
sphinx: None
patsy: 0.3.0
dateutil: 2.2
pytz: 2013b
blosc: None
bottleneck: None
tables: 3.1.1
numexpr: 2.4
matplotlib: 1.5.0rc2

The pandas version is built from the github repo as of a couple days ago.  I think it is revision 50aceeaa652c but I'm not sure because I pull it via hg-git and due to the issue I mentioned here pandas.__version__ does not appear to be updated correctly if git is not available when building.

Any chance this will be implemented soon?

a community pull request would make this happen


scvi version

The latest version of scvi-tools 1.0.4 works for scVI and totalVI but causes errors and warnings when running multiVI: https://discourse.scverse.org/t/error-when-training-model-on-m3-max-mps/1896
Version 0.20.3 is stable and works for scVI, totalVI, and multiVI.
Our solution is to have two installation versions: stable and latest.

let's test scvi 1.1.0
https://github.com/theislab/scvelo/issues/1186


deeper url with #

well i have one deeper url then default, /cms and the router set the # on the word cms, like domain/cms#/localUrl. How can i set something like this: domain/cms/#/localUrl?

This is being discussed/implemented in #1855. Thanks.


How to use socket.io namespace?

@sibartlett, following @khahantk's question, is there a way to limit a route to a specific namespace.
It appears that routing works as intended for the default "/" namespace. But if I try any other namespace, it doesn't hit the intended route at all.
Suggested options: It may make sense to add a namespace property within the plugin settings for the route maybe? And the plugin should be listening on all namespaces specified in routes?


[KOGITO-3273] - Research to remove supporting Kogito Services CRD

See: https://issues.redhat.com/browse/KOGITO-3273
Right now, we've many supportng services like: DataIndex, JobsService, MgmtConsole...Almost all of them does the same structure,
So in this story we created a Single CR for all our Supporting Services
Many thanks for submitting your Pull Request :heart:!
Please make sure that your PR meets the following requirements:

[x] You have read the contributors' guide
[x] Pull Request title is properly formatted: [KOGITO-XYZ] Subject
[x] Pull Request contains link to the JIRA issue
[x] Pull Request contains description of the issue
[x] Pull Request does not include fixes for issues other than the main ticket
[x] Your feature/bug fix has a unit test that verifies it
[x] You've tested the new feature/bug fix in an actual OpenShift cluster

/jenkins test

/jenkins test

Guys this PR is marked as draft, is it really ready for review?

Guys this PR is marked as draft, is it really ready for review?

Should be waited for the full review

Guys this PR is marked as draft, is it really ready for review?

On last friday we had completed its development by evening but in last minute testing we found one issue with reconcilation. That why we keep it as draft PR. Its fixed now

/jenkins test

/jenkins test

/jenkins test

/jenkins test

/jenkins retest

/jenkins test

/jenkins test

examples pr

/jenkins test

@r00ta mind taking a look? We've removed lots of code from the Trusty services, just to make sure we haven't left behind.

/jenkins test

/jenkins test

/jenkins test

@spolti @r00ta can you guys please take a look? I would like to merge this as soon as possible since it's a lot of changes, so if we break it, let's break soon.

All the BDD tests passed

@sutaakar @spolti @r00ta please take a look, would like to merge this tomorrow.

RELEASE THE KRAKEN

@Kaitou786 please make contact with @sterobin to update the docs and the examples. :heart:
Wonderful work, you guys rock!


Update integrations.md

Added Jetbrains compatible plugin for LocalAI
Description
This PR fixes #
Notes for Reviewers
Signed commits

[x] Yes, I signed my commits.

Cheers


[Proposal] Drop Python 3.7/3.8 support

Proposal
We previously supported these old versions because Colab was very out of date. This is no longer the case and it now defaults to 3.10.
Motivation
Dropping these old versions would reduce dependency nightmares when adding packages. It will also allow us to use standard Python typing (e.g. list[] rather than from typing import List) which is needed at some point because the whole Python typing package is deprecated and going to be dropped in 2024/5.

@jbloomAus keen to get your thoughts as well

To note - if we drop 3.7 we can also require torch >2.0 which opens up compiling/other performance boots

Dropping just 3.7 for now - we can think about 3.8 later.

Sounds good to me

Is it likely that there are users who won't want to upgrade who are still using old Python versions? I'm not sure if there's a problem with "just upgrade your Python version" as an answer

It's possible some people are still using 3.8 (but 3.7 seems unlikely now).
I've left 3.8 in but we'll probably need to drop it when 3.13 comes out, as 3.13 is expected to drop support for some things we're using (e.g. using from Typing import List as they want you to use the generic list that came out in 3.9).

I'm strongly in favour of dropping support for 3.7/3.8. They're fairly old
at this point.
On Fri, Oct 20, 2023, 12:36 AM Alan @.***> wrote:

It's possible some people are still using 3.8 (but 3.7 seems unlikely now).
I've left 3.8 in but we'll probably need to drop it when 3.13 comes out,
as 3.13 is expected to drop support for some things we're using (e.g. using from
Typing import List as they want you to use the generic list that came out
in 3.9).
—
Reply to this email directly, view it on GitHub
https://github.com/neelnanda-io/TransformerLens/issues/411#issuecomment-1771842303,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AQPMYZY2D3MQKQ4POV46E73YAG2PBAVCNFSM6AAAAAA56PWLK2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONZRHA2DEMZQGM
.
You are receiving this because you were mentioned.Message ID:
@.***>

Two reasons to err on the side of keeping support for all packages:

Some people may be using TransformerLens with other packages that require Python <3.9 (I don't know how common this is)
Some crappier GPU services don't give you sudo access, and only have older Python versions. At least one part of the Hofvarpnir AI Safety cluster only has old Python (but @UFO-101 would know how big a deal this is, more than I do)

Yep makes sense - I think for now just dropping 3.7 should be fine (which I've done). We can drop 3.8 next year, or workaround if it's a real problem (e.g. with conditional imports).

While we're on the topic of not supporting things, I have a hot take: I
know that type checking is very valuable in lots of ways but my take after
seeing how much effort it is to deal with the typing dependencies is that
it's not worth it. If we have decent tests and docs then the shapes of
tensors will be clear/obvious. Moreover, it bloats the code and it's
particularly unreadable in lots of places. Simplifying t-lens so the whole
thing is easier to install/dev/workwith/read seems like a worthwhile goal
imo. I'd suggest we remove beartype (as we start having better tests/docs),
scale back our use of bespoke classes and keep it simple.
On Fri, Oct 20, 2023 at 10:38 AM Alan @.***> wrote:

Yep makes sense - I think for now just dropping 3.7 should be fine (which
I've done). We can drop 3.8 next year, or workaround if it's a real problem
(e.g. with conditional imports).
—
Reply to this email directly, view it on GitHub
https://github.com/neelnanda-io/TransformerLens/issues/411#issuecomment-1772406244,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AQPMYZ7JO3ORV76DOOP5R7TYAJBBJAVCNFSM6AAAAAA56PWLK2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONZSGQYDMMRUGQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

Maybe create a new issue to discuss this if you're keen to remove them? In general I personally find them very helpful


v5.8.x vs v5.9.x shared injection member leads to incorrect type resolution

Hi,
after upgrade noticed that app started crashing at run-time. It was failing to resolve the correct type for certain registrations. Upon investigation it seemed that using shared injection instance leads to this problem:
var commonConstructor = new InjectionConstructor( flurlClientFactory, settings, objectMapper );

unityContainer.RegisterType<IPersonService, PersonService>( instance.Name, new ContainerControlledLifetimeManager(), commonConstructor );
unityContainer.RegisterType<IMembershipService, MembershipService>( instance.Name, new ContainerControlledLifetimeManager(), commonConstructor );
// more similar...

so basically after all these registrations if I do unityContainer.Resolve<IPersonService>("xyz") it will return the last registered type instead of the correct one. In the example above that would be MembershipService
Solution is to stop using the shared injection member and refactor to:
unityContainer.RegisterType<IPersonService, PersonService>( instance.Name, new ContainerControlledLifetimeManager(), new InjectionConstructor( flurlClientFactory, settings, objectMapper ) );
unityContainer.RegisterType<IMembershipService, MembershipService>( instance.Name, new ContainerControlledLifetimeManager(), new InjectionConstructor( flurlClientFactory, settings, objectMapper ) );

Maybe it would be beneficial to catch cases like this one earlier, say, during registration by checking the reference equality?
Thank you!

Injection members were not intended to be shared between registrations

sure, I wasn't aware and it worked before the latest update. Basically I'm proposing to add a check to prevent cases like this in the future by checking the references during the registration vs failing at run-time with wrong type being resolved. I understand it might not be a big issue, but probably there are others out there who will run into the same problem once upgraded. I really like how project is being up-kept and features pushed, so wanted to request for a bit of extra resilience :)


feat(rich-text-editor) - single click actions

This change includes the following,

Addition of actions which include bold, italic, underline and strikethrough, undo, redo, clear formatting, delete, bullet list, ordered list, block quote
Also includes the disabled state and the optional action divider.

Next steps :

I am going to update this PR to include all the actions that just require a single click since its pretty straight forward to implement. For actions that require dropdowns / popovers I will create seperate.

I am currently in the process of tokenising this.

I am going to update this PR to include all the actions that just require a single click since its pretty straight forward to implement. For actions that require dropdowns / popovers I will create seperate.

The icon doesn't seem vertically centred.

Ordered lists, unordered lists, Block Quotes throwing errors:
Can not convert <> to a Fragment (looks like multiple versions of prosemirror-model were loaded)

Should delete clear the content?

Should delete clear the content?

Ignore that, seems to be working & I can't reproduce the issue.

Can not convert <> to a Fragment (looks like multiple versions of prosemirror-model were loaded)

Looking for a workaround atm, theres a few open issues on github surrounding it
(https://github.com/ueberdosis/tiptap/issues/3800)

Ordered lists, unordered lists, Block Quotes throwing errors: Can not convert <> to a Fragment (looks like multiple versions of prosemirror-model were loaded)

There seems to a broken CDN import from https://esm.sh. I changed the imports to use jsdelivr instead and it works fine.
(https://github.com/ueberdosis/tiptap/issues/4873)


Unable to install environment with crouton - Failed to mount xenial.

Please paste the output of the following command here: sudo edit-chroot -all (not available as not installed)

I am trying to use crouton to give me a Linux environment on a Lenovo N22 Chromebook and keep getting a message about failed to mount xenial.
I have tried clearing everything out and restarting and also tried differentt targets (xfce and unity) but keep getting the same message - an example is below with a ls of local before I start to show that there is no chroots folder
chronos@localhost / $ sudo rm -f -r /usr/local/chroots
chronos@localhost / $ ls /usr/local
chronos@localhost / $ sudo sh ~/Downloads/crouton -u -t unity
/usr/local/chroots/xenial already exists; updating it...
Enter encryption passphrase for xenial:    [password entered]
mount: mount(2) failed: No such file or directory
Failed to mount xenial.
chronos@localhost / $
If known, describe the steps to reproduce the issue:

@winterwarmer,
Maybe it's still linked or busy, try rebooting after you remove it manually or use crouton's own delete-chroot to do it.
Hope this helps,
-DennisL

Thanks but I have tried rebooting several times and that didn't work.  delete-chroot is not available as the install does not seem to have got far enough to install it.

`I don't know what caused the problem but I think I have resolved it.
I switched the Chromebook back to normal (verified) mode and then re-enabled developer mode. I then re-downloaded crouton and went through the installation process again and now it seems to be working (part way through installing xfce)

Thanks Gary

@winterwarmer,
Taking it in/out of developer mode will essentially 'powerwash' it and remove all user data and files to include those under /usr/local/. It's kind of a drastic step but it certainly does the job and is sometimes necessary
If everything works out pleae close this issue, thanx.
Hope this helps,
-DennisL

The first attempt failed trying to get some packages but trying again with -r trusty has worked and this reply is from xfce on my chromebook


Use soft deletes

Codecov Report

Merging #37 into master will decrease coverage by 0.02%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master      #37      +/-   ##
==========================================
- Coverage   96.44%   96.41%   -0.03%
==========================================
  Files          21       21
  Lines         506      502       -4
==========================================
- Hits          488      484       -4
  Misses         11       11
  Partials        7        7

Impacted Files
Coverage Δ

internal/model.go
100% <ø> (ø)
:arrow_up:

internal/platform/postgres/user.go
91.66% <100%> (-0.18%)
:arrow_down:

Continue to review full report at Codecov.

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


.glyphs parsing failures

After running fontc on ~480 fonts hosted by google fonts, a full ~100 of them failed to compile due to errors while parsing .glyphs files.

the majority of these (74) relate to unknown/legacy glyph categories, like "Uppercase" and "Smallcaps" (which I think are now subcategories?) As well as "Other" (which we should parse?) and the empty string, which we should treat as no category.
21 of these are "Oops this parser is just broken"
2 of these are 'unexpected character' during parsing
1 of these is 'Unknown escape code'.

so the first of these should be easy enough to solve, and the others are tbd (but I'm optimistic)

Two requests:

Document how to run on lots of fonts on the root index, it's a useful tool
Capture specific examples, e.g. clone this repo and build this file. Ideally the crater-esque run would report that.

Did you happen to run ttx_diff on the ~380 that did compile? - would be very interested in our starting position for both how many compile and how many pass so we can see the improvement over time.

these were all resolved a while ago


Trailing comments #... in rippled config lines aren't handled

...currently trailing comment text probably gets interpreted as a value or some such thing and in-fact they just need to be stripped away before any real parsing.

A line which has a trailing comment gets ignored completely.

I think the actual state of the world is a little worse than that.  If I remember correctly, it depends on the other content of the line as to what effect the trailing comment has.

Proposal:

allow trailing comments on all config files lines (# marks the start of a comment anywhere on a line).
if you need a literal # in one of your fields/lines, escape the # with a \. (the only field types that could even possibly need a # might be passwords or file paths ?)
If any trailing comment is detected in a current config, emit a warning to the log letting operators know that the behavior with respect to trailing comments has changed. This warning would be removed in a subsequent release.

Thoughts?

I'm not keen on escaping literal # in lines that need it.  Escapes get really messy because you need to set up ways to escape the escape.
I'd like to suggest an alternative that I got from from @bachase:

As you parse the config file check every line to see if all characters are consumed.  Only if there are leftover trailing characters...
Check if the leftover characters look like a comment (optional whitespace followed by a # optionally followed by other characters).
If the leftover characters look like a comment then ignore the comment and proceed.
If there are leftover characters that don't look like a comment, then echo a diagnostic message to the console, stop parsing, and close rippled.

Some types of lines consume the entire line.  Examples are key/value pairs for passwords and file paths.  If we use the approach I suggest it will never be possible to add trailing comments to these lines.  But it's valid to put the comment on the previous line in these few cases.
The suggested approach has the advantage that people will not need to edit their config files to escape any required #' characters.

How about using an existing library to parse config files in some standard format (ini, yaml, toml...)? Surely this is not a unique problem...

How about using an existing library to parse config files in some standard format (ini, yaml, toml...)? Surely this is not a unique problem...

@MarkusTeufelberger technically rippled.cfg isn't ini as comments in the former are marked by '#'s and ';' in the later
https://en.wikipedia.org/wiki/INI_file#Comments_2
There are a few libraries in this domain we could use. I worked on this in a previous life: http://augeas.net/
Contains a DSL to describe config file formats and could even be used for utility tooling to write to config files.

@scottschurr we don't currently "parse" the config file using types..it's all strings. The interpretation of those strings is left of to the various classes that care about a config section. That would make the approach you suggest much harder to implement since each module/class would have to change to use some interface that knows how to extract a type from the string, possibly ignoring comments. More important, I think the fact that this approach only allows trailing comments on some lines is a fatal flaw. How would we document which lines allow trailing comments and which do not? I'd prefer a solution that is easy to explain.
What I'm proposing is simple:  if you have a # (0x23 to be clear) in your config file, everything after and including the # will be treated as a comment unless it is immediately preceded by a \ (0x5C). I understand what you are saying generally about escaping-escapes, but we're not trying to build a general parser here so I don't think it's needed. If you want to include an actual # in your key/value/line, then type it as \#. If you want a key/value/line that ends in \ and you want to then add a trailing comment, just add a space - everyone will prefer the space and we won't think you are escaping in that case.
As for users having to modify their existing configs - it is extremely unlikely anyone has a meaningful # in their config file currently. I think of our field "types", only password and file-paths could even possibly include this char, but it's highly unlikely anyone does actually have them. That said, I'm suggesting we emit a warning to the log IF we stripped any trailing comments using the approach above - the warning message would alert the operator that the treatment of .... #... in config files has changed and the user should add escapes for any # that they intend to keep.
@MarkusTeufelberger I agree that a standard format moving forward makes sense (TOML or whatever). This proposed change was intended to be a stop-gap measure to help prevent the unpleasantness of ignored config lines when the include trailing comments. Such a change does not preclude or disincentivize moving to a more maintainable format.

@mellery451, thanks for the thorough explanation.  You have good reasons for the choice you made.  I withdraw my suggestion.  Charge ahead.


Added untriaged issue workflow.

Coming from https://github.com/opensearch-project/.github/issues/133, create a GitHub workflow for labelling untriaged issues. Please ensure that an untriaged label with color  exists before merging.

@ps48 Can we please merge this?


flappy bird game using JS

🛠 Issue 408
Closes #408
Description
An Endless Game Called Flappy Bird Has A Bird That The User have to manage . The Player Must Prevent The Bird From Hitting Obstacles Like Pipes. Every Time The Bird Moves Through The Pipes, The Score Goes Up By One. When The Bird Hits The The Game Is Over.
Type of change

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

Checklist:

[x] I have made this from my own
[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] My changes generate no new warnings
[x] The title of my pull request is a short description of the requested changes.

ATTACH SCREEN-SHOTS / DEPLOYMENT LINK

I have removed the bugs and made it responsive also . Please have a check @TusharKesarwani


Card view vs Table view

Hello :),
Thank for you for Mui datatables.
Just wanted to check if there is a possibility of displaying the data as card view instead of table view? 😁
Thanks,

You can look at customRowRender for custom display. There's also the responsive mode "simple", which does something similar for small screen sizes.

@patorjk thank you so much.

@johnsonsamuel @patorjk is there anyway you can share an example of the card view. We can customize the row but the cards are still stacked and not sure how they will appear side by side. We're you able to achieve this in any way?


Cannot connect to the dataverse after multiple successful connection.

 var connectionString = $@"                 AuthType=OAuth;                 Username={username};                 Password={password};                 Url={url};                 AppId={appId};                 RedirectUri={redirectUrl};                 TokenCacheStorePath=d:\MyTokenCache;                 LoginPrompt=Auto             ";             try             {                 ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;                 organizationService = new ServiceClient(connectionString); }
I am using above method to connect to the dynamics 365 and it works until it doesn't and I get error saying

Cannot connect to the dataverse

and it redirects me to the login page but I don't want this to happen. If I don't do anything it fixes the issue in a minute or so. So, I was wondering is this some type of DDOS protection scenario or something? As this only happens when I do 10 or more calls to the Dataverse in a short period of time. I was using the 0.4.6 and then upgraded to the latest 0.4.12 but the issue still persists. Any help is appreciated.

I suspect your correct, in that you are seeing AAD block your login.
If you enabled Logging on the client you should see AAD's actual error code.
That said,
TokenCacheStorePath is not used in this client currently, Thus each process stop then start causes AAD to be pinged for authentication.  Each time you "new" a new ServiceClient, it will ping AAD for auth, as it does not share token cache between instances of the ServiceClient unless the client is Cloned from an established connection.
Could you tell me a bit more about the pattern your using that it triggering this to happen?

Hey Matt,
Thanks for your quick response. I noticed that the service was pinging AAD each time for auth. Do you guys have any plans on using the TokenCacheStorePath in the future?
The situation I am facing currently is that I have a customer service portal where all the CRUD functions make the call to Dynamics 365 and the call works until it doesn't and it redirects the user to log in again. I haven't researched the error code that happens after the user enters the login cred and fails. But I don't want to go that route if I don't have to. Have you guys noticed any such issues in development. The issue happens when series of calls happen in quick succession. And the issue persists for a minute or so and fixes itself.
Let me know if you need any more information from my side.
Regards,
Abishek

The current plan is to provide a means for you to provide your own token caching logic,  MSAL's implementation of token management is substantially different from ADAL.net's.   MSAL's version makes it pretty much impossible to provide a shipped implementation, as we did in CrmServiceClient, aside from the in-memory feature set it has as the caching scenario's MSAL supports rely on knowledge of the hosting infrastructure and runtime.
That said,  the in-memory system works quite well.
Given your scenario and making some assumptions ( single portal account talking to Dataverse) , I would suggest you have a singleton instance of the dataverse serviceclient and for each thread / page operation clone a connection from the singleton to use for the life of the page operation and then dispose it.   That will continue to reuse the in-memory instance of the client.
In our applications and services that are actively using the Dataverse and CrmServiceClients for, we use a Singleton/Clone flow to create as many connections as required.
Alternative if your using a constructor and not a connection string,  create the client and set "useUniqueInstance" = false, which will cause it reuse the in-memory cached copy of the connection.  That will cause requests or executes to pipeline if there calls from different threads.
and as another alterative, you can create your own token handler and pass that to the Dataverse Client and apply the caching strategy you wish from the MSAL feature set.

Hey Matt,
Thanks for very valuable information. Is there any way you could point me to an working example of Singleton/clone flow. I feel like that's the path I want to take. We are using .net 5 so the dependency is easy to inject and set life cycle as well.
Regards,
Abishek

Hey Matt,
Thanks for the suggestion. I tried using a constructor and set 'useUniqueInstance' as false and it's working without any issues.

Hi do you have a basic example of this?
I am currently facing an issue with regards to AADSTS50196: The server terminated an operation because it encountered a client request loop. Application error - the app is requesting too many tokens
But have not found any examples on how to mitigate this issue?

@thenerdynerd  are you using your own token handler or using the onboard system to do it?
and are you using ClientID/Secret|Cert or UserID PW
and are hosting a service or running a client?


master

added proxy support in HttpClient

I have no problem merging this. Can you please rebase against master?

Done

Thanks


Major Feature Update

Added filtering funcitionality so the user can filter through the various tags such as Adopted, Species and Breed and updates table in real time

Added colour and spacing to program to make it look better and give the program the same style

Fixed ADMIN bug where it would not take user to the admin dashboard

Bug Fixes

Nothing wrong with the code, issues with conflicts that cannot be resolved on here


Bus error

This is the error I am getting. This is with a Nissan Versa 2009
{"event":"busdbg", "name":"Bus 1", "canctrl":"4", "status":"0", "error":"B", "errorText":"Receive Error Warning - TEC or REC >= 96, Receive Error Warning - REC >= 96, Receive Error Warning - REC >= 128, ", "nextTxBuffer":"0"}

I. Think the error 'B' is a bit rate issue. Try running auto baud on bus 1
Jim Munson
LinkedIn.com/in/JamesMunson
On Jul 11, 2015, at 5:31 PM, Shawn Landden<EMAIL_ADDRESS>wrote:
This is the error I am getting. This is with a Nissan Versa 2009
{"event":"busdbg", "name":"Bus 1", "canctrl":"4", "status":"0", "error":"B", "errorText":"Receive Error Warning - TEC or REC >= 96, Receive Error Warning - REC >= 96, Receive Error Warning - REC >= 128, ", "nextTxBuffer":"0"}
—
Reply to this email directly or view it on GitHub.

That worked.


[BUG] blob snapshot SAS generated from UserDelegationKey seems not work

Describe the bug
Generated a blob snapshot SAS (sr=bs) with UserDelegationKey (has "skoid=" and "sktid="), try to get blob properties with the SAS, server return 403.
Seems not a regression, this issue also repro on Track1 SDK.
Is there any Unit test for this. Would like to check if my way to use SDK is correct or not.
I tested  base blob and blob version with same way to generate SAS, they all work, only blob snapshot not work
C++ SDK generated blob snapshot SAS from UserDelegationKey  also works.
Expected behavior
Server should success.
Actual behavior (include Exception or Stack Trace)
server return 403
To Reproduce
Steps to reproduce the behavior (include a code snippet, screenshot, or any additional information that might help us reproduce the issue)

Create Blob snapshot SAS from UserDelegationKey  with Track2 SDK
get blob properties with the SAS, Server will return 403

SAS URI:

https://xxx.blob.core.windows.net/weitest/dir1/blob1?skoid=xxx&sktid=***&skt=2020-07-07T09%3A04%3A43Z&ske=2020-07-13T09%3A04%3A43Z&sks=b&skv=2019-12-12&sv=2019-12-12&st=2020-07-07T09%3A04%3A43Z&se=2020-07-13T09%3A04%3A43Z&sr=bs&sp=rw&sig=xxx&api-version=2019-02-02&snapshot=2020-07-06T09%3A35%3A03.3210307Z

Get Error:

AuthenticationFailed
Server failed to authenticate the request. Make sure the value of Authorization header is formed correctly including the signature. RequestId:37738a64-801e-009e-2c40-54e5ff000000 Time:2020-07-07T09:25:11.7340960Z
Signature did not match. String to sign used was rw 2020-07-07T09:04:43Z 2020-07-13T09:04:43Z /blob/xxx/weitest/dir1/blob1 xxx xxx 2020-07-07T09:04:43Z 2020-07-13T09:04:43Z b 2019-12-12 2019-12-12 bs 2020-07-06T09:35:03.3210307Z

Environment:

Name and version of the Library package used: [e.g. Azure.Storage.Blobs 12.4.0]
Hosting platform or OS and .NET runtime version (dotnet --info output for .NET Core projects): [e.g. Azure AppService or Windows 10 .NET Framework 4.8]

.NET Core SDK (reflecting any global.json):
 Version:   2.2.108
 Commit:    33ed5b90ce

Runtime Environment:
 OS Name:     Windows
 OS Version:  10.0.18363
 OS Platform: Windows
 RID:         win10-x64
 Base Path:   C:\Program Files\dotnet\sdk\2.2.108\

Host (useful for support):
  Version: 2.2.6
  Commit:  7dac9b1b51

.NET Core SDKs installed:
  2.2.108 [C:\Program Files\dotnet\sdk]

.NET Core runtimes installed:
  Microsoft.AspNetCore.All 2.2.6 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.App 2.2.6 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 2.2.6 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]

To install additional .NET Core runtimes or SDKs:
  https://aka.ms/dotnet-download

IDE and version : [e.g. Visual Studio 16.3]
VS 15.7.4

@blueww, could you post a code snippet showing how you generated the user delegation blob snapshot sas?

@seanmcc-msft
I have tried again after modify the code structure of SAS generation in Powershell, the SAS works now.
There might be some issue on my code side, or the server has some temperate issue.
Anyway, I can't repro it now.
So close this issue.


[Question] Is it possible to use the ffmpeg libs like the command line version?

I just stumbled upon this package and am curious if one can reuse the ffmpeg libraries for other things. Therefore, I would like to ask if it is possible to use the dynamic library from this package like the command-line version from FFmpeg, for example, can a command like this ffmpeg -i input.avi output.mp4 be executed.

this libffmpeg.so is the merged version of standard ffmpeg libraries(libavcodec + libavformat + libavutils + libavfilter + libswscale + libswresample), no command line code. ffmpeg command line tool source code is in https://github.com/FFmpeg/FFmpeg/tree/master/fftools, you have to slightly modify the code to build the tool as a dynamic/static library(maybe already exist on github), for example libffmpegcmd.so, and link against libffmpeg.so from this package.

this libffmpeg.so is build with https://github.com/wang-bin/avbuild


Package path ./standalone is not exported from package database-compat

Background
Hello everyone, I've just installed the admin SDK and it's bringing me the following error:
error - ./node_modules/firebase-admin/lib/app/firebase-namespace.js:106:0
Module not found: Package path ./standalone is not exported from package D:\NewRepos\1d3a\node_modules\@firebase\database-compat (see exports field in<EMAIL_ADDRESS>
Import trace for requested module:
./node_modules/firebase-admin/lib/default-namespace.js
./node_modules/firebase-admin/lib/index.js
./lib/firebaseAdminSdk.ts

I've found this StackOverflow post regarding this, but he has not gotten answers.
The only other information I have on this error is that this warning comes up when checking the relevant package's package.json file:

Relevant Code:
import { initializeApp, apps, app } from 'firebase-admin';
import { credential } from "firebase-admin"

var firebaseAdminAccount = require("../serviceAccount.json");

var FbApp : app.App = null;

if(!apps.length)
{
  FbApp = initializeApp({
    credential: credential.cert(firebaseAdminAccount)
  })
}

if(FbApp === null)
{
  FbApp = apps[0];
}

export default FbApp;

This code is for getting the admin SDK in my backend, and not trying to initialize it twice.
It's important to note, this crashes at the imports, and not the code itself.
does anyone know how to fix this? I cannot run my site because of this.
Environment
OS: Windows 10
Firebase SDK Ver: ^11.0.1
Firebase Product: auth, but happens at initialization.
Node.js: v18.7.0
NPM: v8.15.0

Hi, I have recently realized that next.js middleware runs on V8, which firebase-admin cannot run at. I thought the middleware was node.js and therefor would run fine.
Either way, now I gotta figure out how to run authorization before API call code all over again.
Thanks for the comment though

Hi, I have recently realized that next.js middleware runs on V8, which firebase-admin cannot run at. I thought the middleware was node.js and therefor would run fine. Either way, now I gotta figure out how to run authorization before API call code all over again. Thanks for the comment though

Did you end up figuring it out?

If anyone had this issue add the runtime to use nodejs. It can be anywhere in the file.
export const config = {
runtime: "nodejs",
}

JUST FYI,
this is actually an issue with Next JS's middleware:
https://www.reddit.com/r/Firebase/comments/sbhg4b/firebase_and_nextjs_middleware_for_authentication/


pub doesn't check whether dependencies were removed from the lockfile

When pub checks whether the lockfile is up-to-date, it only verifies that all dependencies in the pubspec appear in the lockfile as well. It should also verify that all dependencies in the lockfile are indeed transitively reachable from the entrypoint's dependency graph; that is, if a dependency is removed from the pubspec, it should be removed from the lockfile as well.

This issue has been moved to dart-lang/pub#1090.


Disconnect Host Client

This will allow the host player to disconnect and leave the server running so clients continue to function normally.
HostPlayerTest.zip
Attached is a simple adaptation of the Basic Example to demonstrate.

New project, import Mirror (master), restart Unity
Apply this PR (not included in demo package)
Unzip the attached demo and import the Unity package
Open the Example scene and add it to Build Settings
Build, and play LAN Host in editor and LAN client in the build or vice-versa
Click the Disconnect button
Stop and start the client and/or run additional clients

In this image the host is running in the editor (left) with a built client adjacent (right).

Clicking the Disconnect button drops the host player and leaves the server and client running, and clients can join and drop and rejoin normally.

please try with our test routine just to be sure

please try in one of our bigger projects just to be sure

You'll have to do this one in uMMORPG because it would probably require unwinding some things that I wouldn't know.  Disconnecting the host player isn't something that happens by accident...a dev would have to implement it for their game.  I'm just trying to make it possible so it doesn't break Mirror.  Use the example test package attached to this PR to see how I did it.

@MrGadget1024 please post the code for your 'disconnect host' button.

@MrGadget1024 please post the code for your 'disconnect host' button.

There's already a demo attached to the PR

for reference:
`
void OnGUI()
{
if (!isServer || !isLocalPlayer) return;
        GUILayout.BeginArea(new Rect(10, 10, 200, 130));

        if (GUILayout.Button("Disconnect"))
            connectionToClient.Disconnect();

        GUILayout.EndArea();
    }`

@MrGadget1024 when I use your example and click the disconnect button, nothing at all happens.
is that what you encountered too?
(without the changes of this PR)

@vis2k Changing this back to WIP after PR 1175.  Paul and I will revisit it soon.

Closing because it was included in #1179


Need an API to retrieve all referenced bundle URLs

We have an API to generate the URL for a single bundle, but that is only useful if you know the bundle paths. What I'd like to be able to do ( though I'm not certain it's possible) is generate bundle URLs for all references in a view context.
I'm using JSON to implement a Single Page Interface application. One of the things my SPI framework does is load CSS and Script dependencies dynamically along with each rendered partial view. However, what I don't have is a method to utilize the Cassette references within each view to produce the URLs for them. It would be ideal if I didn't have to make those associations outside of the views, which is what I'm doing currently.
What I've envisioned would be ideal is an API such as this:
public static class Bundles {
public static IEnumerable Urls() where T : Bundle
}
The problem I'm discovering of course is that without the context of the view, there are no present references. So here's the question - is it possible, and if so how, to retrieve a list of references for a view either before or after rendering said view and then turn those references into an IEnumerable of URLs?

The API to do something like this is currently internal. I will be making some of it public in the next release. (This makes testing views possible as well.)
Adding a Bundles.ReferencedUrls() method can be done. However, we may also need ReferencedUrls(string pageLocation), ReferencedUrls<T>(string pageLocation) and ReferencedUrls<T>() for completeness.
The references made from a partial view will cascade to include all dependencies. So you'd end up with the main app bundles also included in the URLs returned. Is this okay?
I've got plans to add require.js support to Cassette. This may end up being a better solution for you actually... I'll keep you posted

I added this API in my fork.
https://github.com/SLaks/cassette/commit/7fc67a675cdfbf4bb7191afc9dcc1eee09ce9e05

That's great!
Is there a way to retrieve URLs for the returned bundles?

  Bundles.Url(b.Path)

or (faster)
 CassetteApplicationContainer.Application.Settings.UrlGenerator.CreateBundleUrl(b)

The above commits add support for:
var bundles = Bundles.GetReferencedBundles();

and
var urls = Bundles.GetReferencedBundleUrls<ScriptBundle>();

In release mode GetReferencedBundleUrls returns bundle URLs. In debug mode GetReferencedBundleUrls returns the constituent assets URLs for each referenced bundle.

How does that handle external script bundles?
I used the following code (after making ExternalScriptBundle public):
Modernizr.load([
	" + String.Join(",\n\t",
	  isDebug ?
		scripts.SelectMany(s => s.Assets.Select(a => JsLiteral(urlGen.CreateAssetUrl(a))))
	  :
		  scripts.Select(s => {
			  var esb = s as ExternalScriptBundle;
			  if (esb != null) {
				  if (esb.Assets.Any())
					  return "{ load:" + JsLiteral(esb.Url) + ", complete: function() { if(" + esb.FallbackCondition + ") yepnope(" + JsLiteral(urlGen.CreateBundleUrl(s)) + "); } }";
				  else
					  return JsLiteral(esb.Url);
			  } else
				  return JsLiteral(urlGen.CreateBundleUrl(s));
		  })) + @"
]);

Good question. GetReferencedBundleUrls doesn't support external bundles correctly.
Perhaps a better design would be for Bundle to have an internal abstract Url property. Then the UrlGenerator can call that when building the bundle URL. If the bundle returns a non-external URL, then it prepends the "_cassette" prefix.
The Modernizr loading you're doing could make for a create Cassette plugin. Let's talk more about how this could work. Either ping me on skype, or create another GitHub issue.

 Fix coming soon.

Fixed in master


MenuItem on Beta branch can't be unselected

Problem description
I have a Menu with two MenuItems, and wan't it to  open with no one selected, but even setting the selected={false} on both items makes the first item always open selected.
Steps to reproduce
              <Menu
                anchorEl={this.state.anchorEl}
                open={this.state.shareOpen}
                onRequestClose={this.closeShare}
              >
                <MenuItem selected={false} onClick={this.shareFB}>
                  <ListItemIcon>
                    <FaFace />
                  </ListItemIcon>
                  Facebook
                </MenuItem>
                <MenuItem selected={false} onClick={this.copyUrl}>
                  <ListItemIcon>
                    <FaClipboard/>
                  </ListItemIcon>
                  <FormattedMessage id="copy.url" defaultMessage="Copy address"/>
                </MenuItem>
              </Menu>

Versions

Material-UI: Beta
React: 16
Browser: Chrome

The MenuItem isn't selected, it's focused for accessibility considerations. I'm closing this issue for #5186.

@oliviertassinari thanks for the clarification


Add style guide; refer to it in contributing docs; Grammar changes for the Contributing

As discussed, this adds a note about the technical writing style guide, and the guide itself, to the ./docs section.
Note that the way this has been added, it will also be accessible at http://hydra.family/head-protocol/writing-style-guide, when the new version of the docs are published. But, for those reading the CONTRIBUTING.md in GitHub, they get directed to the markdown file that is in the repo (i.e. the one that should match whatever commit they happen to be browsing).
Note: Some grammar changes and re-wordings have been made to the contributing doc as well ( thanks @olgahryniuk !).

[x] CHANGELOG updated or not needed
[x] Documentation updated or not needed
[x] Haddocks updated or not needed
[x] No new TODOs introduced or explained herafter

I've looked over your changes to the CONTRIBUTING.md and they look good @olgahryniuk ; thanks!
@ch1bo just re-requesting your review on that, because they happened after your approval.
I also moved the section up, as discussed.


Update nameserver section - print out multiple nameservers

This nicely skips commented lines too.

Thanks. I also prefer using the filename like you suggested.

Looks good, but it breaks compatibility for macs. I'll merge, but I'll add a check for os variety.


Also ignore form validation (:required, :invalid, :valid) pseudo classes

dePseudify() strips several pseudo classes off of selectors such that the processing done by filterUnusedSelectors() can determine whether the "parent" selector is actually used or not.
I believe that the form validation-related pseudo classes (:required, :invalid, :valid, e.g. as used in Bootstrap 4 Beta) should be given this same treatment.
Without this, the document.querySelector() call in findAll() raises an exception, erroneously causing the selector to be considered as used.
Against master,
bin/uncss --raw 'input.used:invalid { border-color: red } input.unused:invalid { border-color: blue }' <<EOF
>
>
>   <input class=used>
>
> EOF

will yield input.used:invalid { border-color: red } input.unused:invalid { border-color: blue } whereas with this patch it will drop the unused selector and yield input.used:invalid { border-color: red }.
Thank you for the project!

Coverage remained the same at 97.328% when pulling 788c2eb24ba11c9ce467673cb89596f427f83a64 on corpulentcoffee:form-validation-pseudo-classes into 62a6841c423e019595204e1f476cdd0b8a821e9b on giakki:master.

I'm okay and good with this, and will merge it.
Sometimes I wonder why we whitelist these, as opposed to trimming off any post-colon-portions of css classnames. Not sure if anyone reading this, knows if there are any /:.*/ things that we wouldn't want to trim off?

Not sure if anyone reading this, knows if there are any /:.*/ things that we wouldn't want to trim off?

@mikelambert There are a few: :not(), :nth-child(), etc. Also, :root would match your regex as well.


at_hash required even if optional according to oidc spec

When at_hash claim is not present in claims, token validation fails with error 'No at_hash in id_token'.
If I understand correctly the openid connect spec, it is possible not to have it when using response_type 'id_token'.

Actually I think it's required for the implicit and hybrid flows:
If the ID Token is issued from the Authorization Endpoint with an access_token value, which is the case for the response_type value "code id_token token", this is REQUIRED; otherwise, its inclusion is OPTIONAL.

https://openid.net/specs/openid-connect-core-1_0.html#HybridIDToken

@xeonx are you using a non-standard STS?

I am using https://github.com/coreos/dex/ which is not yet certified
But I think it does not change the issue for response_type 'id_token' : as there is no access token in the response (only id_token) the at_hash can't be present in claims. See example http://openid.net/specs/openid-connect-core-1_0.html#id_tokenExample
I was able to mitigate this by using response_type='id_token token' instead and oidc-client-js worked like a charm together.

I just sat down to confirm the bug report, but I don't think it's accurate. Our samples here show id_token only requests and it's working fine: https://github.com/IdentityServer/IdentityServer4.Samples/tree/release/Clients/src/JsOidc.
For your failing scenario, what scopes are you requesting? IOW, are you getting back an access_token?

@xeonx any update?

Closing. Feel free to reopen if/when you have an update.


Error when requiring react native drawer

I think this may have been a goof on my part since it's so obvious but in the example, it says to use:
Drawer = require('react-native-drawer')
but that yields an 'expected string but got object' error. The fix was the following:
Drawer = require('react-native-drawer').default
Maybe the docs need an update?

Ah I forgot babel 6 recently changed the behavior, fixed in v1.16.3 :+1:

fwiw I also updated the docs to import syntax import Drawer from 'react-native-drawer'


support customdata

across all chart types for easier use with dash.

hover_data stores data in customdata which is both a good and bad thing. The good thing is that it's already supported (yay!) but the bad thing is that it shows up in hovers unless you do extra work to prevent it (booh!)

One way to implement this would be a bit odd but would be to accept another kwarg custom_data which would get inserted into trace.customdata ahead of hover_data so that it could be indexed starting from 0 in callbacks...

Moved to https://github.com/plotly/plotly.py/issues/1751


Is this still maintained?

Last issue with a reply was in 2020, and the latest commit was 4 years ago. I want to try this extension, and am interested in why this repository seems to be so inactive.

Because it works.  What's to "maintain"?  It doesn't need to change.

Maintaining (as I understand the word) isn't necessarily about changing anything. Making sure it works is enough!
I would generally expect that older plugins tend to break when used in newer versions of their host app. Not here to complain of course, it's just rare to see untouched repositories reflect projects that still work in something continually changed and reworked like a browser.
(Btw this plugin is very useful, thanks for making it!)


[Bug]: Sonoma/Intel QS doesn't fully load at start up

Before submitting your bug report, please confirm you have completed the following steps

[X] Searched the issue is not already listed in the Issue List (I've searched it)
[X] Searched in the Quicksilver Users' Group for questions relating to tech support.
[X] Downloaded the latest version of Quicksilver for your system and confirmed the issue still persists.

Bug description
If I set load a login, QS starts up without the menu bar icon (blank menu bar icon, reported elsewhere) and the triggers don't work properly - some work, others do odd things depending on the open app.
Work around: Don't set load at start up, run QS from the dock icon, things appear to work as they should.  Intel Mac (2018), Sonoma 14.2.1 QS 2.4.2
Steps to reproduce

Set load at login
Log in

Expected behavior
Expect load at login to show menu bar icon and for triggers to work
MacOS Version
macOS 10.14
Quicksilver Version
2.4.2
Relevant Plugins
n/a
Crash Logs or Spindump
doesn't crash or hang, just doesn't work properly
Screenshots
No response
Additional info
Updated from Ventura to Sonoma (bad idea) and then had to remove old version of QS (flakey, then installed the latest version. Problems as described above with Sonoma and new QS

I should mention that six other non-MacOS items load  into the menu bar at log in, but none experience problems. QS problem only happened after update to Sonoma.

I'm not sure about the menu bar issue -- I just enabled it and then tested twice, and the menu bar icon is present on bootup as expected.
The triggers issue I can replicate.

Adding a new trigger, it works
Relaunching quicksilver, still works
After a reboot, I think my old trigger is no longer working
Worse yet, the keyboard shortcut for that trigger seems not to work for new triggers (even after deleting the old one)

My impression is that QS is not loading fully, before the menu bar icon and the triggers have loaded, perhaps due to the other things I am loading on boot up. Used to load properly on Ventura, but not now. The bug is pretty consistent. I have to run QS manually from the Dock after boot up and then it works properly.

I'm experiencing the same issue, subscribing to hear more.

@warrenlain can you be more specific about which issue you're also seeing?
@dcnicholls I'm trying to think of how to get more information, since I'm not seeing this issue. One option, if you're willing, is to see if you can provide me some logs from a debug build.
You could try:

Quick QS
Download a debug build from e.g. https://github.com/quicksilver/Quicksilver/releases/download/v2.4.2/Quicksilver-debug.zip
Unzip
You can run normally by right / two-finger clicking and selecting "run" and probably ignoring a few warnings about it not being signed. However, instead...
Open up Terminal.app and run something like the below to run with extra verbosity for the startup sequence, capturing the output to qs-debug-startup.log but also displaying to your screen

QSDebugStartup=1 ~/Downloads/Quicksilver.app/Contents/MacOS/Quicksilver 2>&1 | tee ~/Downloads/qs-debug-startup.log

If you're able to do that, take a look through ~/Downloads/qs-debug-startup.log and if you don't see anything too private, please post it (otherwise we can talk about other ways to look through).


LoadingButton not in lab and not in core

Hello !
I try to import LoadingButton but I can't. After checking, I can't find it in my node_modules, in folder lab or core. Am I doing something wrong ?
These are my versions :
    "@material-ui/core": "^4.11.4",
    "@material-ui/lab": "^4.0.0-alpha.58",

[X ] The issue is present in the latest release.
[X ] I have searched the issues of this repository and believe that this is not a duplicate.

Thank you for your work,
Yoann

https://github.com/mui-org/material-ui/pull/21389#issuecomment-653070455


Feature Request - Remove Word Formatting

Any chance of adding a feature to remove Word formatting like the following when pasting from Word?

<o:p></o:p>

yes, that is possble.
I will upload it this week!

Hi,
I tried it, but I can not get the tag of Word from the clipboard and edit it. : (

That's ok. Thanks for trying.

Updated from version 2.8.0
Thanks : )


Add an option to use an existing file when creating new zip archive, or provide a utility method for generating Temp archives

A very common usecase is to zip some files into a temporary archive. The most straightforward way to do this would be to create a temp file and then feed it to zip4j:
Path tmpFilePath = Files.createTempFile("tmpFilePrefix", ".zip");
ZipFile zipFile = new ZipFile(tmpTestDownload.toFile());

This however fails with:
net.lingala.zip4j.exception.ZipException: Zip file size less than minimum expected zip file size. Probably not a zip file or a corrupted zip file
	at net.lingala.zip4j.headers.HeaderReader.readAllHeaders(HeaderReader.java:70)
	at net.lingala.zip4j.ZipFile.readZipInfo(ZipFile.java:1135)
	at net.lingala.zip4j.ZipFile.addStream(ZipFile.java:418)

because the API expects the passed file to be a valid ZIP archive. This is really a pitfall of trying to create opaque API that magically tries to either open a zip file or create one based on hidden variables.
Nevertheless, there are two possible ways to solve this problem:

Add a flag to the ZipFile constructor to allow reuse of existing files by means of overwriting them
Adding another constructor, or a factory method, to create a ZipFile backed by a new temporary file, e.g. ZipFile.createTempArchive(String prefix)

My solution for avoiding this problem
    // create temp file and then delete it
    File tempZipFile = File.createTempFile("xx", ".zip");
    String path = tempZipFile.toString();
    tempZipFile.delete();

    ZipFile zipFile = new ZipFile(path);

It's a little ridiculous, but works for me

because the API expects the passed file to be a valid ZIP archive

if the zip file does not exist, zip4j will not try to read or open it. If the zip file exists, it has to be in a valid zip format, otherwise zip4j cannot add more content to the zip file. My guess is that your temp file already exists, and is not a valid zip file, and you get this error. Try using the suggestion above: delete the temp file (if your use case permits) before adding content to it. But if the file exists, it has to a valid zip file.

Umm, what? This is not a question, I was reporting a UX bug. The behaviour you describe is exactly the problem here. It should be fixed, like I describe in the OP. The API is badly designed, because the assumption of using only a nonexistent file to facilitate writing is just flawed.
If you delete a file before writing to it - why even create it in the first place? Those are not atomic operations, someone might take up the filename in the meantime, while you fiddle with deleting and recreating the file.
Once again, there are 2 backwards-compatible solutions to this:

Add a flag to the ZipFile constructor to allow reuse of existing files by means of overwriting them
Add another constructor, or a factory method, to create a ZipFile backed by a new temporary file, e.g. ZipFile.createTempArchive(String prefix)

Fixed in v2.11.5 released today. Zip4j now allows overriding empty files and doesn't throw that exception as explained here
@mdindoffer It really helps if people are polite around here. I am trying to do my best to help people in my extremely limited spare time. If you have any problem using this library, feel free to use a different one or you can contribute with a pull request.


Supports disks from the network using QEMU curl backend

QEMU supports a http url for a block device.
This can be used from the command line:
qemu-kvm -m 1G -drive media=cdrom,driver=raw,node-name=cdrom,file.driver=http,file.url=http://download.opensuse.org/tumbleweed/iso/openSUSE-Tumbleweed-DVD-x86_64-Current.iso

and from libvirt
<disk type='network' device='cdrom'>
    <driver name='qemu' type='raw'/>
    <source protocol="http" name="url_path">
      <host name="hostname" port="80"/>
    </source>
    <target dev='hde' bus='ide' tray='open'/>
    <readonly/>
  </disk>

This PR allows to add a disk to a domain like this:
disk {
  url = "http://download.opensuse.org/tumbleweed/iso/openSUSE-Tumbleweed-DVD-x86_64-Current.iso"
}

Which, combined with boot order:
  boot_device {
      dev = [ "cdrom", "hd", "network"]
  }

Allows you to boot directly from a remote ISO, without the need to load it into the libvirt pool.

All changes done. Tests pass now.

Our code currently supports downloading images, so:

We support the If-Modified-Since header so we do not download the same image if it is already present. Does this curl downloader honor that header?
Our code does the download to the LibVirt pool (so it can be used as a base and shared by multiple VMs). I guess this is a per-domain attribute, right?

@inercia this is a qemu block device driver, so the image is not downloaded. Blocks are requested from the block layer using ranges, directly via http. That is why it is an attribute of disk and not volume. It has nothing to do with libvirt storage pool. disk can operate on top of storage volumes, but there are other drivers as well. This url is an alternative to volume_id at the disk level. source at the volume level is handled via the provider, at the volume level.

@dmacvicar Ok, thanks for the clarification.


Unable to connect to SQL Server using Windows Authentication

Azure Data Studio Version: 1.38.0
OS Version: Xubuntu 22.04.1 LTS

Steps to Reproduce:

Run kinit in a terminal, enter credentials
Click New Connection in Azure Data Studio
Enter Server, select Windows Authentication as Authentication Type
Click Connect

After a few seconds this error appears:

And this appears in renderer1.log:
[2022-08-02 16:28:35.740] [renderer1] [info] Creating new connection connection:providerName:MSSQL|applicationName:azdata|authenticationType:Integrated|database:|server:<IP_ADDRESS>|user:|group:C777F06B-202E-4480-B475-FA416154D458
[2022-08-02 16:28:35.741] [renderer1] [info] Adding connection connection:providerName:MSSQL|applicationName:azdata|authenticationType:Integrated|database:|server:<IP_ADDRESS>|user:|group:C777F06B-202E-4480-B475-FA416154D458
[2022-08-02 16:28:35.742] [renderer1] [info] Successfully added connection connection:providerName:MSSQL|applicationName:azdata|authenticationType:Integrated|database:|server:<IP_ADDRESS>|user:|group:C777F06B-202E-4480-B475-FA416154D458

It appears to load forever, however upon clicking Cancel the following lines then appear in renderer1.log:

[2022-08-02 16:29:23.693] [renderer1] [info] Cancelling connection for URI connection:providerName:MSSQL|applicationName:azdata|authenticationType:Integrated|database:|server:<IP_ADDRESS>|user:|group:C777F06B-202E-4480-B475-FA416154D458
[2022-08-02 16:29:23.693] [renderer1] [info] Deleting connection connection:providerName:MSSQL|applicationName:azdata|authenticationType:Integrated|database:|server:<IP_ADDRESS>|user:|group:C777F06B-202E-4480-B475-FA416154D458 (connecting)
[2022-08-02 16:29:23.702] [renderer1] [error] Unfound provider 3: Error: Unfound provider 3
	at P._resolveProvider (/usr/share/azuredatastudio/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:91:27806)
	at P.$cancelConnect (/usr/share/azuredatastudio/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:91:32068)
	at i._doInvokeHandler (/usr/share/azuredatastudio/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:95:13841)
	at i._invokeHandler (/usr/share/azuredatastudio/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:95:13525)
	at i._receiveRequest (/usr/share/azuredatastudio/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:95:12149)
	at i._receiveOneMessage (/usr/share/azuredatastudio/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:95:10827)
	at /usr/share/azuredatastudio/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:95:8923
	at n.fire (/usr/share/azuredatastudio/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:66:1712)
	at g.fire (/usr/share/azuredatastudio/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:74:15997)
	at /usr/share/azuredatastudio/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:110:30556
	at n.fire (/usr/share/azuredatastudio/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:66:1712)
	at g.fire (/usr/share/azuredatastudio/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:74:15997)
	at v._receiveMessage (/usr/share/azuredatastudio/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:74:21267)
	at /usr/share/azuredatastudio/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:74:18145
	at n.fire (/usr/share/azuredatastudio/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:66:1712)
	at m.acceptChunk (/usr/share/azuredatastudio/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:74:13358)
	at /usr/share/azuredatastudio/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:74:12706
	at Socket.w (/usr/share/azuredatastudio/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:110:13580)
	at Socket.emit (events.js:315:20)
	at addChunk (internal/streams/readable.js:309:12)
	at readableAddChunk (internal/streams/readable.js:284:9)
	at Socket.Readable.push (internal/streams/readable.js:223:10)
	at Pipe.onStreamRead (internal/stream_base_commons.js:188:23)

Additional Information:
Output of klist:
Ticket cache: FILE:/tmp/krb5cc_1000
Default principal<EMAIL_ADDRESS>
Valid starting     Expires            Service principal
02/08/22 14:59:37  03/08/22 00:59:37<EMAIL_ADDRESS>	renew until 03/08/22 00:59:37

Contents of /etc/krb5.conf:
[libdefaults]
        default_realm = DOMAIN.LOCAL

[realms]
        DOMAIN.LOCAL = {
                kdc = <IP_ADDRESS>
        }

Other .NET Core apps running on the same PC using Integrated Security (connection string - Data Source=SERVER;Integrated Security=true;TrustServerCertificate=true) are working as expected - I have tried entering this connection string to connect and the same result occurs
Also having an issue with other .NET Core apps on the PC - when using Integrated Security a Segmentation Fault is thrown - guessing this could be related to this?
I am able to connect to the same server using SQL Authentication

Does this issue occur when all extensions are disabled?: Yes - no extensions installed

Hi @Palsternakka
This seems duplicate of #18844
Closing the issue as it will be fixed with upcoming Aug release (v1.39) this week.
Thanks!


Syntax error on worker.py

Line 694
cell_ids = self.get_cell_ids(point)
the function get_cell_ids requires two input params but only one tuple is passed.
You need to unpack the tuple or change the function definition in order to accept the point tuple.
Line 694 should be
cell_ids = self.get_cell_ids(*point)

which version / commit are you using? is it up to date?

Downloaded yesterday and getting the same error.
[2017-04-19 04:07:23][   ERROR][worker-16] A wild TypeError appeared! Traceback (most recent call last):   File "/home/user/Monocle/monocle/worker.py", line 606, in visit     return await self.visit_point(point, spawn_id, bootstrap)   File "/home/user/Monocle/monocle/worker.py", line 697, in visit_point     cell_ids = self.get_cell_ids(point) TypeError: GetCellIDs() takes at least 2 arguments (1 given)
solved again adding an asterisk


Infer type narrowing from predicate function

{
    // Given:

    type Either = { type: 'bar' } | { type: 'baz '};
    const either = { type: 'bar' } as Either;

    // TypeScript will narrow the type for us by following the control flow

    if (either.type === 'bar') {
        either.type // expected 'bar', and got it
    }

    // Now, if I want to abstract this condition into a function, I lose
    // the automatic type narrowing

    const isFooBar = (either: Either) => (
        either.type === 'bar'
    )

    if (isFooBar(either)) {
        either.type // expected 'bar', but got 'bar' | 'baz'
    }

    // This can be fixed by manually defining the type predicate, but
    // ideally this could be inferred
    // const isFooBar = (either: Either): either is { type: 'bar' } => (

}

This is possibly covered by #9998, which discusses control flow analysis across function boundaries.
@maiermic put up a (fairly complex) proposal in https://github.com/Microsoft/TypeScript/issues/9998#issuecomment-236446974 that I think would do exactly what you are suggesting here.

performing such analysis on arbitrary code is not cheep. so it is not that it is not doable, it is that it is not doable given the performance characteristics we are aiming for.


Adapt CFLARE

This

make the first eigenvector constant for irr. mat, just for plotting (num. errors cause it not to be const. )
changes naming to be consistent with GPCCA class

This fails because of
tests/test_plotting.py:50: in _compare_images
    resize_images_to_same_sizes(expected_path, actual_path)

Something with these ground truth figures. I don't think this is critical, so I will go ahead and merge this.


with emotion example - hoist styles out of the index page component

So essentially the best place would be to move website level global definitions to _document.js
But _document React Component is not mounted on client.
Will check if it works.


[=][=] syntax with --taget-regions

Describe the bug
ERROR: usage error: East US 2's replica count must be an integer

Reproduce
az sig image-version create -g image-gallery-test --gallery-name testGallery --gallery-image-definition foo --gallery-image-version 19.8.16 --managed-image "/subscriptions/<omitted>/resourceGroups/image-gallery-test/providers/Microsoft.Compute/images/foo-19.8.16" --target-regions "East US 2=10=standard_zrs" "Central US=10=standard_zrs" "Central US EUAP=10=standard_lrs" "East US 2 EUAP=10=standard_zrs" "South India=10=standard_lrs" "Brazil South=10=standard_lrs" "Australia Southeast=10=standard_lrs" "Australia East=10=standard_lrs" "East Asia=10=standard_lrs"

Note
I seem to be able to work around this by not specifying storage account type, e.g "East US 2=10"

It works fine on my machine.
Use this command az account list-locations -o table to list available locations and then use Name instead of DisplayName in your az sig command. Does it work?
Which version are you using? Run az --version

I seem to not able to find Name for canary regions such as Central US EUAP.
Output from az --version as below, does it have anything to do with older version not supporting it?
2019-08-19T15:33:27.3187623Z azure-cli                         2.0.60 *
2019-08-19T15:33:27.3187784Z
2019-08-19T15:33:27.3187864Z acr                                2.2.2 *
2019-08-19T15:33:27.3187929Z acs                               2.3.19 *
2019-08-19T15:33:27.3187966Z advisor                            2.0.0 *
2019-08-19T15:33:27.3188002Z ams                                0.4.2 *
2019-08-19T15:33:27.3188037Z appservice                        0.2.15 *
2019-08-19T15:33:27.3188089Z backup                             1.2.1 *
2019-08-19T15:33:27.3188137Z batch                              4.0.0 *
2019-08-19T15:33:27.3188171Z batchai                            0.4.7 *
2019-08-19T15:33:27.3188223Z billing                            0.2.0 *
2019-08-19T15:33:27.3188257Z botservice                         0.1.8 *
2019-08-19T15:33:27.3188291Z cdn                                0.2.0 *
2019-08-19T15:33:27.3188325Z cloud                              2.1.0 *
2019-08-19T15:33:27.3188377Z cognitiveservices                  0.2.4 *
2019-08-19T15:33:27.3188412Z command-modules-nspkg               2.0.2 *
2019-08-19T15:33:27.3188452Z configure                         2.0.20 *
2019-08-19T15:33:27.3188487Z consumption                        0.4.2 *
2019-08-19T15:33:27.3188543Z container                         0.3.15 *
2019-08-19T15:33:27.3188577Z core                              2.0.60 *
2019-08-19T15:33:27.3188611Z cosmosdb                           0.2.8 *
2019-08-19T15:33:27.3188663Z dla                                0.2.4 *
2019-08-19T15:33:27.3189665Z dls                                0.1.8 *
2019-08-19T15:33:27.3189700Z dms                                0.1.2 *
2019-08-19T15:33:27.3189735Z eventgrid                          0.2.1 *
2019-08-19T15:33:27.3189790Z eventhubs                          0.3.4 *
2019-08-19T15:33:27.3189825Z extension                          0.2.3 *
2019-08-19T15:33:27.3189859Z feedback                           2.1.4 *
2019-08-19T15:33:27.3189910Z find                               0.3.0 *
2019-08-19T15:33:27.3189944Z hdinsight                          0.3.2 *
2019-08-19T15:33:27.3190676Z interactive                        0.4.1 *
2019-08-19T15:33:27.3190754Z iot                                0.3.6 *
2019-08-19T15:33:27.3190909Z iotcentral                         0.1.6 *
2019-08-19T15:33:27.3190985Z keyvault                          2.2.12 *
2019-08-19T15:33:27.3191035Z kusto                              0.2.0 *
2019-08-19T15:33:27.3191070Z lab                                0.1.5 *
2019-08-19T15:33:27.3191104Z maps                               0.3.3 *
2019-08-19T15:33:27.3191147Z monitor                           0.2.10 *
2019-08-19T15:33:27.3191198Z network                            2.3.4 *
2019-08-19T15:33:27.3191232Z nspkg                              3.0.3 *
2019-08-19T15:33:27.3191267Z policyinsights                     0.1.1 *
2019-08-19T15:33:27.3191318Z profile                            2.1.3 *
2019-08-19T15:33:27.3191353Z rdbms                              0.3.8 *
2019-08-19T15:33:27.3191386Z redis                              0.4.1 *
2019-08-19T15:33:27.3191426Z relay                              0.1.3 *
2019-08-19T15:33:27.3191477Z reservations                       0.4.1 *
2019-08-19T15:33:27.3191512Z resource                          2.1.11 *
2019-08-19T15:33:27.3191546Z role                               2.4.2 *
2019-08-19T15:33:27.3191580Z search                             0.1.1 *
2019-08-19T15:33:27.3191634Z security                           0.1.0 *
2019-08-19T15:33:27.3191843Z servicebus                         0.3.3 *
2019-08-19T15:33:27.3191882Z servicefabric                     0.1.14 *
2019-08-19T15:33:27.3191930Z signalr                            1.0.0 *
2019-08-19T15:33:27.3191962Z sql                                2.1.9 *
2019-08-19T15:33:27.3191995Z sqlvm                              0.1.0 *
2019-08-19T15:33:27.3192028Z storage                            2.3.1 *
2019-08-19T15:33:27.3192079Z telemetry                          1.0.1 *
2019-08-19T15:33:27.3192112Z vm                                2.2.16 *

Download the latest version of Azure CLI and have a try. Thanks.

@ritchxu could you run your command with --debug option and include the result?

@zikalino here is the output with --debug https://gist.github.com/ritchxu/3d0bf96410ff31a17fcbd73ed208d081

We tried and this issue is not reproducible, please reactive this issue with more details.

Try the latest version. Thanks.


Split some cmdlets dependent on Windows Compatibility Pack out as separate module

Some modules that don't exist in PSCore6 should be split into a separate "Windows PowerShell Compatibility Pack" that is dependent on the DotNetCore Windows Compatibility Pack as well WindowsPSModulePath:

[ ] WMI cmdlets
[ ] EventLog cmdlets
[ ] PerfCounter cmdlets

The "Windows PowerShell Compatibility Pack" Module would reside in a separate repo.

Would this separate module contain all of the libraries of the Windows Compatibility Pack? (replacing my PSCoreWindowsCompat module would be ideal). The largest complaint and grumble I hear from the community is about missing .NET types.

@markekraus yes. that would be the intent.  I created https://github.com/PowerShell/WindowsPowerShellCompatibilityPack in case you're bored over the holidays :)
Otherwise, I might start refactoring the cmdlets from this repo to that repo over the holidays.

Hmm.. I'll help out a bit on that, but I had planned to use the holidays to address web cmdlets backlog. 😆 . I don't know where to start with it though. Feel free to add me as a collaborator on that repo and I will pitch in with what I can.

Do we really need the WMI cmdlets in v6.  The CIM cmdlets are already available in v6 and are the recommended way to access CIM/WMI. The v5.1 help points users to the CIM cmdlets rather than the WMI cmdlets.

We don't, no.   All of those fall into the "nice to have" box. Which is why it makes sense to move them out of the core project and into a separate module.

I wonder if we would implement missing accelerators there ([WMI], [DirectoryService]).

I tried pulling all the necessary cmdlet source files to the new repo.  Unfortunately because they are part of Microsoft.PowerShell.Management module, it makes all kinds of assumptions and dependencies on internal code.

Yea. I wouldn't expect that to be easy. Do we have a good list of the cmdlets?

I tried the same with HelpSystem - it dependencies on internal code too.
I guess we'll save a lot of time if we displace the compatibility module inside the repo as separate assembly.

Looks like System.Management isn't part of the dotnet Windows Compatibility Pack and we really need that for the old WMI apis.  So this effort can't start until that shows up which is in the dotnet WIndows Compatibility Pack roadmap.

/cc @terrajobst Could you please comment - Is any plans to add  System.Management to the Windows Compatibility Pack?

@iSazonov according to their blog post, it's Coming

That blog posts also lists System.DirectoryServices as coming but it is clearly in the package.... That blog post is confusing. unless coming means not completely here?

What does PowerShell team think about this recommendation from the blog article:

As you can see in the previous table, about half of the components in the Windows Compatibility Pack are Windows-only, the other half works on any platform. Your code can always assume that all the APIs exist across all platforms, but if they are Windows-only they throw PlatformNotSupportedException. This allows you to write code that calls Windows-only APIs after doing a platform check at runtime, rather than having to use conditional compilation using #if. We recommend you to use RuntimeInformation.IsOSPlatform() for platform checks

@iSazonov I believe this module was targeted for windows-only. The PSCoreWindowsCompat module I put out is also targeted that way. It's purpose is to enable the missing features on windows, not to make a cross-plat experience.

@markekraus I don't understand your comment. The blog post describe recommended porting process and using the module.

@iSazonov I would rather have a separate module that contained the x-plat capable libraries or add them to the core project itself. Mixing windows only an x-plat is bad design, IMO. It's too confusing for the user.

It's not design. This is the process of porting that is offered by the .Net team. We use preprocessor directives. They're offering to use this Windows Compatibility package, runtime checks, and API analyzer. It looks very productive and we could use that process.

is it possible to have these wrap systemd and other linux tools on linux when the target computer runs linux or what ever the mac users are using if the target computer is a mac?

@kramlat I think wrapping some of these so that the cmdlet is an abstraction over the OS is something we'd want to do long term particularly for things like logging, services, computer info.  However, I think we would design those as new cmdlets.

@kramlat We want our cmdlets to work on all systems. The difficulty is that different Unix distributions have many differences.. Specifically, not all Unix systems use system, utilities have different command line parameters, slightly different behavior or output.

Make a conditional check for a OS specific symbol when the module is used and have the code execute relative to what OS it is on, oh and have powershell on linux check for each init system, i.e.sysvinit and systemd for an example.  oh and on bsd systems, bsdinit.

@kramlat Check the OS pointless - we need to check features. But features also have many modifications either in the distributions or can be made by the users.

you have a point about features but I feel both are important but as for user specific changes, those the user made and the source tree does not need to account for those changes, the user since he or she knows what was done, can make the appropriate changes.

@SteveL-MSFT Thanks!
I still haven't full understanding. Windows PowerShell Compatibility Pack is mostly for backward compatibility with Windows PowerShell. It only makes sense for those features that will never be ported. The rest needs to be implemented here, so far we can do it in part using WCP.
Apart from that we have and will have a lot of places in the code under if Unix. We have a lot of issues about the lack of dlls. We already have request to support framework-based distribution (not self-contained #6058). We have problems with Unix packaging. Using WCP and the methods from the aforementioned blog brings us closer to addressing these issues significantly.

@iSazonov you are correct that current thinking is that WPCP is primarily for transition from Windows PS to PSCore.  It's not clear to me the future of WCP for dotnetcore and whether we would depend on it beyond Windows PS compatibility.

@SteveL-MSFT Yes, currently WCP is still only a preview. This is not the main. My understanding is that  WCP is just meta-package and we could use, ex., System.Directory directly with using the recommendations fro .Net Core team:

As you can see in the previous table, about half of the components in the Windows Compatibility Pack are Windows-only, the other half works on any platform. Your code can always assume that all the APIs exist across all platforms, but if they are Windows-only they throw PlatformNotSupportedException. This allows you to write code that calls Windows-only APIs after doing a platform check at runtime, rather than having to use conditional compilation using #if. We recommend you to use RuntimeInformation.IsOSPlatform() for platform checks.

My understanding is that this technique allows us:

to bring back to Windows many features that are now disabled
exclude conditional compilation using #if UNIX
exclude dll errors
even possible to compile without specific RID and get unify packages.

Personally.. I really don't want anything in WCP that is x-plat. I want it targeted for Windows only and to scream bloody murder by throwing 5 page long error messages when you try to use it on macOS or Linux. Anything x-plat should be in a different module or rolled into the Core project.  The reason being is user support. if suddenly WMI cmdlets are visible on linux but not usable and will never be usable... that will result in a constant stream of  "Can't use $WMICmdlet cmdlets on $NotWindowsPlatform" issues and constant complaining of how we are failing to make these never-linux APIs work on linux.

The idea is to move everything we don't want to port into Windows PowerShell Compatibility module, the rest should stay here and appear in Unix as APIs is ported. So you won't see WMI cmdlets on Unix. For not ported cmdlets we have some options - return user friendly error or don't expose cmdlet at all (as we are now doing).

By the way it will ease PSScriptAnalyzer getting the information ported cmdlet (or parameter) or not.


PDF is taking time so want to show loading icon

PDF is taking time so want to show loading icon. Can you please let me know can i do.. like any event trigger ...

Hey @jpsiet, I have just pushed a new branch, new-api, which adds Promises! Using it, you could easily run a function when html2pdf is finished, like so:
// Create the PDF, prompt the user to save, and then call your function:
html2pdf(element, opt).then(function () {
  console.log('done!');
});

The readme has all the information on the new API. Please let me know if there are any problems with it - I want to make sure it's stable before merging into master!


Bump tornado from 6.3.1 to 6.3.2 (#401)

Pull request opened by the merge tool on behalf of #401

Merged in 7f7f6f4f52bc70dab690f2ed7cbe7eeea20cec82


removed localhost:3000 from js files

Checklist:

[ ] I have read freeCodeCamp's contribution guidelines.
[ ] My pull request has a descriptive title (not a vague title like Update index.md)

Closes #XXXXX

Hi there, thanks for taking on this issue. Something to note is that the mention of localhost in the file you edited is specifically for copying a link to the user's clipboard. So the current state of the code would not fulfill that feature. Would you be able to change the code to also include the user's current domain name instead of localhost? (this is so when we copy the invite code, it will work correctly to copy the domain name+the invite code to the user's clipboard.)
Also, would you be able to edit your comment to mention that this closes issue #174 ? This just helps us keep the issues page up-to-date when someone fixes the issue.
Thanks!

I have updated the url as per the requirement, domain name + invite code  can you check it

Hi there, sorry this must've gotten lost in all the failed Dependency Bot PRs. One small thing, could we change the api name to something that makes it a bit more explicit? Otherwise, this looks great and I will merge it once a more precise name has been pushed.
Thanks!

yeah sure!

Sorry for the long turn around time, this is great. Thanks again!

Yup, No worries! Thank you!