wrong this when calling this-specified functions

TypeScript Version:  2.0.0 beta
Code
function a(this: {x:number}) {
}

function b(this: {x: number}) {
   a();
}

Expected behavior:
no errors
Actual behavior:
at line 5:

Error TS2684 The 'this' context of type 'void' is not assignable to method's 'this' of type '{ x: number; }'.

it's like the compiler believes this is void instead of {x: number} as stated in b's function signature.

Maybe the error message is confusing. This error is correct -- notice that it's on the function call to a(), not on the definition of b. The 'this' context it's talking about is the calling context a() which does indeed have a this: void. The method's this: {x: number}.
Can you think of a better way to word this? I wasn't aware of any existing terminology when I made up the term "'this' context".

Well after thinking for a while I realized it's correct and it's the best way to describe it.
Perhaps the wording "is not assignable" is a bit confusing because makes you look for an assignment, but that's ok once you understand what's happening.

@sandersn I ran into this error while trying to type annotate some existing code. After some confusion (and finding this thread) I finally realized what was going on. FWIW I think if the error had somehow mentioned where those 'this' contexts came from (ie function a(this) and function b(this) in this example) I would have realized what it was pointing out sooner. But maybe I'm just slow.
Anyway before I log a new bug/request, my case gives this error but its not true. Its because there's some magic happening behind the scenes, and I don't know if its possible to annotate in such a way that TS can understand it or not. I have code like this:
interface Context {
    context: string;
}

function foo(this: Context, x: number) {
    this.context;
}

// magic 3rd party code sorcery (NightwatchJS)

interface Funcs {
    foo: typeof foo; // this is not completely true, its basically `typeof foo` with `this` bound
}

declare const obj: Funcs;

obj.foo(1);

I get the above error on obj. because it sees Funcs as incompatible with this: Context. But what TS doesn't know is that foo() is bound to a Context so even when attached to obj it doesn't lose its this. Can TS handle this?


Empty Query returns random results

Hey there,
I assume that empty query should return nothing right? Some how using Elasticsearch.net, we are retrieving random documents if the request if empty. Here's an example:
`           var connection_pool = new SingleNodeConnectionPool(new Uri(server));
ConnectionSettings settings = new ConnectionSettings(connection_pool).DefaultIndex(default_index);
ElasticClient client = new ElasticClient(settings);
        QueryContainer qc = new MatchQuery
        {
            Field = "text",
            Query = ""
        };

        var result = client.Search<dynamic>(q => q.Query(m => qc).Type("page"));

        Console.WriteLine(result.Hits.Count()); `

This would get us quite a few randomly selected documents.
However if we use JSON RESTful request, we would get no hits. How did this happen? Thanks a lot.

This is the conditionless query feature kicking in, see Conditionless Queries for details.
Since the value is empty, NEST rewrites and nullifies the query which results /_search with no body, which is effectively a match all.
You can disable this by setting IsVerbatime = true
QueryContainer qc = new MatchQuery
{
    IsVerbatime = true,
    Field = "text",
    Query = ""
};


Shap values interpretation for classification models

It is unclear to me what is the interpretation of Shap values in a summary_plot for a classification/multiclassification problem.
I know that for regression, the shap value corresponds exactly to how much the variable j for observation i has contributed to the predicted value, but what is the interpretation for a classification problem please?
I first tried to parallelize the reasoning and thought that the shap value corresponds to the difference in probability of belonging to a class (the class we visualize the summary_plot for), but then I sometimes got values that are outside of [0, 1]. Any clarification/insight would be much welcome.
Thank you.

The shap value produced for classification problems is a continuous value that ranges from - infinity to + infinity and is called log-odds. It is related to the probability by this formula:
log-odds = ln(P/(1–P))
The probability is a value between 0 and 1, and can be converted to the classes according to the model threshold. Usually, P > 0.5 = class 1, P < 0.5 = class 0.
This link may be useful: https://towardsdatascience.com/hey-model-why-do-you-say-this-is-spam-7c945cc531f

Thank you for your much appreciated reply! Does this mean that for one observation, the sum of the shap values of all the variables is equal to ln(P/1-P) where P is the final prediction?
And what about the case of multi classification please? Thank you.

the sum of the shap values of all the variables is equal to ln(P/1-P) where P is the final prediction?

Yes, but P is not the prediction, it is a probability value. The prediction will depend on your model's threshold.

And what about the case of multi classification

It is the same, but for each class you will have a different value of log-odds. Converting they to P, they will sum to 1.0


Inlay hints

This new VSCode feature is great, I wonder if it would translate well to code snippets?

https://code.visualstudio.com/updates/v1_60#_inlay-hints-for-javascript-and-typescript

huh, clever idea.
Yeah, I think this could be an opt-in flag. Step one would be to add that flag to @typescript/twoslash  and return the results from the TSServer call. Then have shiki-twoslash take that data and add it inline 👍🏻


Missing Globus directory

A user is unable to access the Globus directory for their submission as they are getting the error 'Directory not found'
Submission: https://www.ebi.ac.uk/gwas/deposition/submission/6616bb7cdb8d9f0001fe321e

@Santhi1901 should be fixed now.

It is fixed


[advanced search] Nested properties are missing a description

e.g. input.description doesn't list what an input is, or what it's description is.  might be missing from the schema?

The property (as well as its definition) is missing from the schema.


tox: add pip2400

Closes #202.
Will merge #203 first and rebase here.

NB: Python 3.12 only supports pip 23.2 and higher, thanks to https://github.com/pypa/pip/issues/11501.


What toolchain are you using?

Hi, I've been working on building a toolchain for the gd32vf103 from these sources. I've encountered a number of issues along the way. In https://github.com/gd32v-rust/gd32vf103-hal/commit/cb6ce40d59b673ba1652c349a997bb63b1c24657 you refer to a riscv64-unknown-elf toolchain, which matches what I'm trying to build. I was wondering where you got this toolchain. If you built it from source would you be able point me at the sources?
Thanks in advance, and for your embedded Rust work.

Nevermind, I see upstream binutils has support for it now.


[Backport] [1.3] Update to Netty 4.1.80.Final (#4359)

Backport of https://github.com/opensearch-project/OpenSearch/pull/4359 to 2.x

Codecov Report

Merging #4379 (27dd72a) into 1.3 (1cf7ea2) will increase coverage by 0.02%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##                1.3    #4379      +/-   ##
============================================
+ Coverage     77.80%   77.83%   +0.02%
- Complexity    63340    63371      +31
============================================
  Files          4453     4453
  Lines        274899   274899
  Branches      41165    41165
============================================
+ Hits         213884   213959      +75
+ Misses        44069    44023      -46
+ Partials      16946    16917      -29

Impacted Files
Coverage Δ

...nsearch/search/dfs/DfsPhaseExecutionException.java
0.00% <0.00%> (-66.67%)
:arrow_down:

...a/org/opensearch/client/cluster/ProxyModeInfo.java
0.00% <0.00%> (-57.90%)
:arrow_down:

...n/indices/upgrade/post/UpgradeSettingsRequest.java
30.00% <0.00%> (-45.00%)
:arrow_down:

...regations/metrics/AbstractHyperLogLogPlusPlus.java
51.72% <0.00%> (-44.83%)
:arrow_down:

...java/org/opensearch/threadpool/ThreadPoolInfo.java
56.25% <0.00%> (-37.50%)
:arrow_down:

.../opensearch/indices/InvalidAliasNameException.java
62.50% <0.00%> (-25.00%)
:arrow_down:

...pensearch/cluster/routing/PlainShardsIterator.java
75.00% <0.00%> (-25.00%)
:arrow_down:

.../opensearch/transport/ProxyConnectionStrategy.java
62.12% <0.00%> (-23.49%)
:arrow_down:

...g/opensearch/action/get/MultiGetShardResponse.java
76.92% <0.00%> (-23.08%)
:arrow_down:

...ain/java/org/opensearch/geometry/MultiPolygon.java
80.00% <0.00%> (-20.00%)
:arrow_down:

... and 484 more

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

@kotwanikunal mind approving the last one in series please, thank you!

The WhiteSource Security Check is failing consistenly on 1.3 :(


Sticky navbar with container being shifted slightly to the left upon modal opened

Link to demo: https://jsfiddle.net/techdavid/g89ts0rs/1/
When opening a modal, where the page contains a navbar with a container inside it, the container gets shifted slightly to the left due to the padding being applied to the body element.
The .sticky-top element gets a right-padding of 33px added, however there is also white space to the right of this due to the padding on the body. The .sticky-top element should also have a margin-right of -33px applied to compensate for this.
I think that when PR #18441 was submitted, it maybe wasn't tested with .sticky-top (only .fixed-top) and so this is why the problem is still sometimes occurring. I checked the source of the JS file I'm using and found that it does contain code from this PR.
Edit: checked to confirm the problem is only occurring with sticky-top (not fixed-top).

Before opening an issue:

Search for duplicate or closed issues => supposedly fixed in #18441 but still broken in the latest beta
Validate and lint any HTML to avoid common problems => done
Prepare a reduced test case for any bugs => https://jsfiddle.net/techdavid/g89ts0rs/1/
Read the contributing guidelines => done

When asking general "how to" questions:

Please do not open an issue here
Instead, ask for help on StackOverflow, IRC, or Slack

When reporting a bug, include:

Operating system and version => Windows 10
Browser and version => Chrome 60
Reduced test cases and potential fixes using JS Bin => https://jsfiddle.net/techdavid/g89ts0rs/1/

When suggesting a feature, include:

As much detail as possible for what we should add and why it's important to Bootstrap
Relevant links to prior art, screenshots, or live demos whenever possible

The modal is also shifting position to the left slightly whenever the viewport size changes (e.g. in the jsfiddle, adjust the CSS / preview height).


Docs: final release notes for v3.1.0

This pull request finalizes the release notes page.
There are still a few more documentation related tasks left to do before the release. These will be deferred to a subsequent PR.

We could use someone with superpowers to override the compliance failures. Those are copied straight from the github issue titles themselves.

@dkalowsk feedback addressed, thank you. I

Fixed a doc build error; not sure why I didn't notice that in my local builds.


[ENHANCEMENT] Support soft-breaks in text formatting

Category

[x] Enhancement
[ ] Bug
[ ] Question
[ ] Documentation gap/issue

Version
Please specify what version of the library you are using: [3.3.0 latest master branch]
Please specify what version(s) of PowerPoint you are targeting: [2016 and up]
If you are not using the latest release, please update and see if the issue is resolved before submitting an issue.
Expected / Desired Behavior / Question
Currently there is no way to add text that uses a soft-break (i.e. using  in PowerPoint) to add text on the next line without beginning a new paragraph (bullet, etc.). Desire a means to produce something like this:

This is a bullet with a
continuation line via soft-break

Observed Behavior
Only hard-breaks are currently supported.
Suggested implementation is to add a a new option to TextOptions named "softBreakBefore". Setting this option will cause the addition of a "<a:br/>" element before the text run that gets created for the IText item.
I have a PR implementing this that I will submit.

This will be available in v3.5.0 thanks to @memorsolutions via Pull #806


Caltech-101 doesn't load bboxes but it should.

🐛 Describe the bug
Annotation files in Caltech-101 have two keys: 'box_coord' and 'obj_contour'. Caltech101 PyTorch class appends just the contours, explicitly skipping 'box_coord'. This would be ok if coordinates of obj_contour were relative to the entire image. Unfortunately they are relative to the bboxes and thus are useless without loading box_coord.
There are two ways to fix this - load box_coord or transform obj_contour coordinates to be relative to the image.
Versions
My env is irrelevant as this is a clear bug in code on main:
torchvision/datasets/caltech.py#L95C9-L110C9
        target: Any = []
        for t in self.target_type:
            if t == "category":
                target.append(self.y[index])
            elif t == "annotation":
                data = scipy.io.loadmat(
                    os.path.join(
                        self.root,
                        "Annotations",
                        self.annotation_categories[self.y[index]],
                        f"annotation_{self.index[index]:04d}.mat",
                    )
                )
                target.append(data["obj_contour"])
        target = tuple(target) if len(target) > 1 else target[0]

Thanks @Swarzkopf314 for the report. Can confirm that the contour coordinates are relative:
from torchvision import datasets

from PIL import ImageDraw

def draw_and_save(image, contour, title):
    image = image.convert("RGB")
    draw = ImageDraw.Draw(image)
    draw.polygon(list(map(tuple, contour.T.astype("int64").tolist())), outline="red", width=2)

    image.save(f"{title}.png")

IDX = 3562

###################################

dataset = datasets.Caltech101(..., target_type="annotation")

image, contour = dataset[IDX]

draw_and_save(image, contour, "without_bbox")

###################################

# this target type only exist locally for me
dataset = datasets.Caltech101(..., target_type="annotation_fixed")

image, target = dataset[IDX]
contour, bbox = target["obj_contour"], target["box_coord"]

# Bounding boxes are in format y1, y2, x1, x2
# We need to add x1 and y1 here
contour += bbox.T[[2, 0], :]

draw_and_save(image, contour, "with_bbox")

Since the contours that we currently return are indeed wrong and thus unusable now, I'm inclined to treat a patch as a bug fix. For example, we could just return a dictionary with keys "obj_contour" and "box_coord" for target_type="annotation". This is what I did in the snippet above for the target_type="annotation_fixed".
As bug fix, it would be less bad breaking BC here. Given the fact that Caltech101 is a really old dataset (#775, > 4 years) and no one reported this until now, my guess is that the amount of affected users is really low.
However, since the bounding box comes in an awkward format (y1, y2, x1, x2) and without deeper knowledge of the dataset it is also unclear that the contour coordinates are relative to the bounding box, I would also add target_type="bounding_box" and target_type="contour". The former would return the bounding box in XYXY (x1, y1, x2, y2) format and the latter is the contour in coordinates relative to the image rather the bounding box.

Do we usually preserve the original format?

Yes. However, so far all bounding boxes were mostly in XYXY or at least in a format that is supported by torchvision.ops.box_convert (XYXY, XYWH, and CXCYWH). These are the same formats that the v2 transforms API supports as well. Given that I have never seen Y1Y2X1X2 before and the extra target_type would be for convenience, I would reorder them to X1Y1X2Y2 aka XYXY. Note that we don't need any computation here as would be the case for all other format changes.

Re "box_coord" and target_type="bounding_box" names, we should definitely keep both names the same

Fair enough.
ideally, consistent with the rest of the datasets
Not possible since we are not standardizing names so far. Meaning, every dataset uses the key given by said dataset.


Bug report: brew cask style reports 'Block has too many lines' (macOS 12)

Description of issue
I was trying to submit a simple version update to the vmware-fusion cask, but the style check failed with the message that Block has too many lines. After investigating further, I found that I get this message with both brew style and brew cask style (I'm not sure if this was occurring with these commands previously to installing cask-repair).
I was able to get brew style running again by uninstalling rubocop and rubocop-cask and re-running brew style. But subsequently running brew cask style results in 96 files reporting errors again.
Since I haven't found any other people reporting similar issues, it seems like it's probably something specific to my environment, but hopefully someone can point me in the right direction to track down the issue.
brew config/doctor and other output is at https://gist.github.com/mvermaes/5271e659e7f67b08bb8c60d4014ef569
Thanks a lot for your help.

I am not sure if it is relevant or even related, but I had a weird issue with rubocop-cask a few weeks ago - see here.

Thanks for the suggestion. I actually did see your report, but it seemed slightly different since you were getting SSL messages when reinstalling rubocop-cask. I have a feeling the actual problem is probably similar though - something to do with my Ruby environment.
Did you manage to resolve your issue or find a workaround?

No, my attempts to fix my problem made it much worse, and I gave up and reinstalled my OS.

Strange, Travis has failed on the PR #26778 with the same error - C:  1:  1: Block has too many lines. [29/25].

There’s nothing wrong with your setup. I can reproduce this as well.
However, brew style has nothing to do with this, and you’re not supposed to just run brew cask style (or brew style, even) without arguments. This has also nothing to do with cask-repair, that only runs the commands.
Issue here seems to be that rubocop (which rubocop-cask uses) now has a cop to check for block length and defaults to 25. We need to turn that off in rubocop-cask.

https://github.com/caskroom/rubocop-cask/issues/44.

Fixed in https://github.com/caskroom/rubocop-cask/commit/58481ef6222964a7952c95e4b9245333a488baf1. Thank you for the report.


scrollTop function is not working

Hey, I am sure why this is happening. I was trying to create a scroll to top button and tried a lot of solutions from StackOverflow but nothing seems to work.
 $("html, body").animate({ scrollTop: 0 }, "slow");
Any help on this is appreciated.
Thanks

Hey guys
$('html, body').animate({scrollTop: 0},'slow'); : is perfectly valid code for an animated scroll
try this code:
body{   height: 200vh; }
`

Scroll Up

`
`

`

Hey guys
$('html, body').animate({scrollTop: 0},'slow');  :  is perfectly valid code for an animated scroll
try this code:

Which doesn't help in explaining why it doesn't work for @abhijeet-cn, sadly.
Is the problem related to halfmoon? Or can you re-create it without the css?

Hello,
I was having the same issue. I found that you must scroll not on the body but on .content-wrapper, like so:
$('.content-wrapper').animate({scrollTop: '0px'}, 1000);

This occurs thanks to how Halfmoon structures your page where the body will always take up exactly the full visible screen area and the page contents are themselves wrapped in .page-wrapper > .content-wrapper.

Thanks this worked for me, I am closing the issue.


fix: reinstate user parameter for podman nodes in compose files

This allows the composes to also function on macOS.

If we need this for mac, then we need to hold on and investigate further because this line was the cause of the failures when running e2e tests.

We can do that.  The previous change title implied it was the data part which this doesn't put back, only the user parameter.

If we need this for mac, then we need to hold on and investigate further because this line was the cause of the failures when running e2e tests.

We can do that. The previous change title implied it was the data part which this doesn't put back, only the user parameter.

I added the user to mount the volume, previously is was not there. But I don't know if it was tested in mac anyway.

If we need this for mac, then we need to hold on and investigate further because this line was the cause of the failures when running e2e tests.

We can do that. The previous change title implied it was the data part which this doesn't put back, only the user parameter.

I added the user to mount the volume, previously is was not there. But I don't know if it was tested in mac anyway.

I've been using docker-compose-dev.yaml for months on macOS.  Doston is likely also using it as he was having some trouble and I told him what I was doing and he tried it and was happy (so it seemed 😄).  It wasn't until the recent change to address the ci concern that it started to fail on macOS.  I deleted all the images, volumes, etc. and it was still failing.


Duplicated Video Links

Hello Contributors,
Below videos are duplicated in Mapping data flow video tutorials (https://docs.microsoft.com/en-us/azure/data-factory/data-flow-tutorials):
Optimizing mapping data flows/Decrease start-up times (https://youtu.be/FFCbU4ujCiY?t=528)
Transformation overviews/Derived Column transformation (https://www.youtube.com/watch?v=FFCbU4ujCiY)
Thank you.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: cf1bf12b-d61d-6af2-7198-23d77a74febd
Version Independent ID: bee73c9c-b8d5-cfc5-4570-bf604504d83d
Content: Mapping data flow video tutorials - Azure Data Factory
Content Source: articles/data-factory/data-flow-tutorials.md
Service: data-factory
Sub-service: data-flows
GitHub Login: @kromerm
Microsoft Alias: makromer

@sennchiee  Thanks for the feedback! I have assigned the issue to the content author to evaluate and update as appropriate.

Thanks for caring about the docs and giving feedback to help us improve them @senchiee.  I see in this case, these links do both point to the same video, but the first one is offset into the video at t=526, since it is specifically covering the narrow issue of Decreased startup time discussed at that point in the video.  The second link to [Derived column transformation] is an overview link that covers the broader topic discussed generally in the video, so it points to the start of the video.  In this case we re-used the same video since it covers both topics.  We will keep it as is, but might consider breaking out the detail into a specific video at some future point too.  I will close this issue out for now, but you can also continue the discussion here if necessary, even after it is closed.
#please-close


print, others flagged as "Undefined variable" (requests being handled before initialization is complete?)

Environment data

Language Server version:  <IP_ADDRESS>
OS and version: Microsoft Windows [Version 10.0.18362.418]
Python version (& distribution if applicable, e.g. Anaconda): Python 3.5.1 (v3.5.1:37a07cee5969, Dec  6 2015, 01:54:25) [MSC v.1900 64 bit (AMD64)] on win32

Expected behaviour
print should NOT be flagged as "Undefined variable"
Actual behaviour
print is flagged as "Undefined variable"
Logs

N/A

Code Snippet / Additional lnformation

Python 3.5.1 (v3.5.1:37a07cee5969, Dec  6 2015, 01:54:25) [MSC v.1900 64 bit (AMD64)] on win32

Could you please provide the logs asked for in the template? I'd like to see the caching level you are using.

Hi Jake. Thanks for the response. I think you want me to follow:

So I did Python › Analysis: Log Level
Defines type of log messages language server writes into the output window.
Trace
And Here's Output.Python:

   User belongs to experiment group 'AlwaysDisplayTestExplorer - control'
   User belongs to experiment group 'ShowPlayIcon - start'
   User belongs to experiment group 'ShowExtensionSurveyPrompt - control'
   User belongs to experiment group 'AA_testing - experiment'
   > conda --version
   > pyenv root
   > python3.7 -c "import sys;print(sys.executable)"
   > python3.6 -c "import sys;print(sys.executable)"
   > python3 -c "import sys;print(sys.executable)"
   > python2 -c "import sys;print(sys.executable)"
   > python -c "import sys;print(sys.executable)"
   > py -3.7 -c "import sys;print(sys.executable)"
   > py -3.6 -c "import sys;print(sys.executable)"
   > py -3 -c "import sys;print(sys.executable)"
   > py -2 -c "import sys;print(sys.executable)"
   > python -c "import sys;print(sys.executable)"
   > conda info --json
   Starting Microsoft Python language server.
   > C:\Python27\python.exe c:\Users\joeco\.vscode\extensions\ms-python.python-2019.10.41019\pythonFiles\interpreterInfo.py
   > C:\Python27\python.exe c:\Users\joeco\.vscode\extensions\ms-python.python-2019.10.41019\pythonFiles\interpreterInfo.py
   > C:\cygwin64\bin\python2.7.exe c:\Users\joeco\.vscode\extensions\ms-python.python-2019.10.41019\pythonFiles\interpreterInfo.py
   > C:\cygwin64\bin\python2.7.exe c:\Users\joeco\.vscode\extensions\ms-python.python-2019.10.41019\pythonFiles\interpreterInfo.py
   > C:\Program Files (x86)\LilyPond\usr\bin\python.exe c:\Users\joeco\.vscode\extensions\ms-python.python-2019.10.41019\pythonFiles\interpreterInfo.py
   > C:\Program Files (x86)\LilyPond\usr\bin\python.exe c:\Users\joeco\.vscode\extensions\ms-python.python-2019.10.41019\pythonFiles\interpreterInfo.py
   > C:\Program Files (x86)\LilyPond\usr\bin\python2.4.exe c:\Users\joeco\.vscode\extensions\ms-python.python-2019.10.41019\pythonFiles\interpreterInfo.py
   > C:\Program Files (x86)\LilyPond\usr\bin\python2.4.exe c:\Users\joeco\.vscode\extensions\ms-python.python-2019.10.41019\pythonFiles\interpreterInfo.py
   > C:\Python27\python.exe c:\Users\joeco\.vscode\extensions\ms-python.python-2019.10.41019\pythonFiles\interpreterInfo.py
   > C:\Python27\python.exe c:\Users\joeco\.vscode\extensions\ms-python.python-2019.10.41019\pythonFiles\interpreterInfo.py
   > C:\Python27\python.exe c:\Users\joeco\.vscode\extensions\ms-python.python-2019.10.41019\pythonFiles\interpreterInfo.py
   > C:\Python27\python.exe c:\Users\joeco\.vscode\extensions\ms-python.python-2019.10.41019\pythonFiles\interpreterInfo.py
   > conda info --json
   > conda --version

I hope this is what you wanted.
Thanks again, Jake.
Love and peace,
Joe

Hi Jake. Thanks for your patience.  I just

set "python.analysis.logLevel": "Trace" in File>>Preferences>>Settings.
restarted vscode  which NOW comes up with Update 1.39.2!
checked settings & still  "python.analysis.logLevel" == Trace

I reopened the "offending" program == test_jsonschema.py & NOW print IS NOT FLAGGED as Undefined variable!
How time flies when you're having fun!
I just ran test_jsonschema.py
Now i open OUTPUT & select THE SECOND Python Language Server entry in the dropdown. N.B. the first had no output  in the window.
Here is what the OUTPUT window says:
I am attaching the output as vscodePyLangServerLog.txt
vscodePyLangServerLog.txt

Caching is disabled in those logs, so that's interesting.
Reloading fixing it doesn't surprise me, as the analysis will have been rerun.

I am having a similar issue with inbuilt functions and types such as ValueError and float. I tried changing the settings as described above to Trace and this made the Undefined Variable error go away.

Changing the logging setting wouldn't have any effect. If you reloaded the editor when you changed the setting, the reload is what would have likely fixed it.

I'm having the same problem of "print" being marked as an undefined variable.
Trace output attached.
trace-logs.txt

I can confirm this problem. I am having it for all built-ins (dict, len, print, list, ...) ?

python.analysis.cachingLevel is set to None to fix #1601 .

To be clear, after disabling caching, did you restart the language server? I don't know if we currently handle the case of going from caching to no caching within the same run (the other way would work, though be less efficient).

Thanks. I did restart. Also, I find [Info  - 9:35:07 AM] Analysis caching mode: None. in the log file.
BTW, analyzing in background is now very slow. It takes hours to finish and afterward, I am having the Undefined variable ... problem.

I'm having the same problem, but reloading resolves it. For now I have to reload every hour or so.

This issue appears to affect many basic Python keywords, like "str".  Attaching screenshot.

Essentially this appears to be happening to anything that's declared in the global scope; things like print, str, and len, aren't "keywords" per se, but actual variables that exist in the scope and can be reassigned like any other variable, so we declare them in every module before analyzing. That's what appears to either not happen, or get lost along the way.
Working on #1601 and #1414 may preclude this, since they affect the analysis order.

IMO what might be happening is that general analysis begins when builtins analysis hasn't been done yet. We call await GetAnalysisAsync and if somehow other session starts all builtin things will be undefined.

Another reason is if somehow scraped/generated builtins stub is not written correctly. One way to try is to delete all cache. Path is output in the Outpu window like
Analysis cache path: C:\Users\[USER]\AppData\Local\Microsoft\Python Language Server
Analysis cache path: /home/[USER]/.cache/Microsoft/Python Language Server

And/or look if pyi files under various SHA hash-looking folders are actually non-zero and have meaningful data.

"Now i open OUTPUT & select THE SECOND Python Language Server entry in the dropdown. N.B. the first had no output in the window."
@JoeCodeswell  - do you happen to have multi-root workspace. That is the only case when there multiple LS instances.

Don't we define print ourselves, rather than using the scraped code? Similarly for the others.

I was able to simulate the error by not having builtins analysis running.
No, there is no specialization for print apart from future specialization but that's Python 2
        private void SpecializeFuture(FromImportStatement node) {
            if (Interpreter.LanguageVersion.Is3x()) {
                return;
            }

However, we do specialize say, abs or open so if builtins content was empty they would still be recognized.

From #1601 - looks like builtins got analyzed pretty late.

Very weird. There's no reason for this to be happening since the builtin analysis should be blocking on initalization...

Well, there were other issues similar to this when initialization didn't seem to block... Maybe same thing?

#1741: (builtins are getting reanalyzed)
Analysis of lib2to3.pgen2.grammar (Stub) on depth 11 completed in 21.82 ms.
Analysis of six.moves.urllib.parse (Stub) on depth 12 completed in 21.93 ms.
Analysis of lib2to3.pgen2.tokenize (Stub) on depth 10 completed in 21.88 ms.
Analysis of builtins (Builtins) on depth 0 completed in 265.83 ms.
...
Analysis of six.moves.tkinter_tkfiledialog (Stub) on depth 11 completed in 0.15 ms.
Analysis of scipy.linalg._flapack (Compiled) on depth 8 completed for library in 206.29 ms.
Analysis of builtins (Builtins) on depth 0 completed in 322.39 ms.

But there is no squiggle on builtins.

More evidence of requests being handled before the initial startup:
   at Microsoft.Python.LanguageServer.Implementation.Server.HierarchicalDocumentSymbol(DocumentSymbolParams params, CancellationToken cancellationToken) in E:\A\_work\8\s\src\LanguageServer\Impl\Implementation\Server.Symbols.cs:line 37
   at Microsoft.Python.LanguageServer.Implementation.LanguageServer.DocumentSymbol(JToken token, CancellationToken cancellationToken) in E:\A\_work\8\s\src\LanguageServer\Impl\LanguageServer.cs:line 214

This is still happening. The only thing that can be null at line 37 is the _indexManager which is assigned in Initialized. Need to catch this and figure out under what condition our prioritizer is failing.
If https://github.com/microsoft/language-server-protocol/issues/567#issuecomment-455989545 ever happens, we could not do the two-step init process when possible, but our current code should be working.

Some time ago I wrote some extra tests for prioritizer, but they appeared to pass...
https://github.com/MikhailArkhipov/python-language-server/blob/prioTests/src/LanguageServer/Test/PrioritizerTests.cs

One thing I found is that ResetAnalyzer causes builtins to be re-analyzed. Specifically, RemoveKeys calls Update(key, value, isRoot, incomingKeys, index) on remaining keys which causes builtins to change version and that yields analysis.

I've made a change and pushed it to beta/stable, which may be able to remedy this issue. I'd appreciate those with the issue to test it out by switching up to beta. https://github.com/microsoft/python-language-server/wiki/Versioning-and-download-channels

it would help to add a dropdown menu for python.analysis.downloadChannel setting choices, because I don't see a button to easily get to the settings to add it manually?

We don't expose this setting publicly since it's really only intended for testing on request like this. You can add it manually in your settings JSON directly.

adding things manually to the settings JSON must also be special, because I open the settings dialog and see nowhere a way to get to the JSON file?

Using the command palette, select "Open Settings (JSON)", and you'll see a big JSON object you can add settings to.

An NRE stack trace that shows a condition where initialization hasn't finished, but EmptyAnalysis is still being constructed:
   at Microsoft.Python.Analysis.Analyzer.PythonInterpreter.GetBuiltinType(BuiltinTypeId id) in E:\A\_work\1\s\src\Analysis\Ast\Impl\Analyzer\PythonInterpreter.cs:line 144
   at Microsoft.Python.Analysis.Values.GlobalScope.DeclareBuiltinVariables() in E:\A\_work\1\s\src\Analysis\Ast\Impl\Values\GlobalScope.cs:line 41
   at Microsoft.Python.Analysis.Values.GlobalScope..ctor(IPythonModule module, PythonAst ast) in E:\A\_work\1\s\src\Analysis\Ast\Impl\Values\GlobalScope.cs:line 29
   at Microsoft.Python.Analysis.Analyzer.Evaluation.ExpressionEval..ctor(IServiceContainer services, IPythonModule module, PythonAst ast) in E:\A\_work\1\s\src\Analysis\Ast\Impl\Analyzer\Evaluation\ExpressionEval.cs:line 45
   at Microsoft.Python.Analysis.Analyzer.EmptyAnalysis..ctor(IServiceContainer services, IDocument document) in E:\A\_work\1\s\src\Analysis\Ast\Impl\Analyzer\EmptyAnalysis.cs:line 33
   at Microsoft.Python.Analysis.Modules.PythonModule..ctor(String name, ModuleType moduleType, IServiceContainer services) in E:\A\_wor

DeclareBuiltinVariables can be skipped for builtins module IMO.

I've tried adding python.analysis.downloadChannel to my JSON settings file but it becomes "greyed out" and hovering over it reports "Unknown Configuration Setting".
I am using Code Insiders with WSL remote against Ubuntu 18.04.
Is there a different place to set the download channel when remoting against WSL?

Is there a different place to set the download channel when remoting against WSL?

I've found ~/.vscode/settings.json in my WSL distro and added the line to that file. I've restarted VS Code Insiders but the Python Language Server is still <IP_ADDRESS>.

You can access setting is VS Code, there is a button to open JSON. Greying out is normal, it is not a public setting.

@MikhailArkhipov well, I've added the required line to my settings and restarted VS Code and it is not downloading a newer version of the Language Server, so I'm not sure what I can do in order to help @jakebailey with testing his fix ... unless it isn't supposed to be the beta channel?

Which version is supposed to be in beta, <IP_ADDRESS>? B/c i still get funky warnings like undefined variable "self" in the __init__ method of a class where I clearly have self` as first parameter.

@pcolmer You may need to force an update by removing the old version. The extension may not be checking for an update as often as you need. You can find some instructions on how to find the folder here: https://github.com/microsoft/vscode-python/issues/3977
@michaelaye That doesn't sound like the same issue. Maybe #1573, but that issue is old and I think actually related to #1601.

Thanks to @z4ce's help in #1776, I think some of this may be improved in 0.4.109+, which I've now pushed to beta. I'd appreciate it if you could retest with that version to see if things work properly. If not, trace logs would be immensely helpful.

No improvement for me. Builtins are still undefined and analyzing in background gets stuck. It seems that this only happens in big projects. I have no problems in smaller (less number of files) project.

Trace log

Another possible reason is that cached generated stub for builtins is empty or damaged. pyi. This is unrelated to caching None since that setting controls caching of analysis rather than stubs generated from the compiled modules. @kuelumbus - try deleting everything in /home/chris/.cache/Microsoft/Python Language Server.

No change. I removed the cache and restarted Code. Right after the restart, the builtins were correctly flagged showing their correct doc strings. A cup of coffee later, the builtins are again flagged as undefined variable.

Could you try daily channel with 0.4.121? https://github.com/microsoft/python-language-server/wiki/Versioning-and-download-channels

Version 0.4.121 fixed it for me. However, I almost never see the doc string because it's constantly analyzing.
log.log

Now it's stuck in a reload loop. Note:
[Info  - 3:59:15 PM] Workspace root: /home/chris/data/ml/Net
[Info  - 3:59:15 PM] GetCurrentSearchPaths /usr/bin/python3.7
[Info  - 3:59:15 PM] Interpreter search paths:
[Info  - 3:59:15 PM]     /usr/lib/python3.7
[Info  - 3:59:15 PM]     /usr/lib/python3.7/lib-dynload
[Info  - 3:59:15 PM]     /home/chris/autocomplete
[Info  - 3:59:15 PM]     /home/chris/.local/lib/python3.7/site-packages
[Info  - 3:59:15 PM]     /data/chris/ml/Net
[Info  - 3:59:15 PM]     /usr/local/lib/python3.7/dist-packages
[Info  - 3:59:15 PM]     /usr/lib/python3/dist-packages

Somehow your workspace is a symlink to somewhere completely different outside of the workspace? What kind of setup do you have in your pythonpath? This seems very unusual.
Try setting "python.analysis.watchSearchPaths": false to disable file watching.

There are no symlinks in the workspace but  /home/chris/data is a link to /data/chris. The workspace is accessible by  /home/chris/data/ml/Net and /data/chris/ml/Net. Could this be the issue?

Try setting "python.analysis.watchSearchPaths": false to disable file watching.

resolved it. But also changing the workspace root to the direct path.
Thanks your the help.

OK, since reload is a different issue, I am going to close this one which is about builtins. Feel free to open new issue on reloads.
https://github.com/microsoft/python-language-server/pull/1798

as the symptom is that builtins are wrongly flagged as not defined, i don't see why this issue is being closed. the problem is still there, isn't it? That the underlying reason maybe (i don't know i'm not the developer) has nothing to do with built-ins isn't really the user's problem.

The builtins were being flagged as undefined as they hadn't been properly created, meaning users of the builtin wouldn't see that they exist and then show messages.
Indefinite reloads may or may not cause that issue (usually not, just infinite analysis), and IMO are not necessarily related. The infinite reload observed above was described as "the docstrings don't show up", not "things are shown as undefined"; if the analysis never completes it won't show linting messages. If it completes with bad state, then you'll get wrong messages, which is what the original issue described and should be fixed with the merged PR.

I can see that you mentioned self being marked as undefined; That sounds like another issue we would want a reproducer for. self is not a part of the builtins code (which is what is fixed), but something different.
If your issue persists, then we'd appreciate a new issue to take a look. (We prefer new issues that we can triage and merge, rather than lumping similar symptoms together in a single never-closed issue.)

self issue is probably https://github.com/microsoft/python-language-server/issues/1573

I fixed this problem enabling "Python: Enable Linting" in vscode (Linux).
HOW TO:
Open "Command Palette" and search for "Python: Enable Linting"  and turn on this feature.
Worked for me .
Instagram Twitter


Add 'test-capability' and 'revoke-all-capabilities'

This PR comes in addition to the coin contract PR. After discussions with Stuart, we decided that some of the commands using magic capabilities (such as the coinbase command) will need us to "inject" capabilities outside of module scope for additional security. grant-capability relaxes the in-module restriction for capabilities, and will only be called by us for those few blessed commands.

@slpopejoy all fixed up. The tests that are failing are the ClientSpec tests. I've confirmed the new tests work locally.


Backspace not working in Combinational Analysis inputs

Describe the bug
While entering data in the combinatinalAnalysis inputs, backspace doesn't work. It just stops the input as well. Same goes for delete as well.
Expected behavior
Backspace should work as normal
GIF

Desktop (please complete the following information):

OS: Ubuntu 18.04
Browser Mozilla Firefox Quantum
Version 66.0.1

Are you working on this issue? (Yes/No)
No

I am Working on it :)

https://stackoverflow.com/questions/49263039/backspace-not-working-in-firefox-in-input-field

@Amansingla97 it's not specific to Firefox. it was happening in chrome also.


Feature requests: Elero roller shutter

Hi!
Like your work, maybe can you add Elero blind support too?
Here is what Elero calls looks like:
{"type":"ER","sid":"10","adr":"03","state":"1002","ts":{"m":"6516B9E4"}}
Thanks in advance!

Hi @CsL-007
are you able to record the calls to the mediola gateway for up, down and stop? And if it is possible some percentage of opening or closing?
They might look like:
/cmd?XC_FNC=SendSC&type=ER&data=
What type of mediola gateway you have?

My gateway is V6plus. Able to move blind up,down, stop with html command. Elero blinds have no percentage, just open or close status, but it never worked me. When use /cmd?XC_FNC=SendSC&type=ER&data=0101 get this response: {"XC_SUC": {}}.

Could you give me the calls for up, down and stop? And could you execute http://ipaddress/command?XC_FNC=getstates and give me the result after each action?
And could you switch the mediola adapter into debug during this time and give me all messages?

Here is what I'm able to get:
GET:/cmd?XC_FNC=SendSC&type=ER&data=0101&auth=************ -> HTTP:304
HTTP:304
GET:/cmd?XC_FNC=SendSC&type=ER&data=0100&auth=************ -> HTTP:304
GET:/ -> HTTP:304
GET:/cmd?XC_FNC=SendSC&type=ER&data=0102&auth=************ -> HTTP:304
GET:/ -> HTTP:304
Down: {"type":"ER","sid":"0E","adr":"01","state":"100B","ts":{"m":"65191B4C"}}
Up: {"type":"ER","sid":"0E","adr":"01","state":"1001","ts":{"m":"65191A15"}}
Middle: {"type":"ER","sid":"0E","adr":"01","state":"100D","ts":{"m":"65191B2E"}}
GET:/cmd?XC_FNC=getStates&at=47ca3b7de2be372bdee71fe63cabd65e -> HTTP:200
GET:/cmd?XC_FNC=SendSC&type=ER&data=0100&at=47ca3b7de2be372bdee71fe63cabd65e -> HTTP:200
GET:/cmd?XC_FNC=getStates&at=47ca3b7de2be372bdee71fe63cabd65e -> HTTP:200
GET:/cmd?XC_FNC=SendSC&type=ER&data=0102&at=47ca3b7de2be372bdee71fe63cabd65e -> HTTP:200
GET:/cmd?XC_FNC=getStates&at=47ca3b7de2be372bdee71fe63cabd65e -> HTTP:200
GET:/cmd?XC_FNC=SendSC&type=ER&data=0100&at=47ca3b7de2be372bdee71fe63cabd65e -> HTTP:304
GET:/cmd?XC_FNC=getStates&at=47ca3b7de2be372bdee71fe63cabd65e -> HTTP:200
GET:/cmd?XC_FNC=SendSC&type=ER&data=0101&at=47ca3b7de2be372bdee71fe63cabd65e -> HTTP:200
GET:/cmd?XC_FNC=getStates&at=47ca3b7de2be372bdee71fe63cabd65e -> HTTP:200

@CsL-007 Could you try out the https://github.com/oelison/ioBroker.mediola-gateway/tree/elero_roller_shutter
Simply activate the expert mode. Go to adapter. Click the cat from github. And in userdefined use the given link.
If there are problems, you could answer here or for faster communication send a personal mail to the mail address in the readme.

No blind find, get this error: mediola device rejected the request: [object Object]
Maybe auth not work?

Could you execute http://ipaddress/command?XC_FNC=getstates in a webbrowser and give me the result?
Maybe you need to add a user abcd with pass efgh and try this: http://ipaddress/command?XC_USER=abcd&CX_PASS=efgh&XC_FNC=getstates
abcd and efgh you could replace as you need.
The result must be something with success.

command?XC_FNC=getstates&auth=mypassword work only, Mediola api document write this parameter not the user and password combo

I will add this as an option, too.

https://github.com/oelison/ioBroker.mediola-gateway/tree/authParam
Here I have added the auth key. Make sure, that the password and at least the name is empty.

No further request open, maybe solved.


pmw3901 cleanup and register updates from PixArt

This PR updates the undocumented registers needed to use the PMW3901 and drops some of the unnecessary boilerplate (IOCTLs, etc).
" the PMW3901 codes that you have, the register writes inside sensorInit() routine seems to be a very early release version. We have updated the register init for better performance since then. "

This has been flight tested, but not exhaustively compared side-by-side to the current driver.

Rebased to resolve new conflicts with master.


Some RFMIP experiment_ids have changed

Hello there -
Based on interactions with DAMIP, we have changed the experiment titles and experiment_ids for some of the RFMIP experiments. Please change all instances of "spAerO3" in experiment_ids to "spAer".
Thanks - Robert Pincus

Duplicated issue - info migrated to #82 and closing


Could you update the example? It's not working

I can't run the example code correctly.
The browser Console Shows (Firefox 43.0.1)
GET
http://localhost:3000/pjax.js [HTTP/1.1 404 Not Found 2ms]
Document initialized: "http://localhost:3000/index.html" example.js:2:1
ReferenceError: Pjax is not defined

same behavior also in Internet Explorer 11.
I did the following commands:
git clone "https://github.com/MoOx/pjax.git"
cd pjax
node -v
v5.3.0
npm i
npm i -g serve
npm run example
><EMAIL_ADDRESS>example C:\Development\temp\pjax
> echo '
==> Open http://localhost:3000/example in your browser.'; serve .

'

     (nothing served yet)
cd example
serve .

After that, I opened http://localhost:3000/index.html in the browser window, opened the console window and saw the errormessage I already posted above ...ReferenceError: Pjax is not defined...

the above error can be fixed after adjusting the file paths. But then I got the following error: HierarchyRequestError: Node cannot be inserted at the specified point in the hierarchy pjax.js:283:0

So it's #39


Add devcontainer

Sets up an isolated environment w/ GCC-11 and all the required packages.

Can we make a CI job to build in the container too?


@Callable add support for params of type VariantCollection<Element> and ObjectCollection<Element>

If a param in a function marked as @Callable contains one of these types, an error will be surfaced.
This may be more related to how generics are handled. As I think makeOrUnwrap might actually be available on these specialized types, but the specialization is not being passed into the expanded macro.
Related issues:

#310
#313
#314
#315

Closing per PR


Feature: Use interlocked instead volatile for LoadingGridStatus and ConnectionFailedGridStatus fields (on main page)

Fixed by 9d04ae7 commit

Fixed by 9d04ae7 commit


Feature Request: Option to Disable the "reported by reviewdog 🐶" Prefix in Review Messages

Hello reviewdog team!
First off, hats off to you for creating such a great tool! 🐶 It's been a fantastic addition to our CI workflow, sniffing out issues with the keen nose of a well-trained canine.
Now, onto the little flea in our codebase – We've noticed that every review comment comes with a "reported by reviewdog 🐶" prefix. While I appreciate the enthusiasm, it's a bit like having a "Commited using git" on every commit message. Cute, but you know, after the 104th message, the charm starts to wear off.
It's not that we're not proud of our four-legged friend; on the contrary, we've already given it a good scratch behind the ears and a place of honor in our workflow. But every time it barks out a report, the prefix feels a tad redundant – we know who's a good boy!
So, here's a frisbee to fetch – would it be possible to add a configuration option, either via the CLI and/or an environment variable, that allows us to disable the prefix message? This way, we can keep the comments clean and to the point, like a neatly groomed poodle.
Looking forward to your thoughts on this, and keep up the great work!
Best,
Martin.

Hello folks!!
For team, Thank you for the wonderful software !!
For mgaitan, great suggestion!!
I also agree with this proposal. Although I like seeing dogs, having every comment include "reported by reviewdog 🐶" might be a bit too much.
I have created a PR #1667 to fix this issue. PTAL :)

Actually, I'm surprised that I haven't received this feedback in the 7 years since reviewdog was created. Perhaps most users are happy with the comments from :dog:. The comments are designed to be minimally intrusive, without introducing any new lines and with a small font size to avoid being overly distracting.
I'm not strictly opposed to changing this, but I don't want to make any hasty decisions without careful consideration.
For example, by searching "reported by reviewdog", you can find extensive use of reviewdog in OSS projects. This data could be potentially valuable. While there are currently no tools for analyzing this data, it is conceivable that such tools could be developed to leverage this information effectively.

@haya14busa in order to find the use "reviewdog in OSS projects" at least in github actions you can find directly in the workflows
https://github.com/search?q=reviewdog++path%3A.github%2Fworkflows%2F+language%3AYAML&type=Code&ref=advsearch&l=YAML&l=
I know it's a not a big deal, but this would be more precise as it avoids to compute potential comments like "why this was not reported by reviewdog? Oh, we are not using it yet!"

Comments with "reported by reviewdog" are  not only useful for finding reviewdog usage, but also useful for analysing integrated tools data.

To be honest I prefer to have it there. It is useful to see what tool reports a message.
I use it on GitLab and have a special user that place this report but is used for multiple tools. That means that the message makes clear what reports the message.
Maybe it is an idea to have it on by default and give to option to remove it from configuration?

Maybe it is an idea to have it on by default and give to option to remove it from configuration?

that exactly is my proposal

Maybe it is an idea to have it on by default and give to option to remove it from configuration?

that exactly is my proposal

Yes, sorry I did read the issue, found it a good idea and then did read the linked PR where it is totally removed. That is where I mixed the 2 options. And wanted to explain why it is useful to have it visible (at least for me).
Your proposal sounds good for me 👍

I think flags or configs are a very good idea too :)
However, if it becomes possible to freely configure, wouldn't searches for comments with "reported by reviewdog" lose their value? (We would no longer be able to search through all OSS using reviewdog.)
Meaning, we will search projects through the .github/workflows files like thie.

https://github.com/search?q=reviewdog++path%3A.github%2Fworkflows%2F+language%3AYAML&type=Code&ref=advsearch&l=YAML&l=

I think flags or configs are a very good idea too :)
However, if it becomes possible to freely configure, wouldn't searches for comments with "reported by reviewdog" lose their value? (We would no longer be able to search through all OSS using reviewdog.)
Meaning, we will search projects through the .github/workflows files like thie.

https://github.com/search?q=reviewdog++path%3A.github%2Fworkflows%2F+language%3AYAML&type=Code&ref=advsearch&l=YAML&l=

But that is only on GitHub not on other providers. And with a default I suspect that you will find between 90% and 99% of the projects that use it.

you will find between 90% and 99% of the projects that use it.

Of course, many projects can be found. However, if it's not 100%, there are more reliable methods of searching (although I'm not familiar with GitLab or other providers).
Meaning, if we adopt the idea of configuring with configs or flags (which I also agree), I will no longer use "reported by reviewdog" for data analysis or searching OSS like this

Comments with "reported by reviewdog" are not only useful for finding reviewdog usage but also useful for analyzing integrated tools data.

It would be more complicated, but could it instead mention the "reported by reviewdog" on only the first review comment? So it's still there, at least once in each MR, but isn't overly redundant by being in every single message.


common chunk optional 1.2 update

Bug Report or Feature Request (mark with an x)

[x] bug report -> please search issues before submitting

Versions.
@angular/cli: 1.2.1
node: 8.1.4
os: win32 x64
@angular/animations: 4.1.3
@angular/common: 4.1.3
@angular/compiler: 4.1.3
@angular/core: 4.1.3
@angular/forms: 4.1.3
@angular/http: 4.1.3
@angular/platform-browser: 4.1.3
@angular/platform-browser-dynamic: 4.1.3
@angular/platform-server: 4.1.3
@angular/router: 4.1.3
@angular/cli: 1.2.1
@angular/compiler-cli: 4.1.3
Windows 10
Repro steps.

The commons chunk update that occurred here causes a performance regression https://github.com/angular/angular-cli/commit/2090f64
The use case, we have three NgModules. Module A, B and C. All three are lazy loaded separately quite large at 50kb each. Module C is lazy loaded but depends on Module A and B. Because Module C depends on A and B the modules are moved into a common chunk and leaves the lazy loaded modules empty with just the module definition code. Now module A, B and C are now all bundled into a common bundle and no longer lazy loaded. Now when user navigates to Feature A all 150kb of feature A, B and C are loaded.
Not sure if there is a fix to this or our best option is to eject. Maybe proposal to make the common chunk optional behind a config? The common bundle removed duplicated code but essentially removed the benefit of lazy loaded modules if one of those happens to depend on each other.
In certain apps with certain use cases having common chunks configurable would be necessary. It would seem that larger apps would likely run into our similar use case.
The log given by the failure.

Desired functionality.

Would be glad to get a pull request to make this optional in the CLI.
Mention any other details that might be useful.

An easy fix for this would be to make it possible to disable the common chuck (i.e. use the previous behavior) in .angular-cli.json. I'm working on a pull request to do that right now.

This pull request gives the most flexibility I think. It allows the dev to determine the best trade off with their app.  The CommonsChunkPlugin is going to be at odds with the NgModules. I think this could happen with third party code NgModules as well. A third party module is loaded for two of 30 other app modules to now all 30 must aggressively load the two common chunks.

Additional notes to this case it looks like our project is now running into this issue after upgrading from cli 1.1 to 1.2 and continues to be broken in both situations on 1.3 beta
https://github.com/angular/angular-cli/issues/6196
It looks like it could be related to the common chunk plugin. Which would make sense because we ran into this issue and the one above at the same time when upgrading to 1.2.
https://github.com/webpack/webpack/issues/959

Here is a demo repo you can clone and see the issue. There are three lazy loaded feature modules A, B and C. C relies on A and B so the common chunks removes the A and B components moving them into the common chunk and leaving empty lazy loaded NgModule definitions.
https://github.com/coryrylan/test-proj

Thank you for taking the time to do this repro.
I agree that there should be an option to turn it off, but expect that it is overall better to have the common-chunk.
It is true that the first lazy-loaded chunk can be larger than necessary due to dependencies of other lazy-loaded chunks, but it is also true that any chunk but the first will be significantly smaller. Being able to chose is important though.
I don't see the hard connection between this issue and #6196 though. I understand that they might be related from the webpack thread, but it doesn't seem like that's the whole story.

Yeah not quite sure how they are related either but just noticed we ran into that same issue at the same time.
On this situation I'm not quite sure what the best thing to do would be for the overall performance health of the app. In our situation having the first load and js smaller is more important as a public facing app. We have the service worker lazy loading those additional modules in the background so having those be a little bigger is not an issue for us. I think it really depends on the app and its goals and what performance trade offs to make.
Ideally being able to adjust the min chunk value would give us the most flexibility because we would like the usefulness of common chunks but not such an aggressive setting value of 2. But I also understand being careful about not exposing to many webpack settings in the public api.

I definitely agree on adding an option flag for the behavior.
Something to note though is that this common chunk should not be loading eagerly.  It should be loaded asynchronously only when an async chunk requires one of the moved dependencies.  Granted this is still not ideal in this situation but if this behavior is not being observed than further investigation should probably be done.
Also, looking at the repro (thanks btw), as more of a general guideline, I would recommend not reusing lazy routing modules as direct dependencies and instead split out commonly used components/pipes/etc. into either sub-feature modules or shared common modules.  This should help remove some final code duplication as well as simplify the overall dependency hierarchy.

The issue with the above repo is this can happen with third party code as well. For example our app uses a very heavy maps module 300kb. If only two features out of 50 use it now all 50 are paying the penalty of the large plugin that is not used very often.
Even with our own code feature C is a combination of feature A and B so if we put all the shared code in a common module it defeats the purpose and lazy loading benefits are minimal. We already have a shared module for shared components and for large apps this is very difficult to get right. If we put to much code in shared every feature on the site pays a penalty. We would rather have some runtime duplication over a heavy initial payload bundle. Unfortunately most demo apps never demonstrate this issue because they are not large enough to deal with these kind of dependencies.

To be more specific, Module A is a WigetsAModule, Module B is a WidgetsBModule, and Module C in @coryrylan's example is a SearchModule. The search page (in SearchModule) displayed both kinds of widgets, but pulling the common code that search uses would slow down our widget pages by loading another module. That's not what we want.

Heya @coryrylan and @kevinphelps, I ran this problem by the team today and the way we'd like to address it is to add the --common-chunk flag, but not the --common-chunk-min-chunks one.
We want to enable you to disable this feature as it was added without any way to control it. But it's purpose is not only payload optimization though. It also addresses the problem of library duplication, especially for cases where individual instances matter. That was a bug we had in lazy chunks and the common chunk fixes it.
We'd like to get https://github.com/angular/angular-cli/pull/7023 in (with the modifications I mentioned) either tomorrow or thursday, so that it can be in this week's release (1.3.0-rc.0). If it doesn't get on rc, it will only be available on 1.4.0-beta.0 since it's a feature.
@kevinphelps do you have time to work on the PR? All it needs is to remove the second flag and to add another one of these bits https://github.com/angular/angular-cli/blob/master/tests/e2e/tests/misc/common-async.ts#L44-L51 to the test to ensure that when the flag is on, the number of files is the same as before.

Also, in the future we want to add some configuration items to .angular-cli.json to enable prod optimizations more granularly so you don't need to be configuring it all with flags.

I was wondering if I should modify .angular-cli.json. I can help work on that if you want to keep me in the loop.

We should be able to get that pull request done today to make it in for 1.3.0-rc0

Yes, that option can go there as well. A good example of how it can be added is https://github.com/angular/angular-cli/pull/7007. This PR also adds a single flag to the cli json. The important bit is loading the default and using it in<EMAIL_ADDRESS>

@filipesilva Should the --vendor-chunk option be in the .angular-cli.json build config also?

Perhaps, but that's one that I'll add myself in another PR, I have to fiddle with that logic for another reason. Don't worry about it for your PR.

okay cool

Thanks!

cool, i just want this

Thanks @adamdport , is this documented anywhere?  Or are there more options regarding the commons chunk -- such as "Only add something to the commons chunk if it is found in X or more feature modules" ?

@stephengardner That's #8458, smash that like button


ISDK-2195: TVIScreenCapturer uses too much cpu in iOS 12

I am using TVIScreenCapturer for twillo video to share a custom camera view from my app
let capturer: TVIScreenCapturer = TVIScreenCapturer.init(view: sharedView)
But after updating to iOS 12 it is slowing down the full UI. In instrument I am getting this:

I am assuming the screen rendering with iOS 12 has some issue, as previously it is working fine in iOS 11.
Please let me know how to fix this.
I am using 'TwilioVideo', '~> 2.3.0'

@ceaglest Can you please help?

Hey @souvickcse,
I can certainly take a look at this, but there might not be that much we can do to optimize this path in iOS 12.0. We are currently working on a ReplayKit example app, since this is the preferred way to capture the screen in modern versions of iOS. Since iOS 11.0 it has been possible to capture the screen of your app using ReplayKit from within your process, and using a lot less CPU than drawing the frame every time.
Best,
Chris

For anyone who is relying on TVIScreenCapturer or using the UIView snapshotting technique, I apologize for this issue. I'll post an update here after analyzing the performance on iOS 12 locally.

Any news about this issue?

I'm currently measuring performance on iOS 11 and iOS 12. This issue is important and if I find any improvement that can be made, I'll post a PR to ExampleScreenCapturer in parallel to updating the SDK.

@ceaglest if it can help: I've been hit by this problem when writing a custom screen capturer for my app to capture at 20 fps (TVIScreenCapturer was too slow for my use case). I based my implementation on the ExampleScreenCapturer project which uses Quartz and does all the rendering on CPU; I expect TVIScreenCapturer has a similar implementation. This is especially bad on iPhone X due to its huge resolution.
See details here: https://stackoverflow.com/q/52305504/143504

Hi,
On iOS 12 drawing the UIView is undergoing an expensive color conversion that did not occur in iOS 11. On my test iPhone X the main thread spends almost all its time just trying to handle 5 frames per second and is unresponsive to touch.

I believe that it will be possible to avoid this by using the UIGraphicsImageRenderer APIs and performing a less expensive (or no) color space conversion. I'm exploring a fix using this approach now.

See details here: https://stackoverflow.com/q/52305504/143504

Thanks. I'm certainly happy to avoid memory copies but that isn't what is making things slow at the moment.
Best,
Chris

Hi folks,
I've got another update to share. I went down the path of trying UIGraphicsImageRenderer and it did not provide the results that I was hoping for. I've tried all the permutations of UIGraphicsImageRendererFormat I could think of but so far they all share the same poor performance characteristics. I have a branch with a modified version of ExampleScreenCapturer if you want to take a look at the code.
https://github.com/ceaglest/video-quickstart-swift/tree/bug/isdk-2195-uigraphicscontext
I'm going to keep digging on this one, to see if there are any other possible solutions.
Best,
Chris

I pushed some more commits which try to create an CGContext using the sRGB color space and then use that for UIView drawing. It still looks like the very expensive copy_and_colormatch_CIF_to_P3_vImage is being called. Why this is happening, I don't fully understand.
I can see that the WKWebView that forms the base of the view hierarchy is intending to have contents which are sRGB.
Start capturing. UIView.layer.contentsFormat was RGBA8

Hi,
I've tried a number of generic approaches using CGContext, and UIGraphics APIs. None of them work very well on iOS 12. The "fastest" one so far for me has been to create my own contexts with CGColorSpace.genericRGBLinear. This is 18-20% at least in the sample app (which is rendering a WKWebView), and has linear gamma which looks incorrect.. Take a look at the code here.
I'm looking into a couple special cases, targeting WKWebView (snapshotting), and MTKView (drawable). If those don't pan out then our next step is going to be to deprecate TVIScreenCapturer on iOS 12.0 and above. I should re-iterate that, while ReplayKit can only capture the entire window it does so with low overhead, and CPU usage.

I am using TVIScreenCapturer for twillo video to share a custom camera view from my app

@souvickcse If you only want to capture from an MTKView (is that correct?), then maybe there is a faster path we could take to get at the content through the drawable. You don't necessarily need ReplayKit to just capture from an MTKView but I still think this might be the best/easiest option. This is assuming of course that you would be okay with requiring users to accept ReplayKit.
Regards,
Chris

Hi @ceaglest ,
In our case the main problem with the ReplayKit is: we don't want to share the whole screen with all the controls, we just want to share the camera preview. Is there any option to share the CMSampleBuffer from the camera feed(func captureOutput(_ output: AVCaptureOutput, didOutput sampleBuffer: CMSampleBuffer, from connection: AVCaptureConnection)) directly with twillio? Is so we don't have to use the screenshare we can directly send the camera data to twillio.
Thank You.

Hi @souvickcse,
If your custom capturer has direct access to AVCaptureSession, then just deliver us the frames. For example (pardon the Objective-C).
- (void)captureOutput:(AVCaptureOutput *)captureOutput didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer fromConnection:(AVCaptureConnection *)connection {
    if ( connection == _videoConnection ) {
        // It's up to you who handles rotation...
        TVIVideoOrientation orientation = TVIVideoOrientationUp;
        if (_configuration.outputRotation == TVIOutputRotationModeMetadata) {
            AVCaptureVideoOrientation videoOrientation = _orientationObsever.orientation;
            orientation = TVICaptureOrientationMetadataForVideoOrientationAndCameraPosition(videoOrientation,
                                                                                _videoDevice.position);
        }

        // We support the VDO outputs BGRA, and NV12.
        TVIVideoFrame *frame = [[TVIVideoFrame alloc] initWithTimestamp:CMSampleBufferGetPresentationTimeStamp( sampleBuffer )
                                                                 buffer:CMSampleBufferGetImageBuffer( sampleBuffer )
                                                            orientation:orientation];

        [_captureConsumer consumeCapturedFrame:frame];
    }
}

Regards,
Chris

Hi @ceaglest ,
Okey cool I will try it. Thank you for your help.

I've updated my branch to demonstrate snapshotting of a WKWebView, which is quite fast and completely usable on iOS 12. Looking at some others now.

Hello,
I've added an example of snapshotting an MTKView. The performance is fine, but the approach of firing a CADisplayLink timer to start scraping is not the right one. Ideally, your capturer would be signaled each time the MTKView.currentDrawable is updated. This typically occurs within [MTKViewDelegate drawInMTKView:], a callback that a generic screen capturer does not have access to.
To summarize, I think we can say pretty clearly that a generic approach using UIView is just not going to work for all UIViews / iOS Devices on iOS 12.0. I've demonstrated a few custom tailored approaches on my branch, but which one applies to you depends on your use case. While it's great that these techniques are possible, we don't believe that modifying TVIScreenCapturer (and TwilioVideo.framework) to be aware of classes like WKWebView, MTKView, and SCNView makes sense. For this reason we are proceeding with deprecating TVIScreenCapturer on iOS 12.0, and will soon release version 2.5.0 with this change.
My next focus will be to complete the ReplayKit example.
What I can do is offer sample code for anyone who is looking to integrate content from particular UIView subclasses, and doesn't want to go through the ReplayKit permissions flow. My branch is a good start, but there would be more work needed to publish an official sample app update.
@julien-l Based upon your SO post, I think you would be okay with using ReplayKit for this purpose (several UI elements, and Open GL rendered content).
@rcodarini I'm not entirely clear on your use case. Could you explain what type of content you are trying to capture?
Once again, expect more updates to this issue as 2.5.0 rolls out and the ReplayKit example is merged.
Regards,
Chris

@ceaglest thanks for the your work and recommendations.
My plan is to go for ReplayKit as you said. Ideally, I would like the ReplayKit example to show how to capture/stream the camera.
Thanks again,
Julien

Hi @ceaglest,
Thank you for your work and the update.
I have tried your solution(sending CVPixelBuffer in [_captureConsumer consumeCapturedFrame:frame];) with ExampleScreenCapturer.swift for our app. Though it is better than TVIScreenCapturer, still I am finding high cpu usage in our app.
In AVCaptureSession I am showing the camera feed with 720p/1080p/4k preset with 30/60fps, and I am using this code
let frame = TVIVideoFrame.init(timestamp: timestamp, buffer: finalVideoPixelBuffer, orientation: TVIVideoOrientation.down)                 if frame != nil {                     TwillioManager.sharedInstance.sendVideoFrame(frame: frame!)                 }
in
captureOutput(_ output: AVCaptureOutput, didOutput sampleBuffer: CMSampleBuffer, from connection: AVCaptureConnection)
We have checked the instrument for the 720p 30fps camera it is showing that it is taking good amount of cpu usage in captureOutput and some thread which is created by twillio. But if we remove the twillio part from captureOutput there is no such high cpu spikes in the instrument graph.
Please find the log files here and it is happening for iOS 11 as well.
So here are some of our questions:

Is there anything we can do to make this use a low cpu profile?
with this solution we found the picture quality is same as the device camera preview, doesn't twillio scale down/compress the CVPixelBuffer depending on the bandwidth in this scenario? In our view the there should be an adaptive logic for throttled network & devices
Is there any option to scale down/compress the CVPixelBuffer from twillio side, I have tried to scale down the CVPixelBuffer to 1/3 using this. We are reducing the frame height & width to reduce the load but then the cpu show 400% in xcode for 4k video, its high enough for 720p & 1080p as well?
Suppose we make this work how will twillio support us in the future for our implementation. Not sure if this api will be depreciated

Hi @souvickcse,

Is there anything we can do to make this use a low cpu profile?

As a rule of thumb, don't capture in higher resolution / frame rate than you actually need.
I'll take a look at your traces, but I would compare the usage of TVICameraCapturer with a 720p constraint vs your custom capturer. Simply capturing 720p (without rendering) takes a few percent CPU in process. Your capturer should be doing a lot less work in general then the media engine is doing to encoder / stream your video.

with this solution we found the picture quality is same as the device camera preview, doesn't twillio scale down/compress the CVPixelBuffer depending on the bandwidth in this scenario? In our view the there should be an adaptive logic for throttled network & devices

We compress the CVPixelBuffers using whatever video codec you've chosen (VP8, H264, VP9), and assuming that the Room supports this codec. We do of course perform spatial and temporal downscaling based upon network conditions. You can see this by using Network Link Conditioner on either the sending or receiving end.

Is there any option to scale down/compress the CVPixelBuffer from twillio side, I have tried to scale down the CVPixelBuffer to 1/3 using this. We are reducing the frame height & width to reduce the load but then the cpu show 400% in xcode for 4k video, its high enough for 720p & 1080p as well?

Don't capture in 4K and downscale in software. Capture just what you need.
I can't recommend streaming 4K video at this point. You can't encode it in hardware H.264 and the VP8/VP9 encoders are software. We need to perform a format conversion from NV12 -> I420 for the software codecs and this is quite expensive on 4K frames.

Suppose we make this work how will twillio support us in the future for our implementation. Not sure if this api will be depreciated

We are planning on replacing or augmenting TVIVideoCapturer to allow you to specify cropping/scaling up front. This is meant only for situations where you can't capture exactly what you want because your source does not support that. Passing on this information to use means we can be more efficient and use fewer buffers. If h.264 is used we can downscale in hardware.
Regards,
Chris

Hey @ceaglest ,

If you are using ARSCNView, then we have an example where you can use their snapshotting API to get at the content.

With the snapshotting API I get the same performance issues.
Did you update the ARKitExample with iOS 12?
Thanks
Roberto

Hi @ceaglest ,

I'll take a look at your traces

Did you find anything which we can improve from our side for better performance?

As a rule of thumb, don't capture in higher resolution / frame rate than you actually need.
Don't capture in 4K and downscale in software. Capture just what you need

We absolutely do need to keep 4k & 1080p capturing for our application use case, we are recording & saving the videos as well while we are streaming through twillio, so the users might want to record at 4k for best quality but the feed for twillio we need to downscale for obvious reasons before sending to tvicapture. If we do not downscale the feed, then we are having a very low framerate (frozen at times). If we downscale the frames then the devices are using too much processing power, while the newer devices like X can handle this we are having a hard time with the older devices & iPads. There might be a better approach than this.
We are intending to save the video is whatever resolution clients chooses (max being 4k & min 720p) & for stream we need the stream to work & be as real-time as possible, for stream we can have that at 480p or 360p. Note we are recording, saving & streaming at the same time, it’s absolutely curtail for our app to do this at the same time.
Can you please give us some advice how to downscale the frame for Twilio? We were thinking of metal filters so that we can herness the power of GPU & offload some processing from CPU. Can we use metal filter to downscale the frames & will it better than downscale in software are we are currently doning?

Hi @souvickcse,
There has been a lot of discussion on this thread, and I still don't have a clear sense of your use case and exactly what processing steps you are taking, using which APIs. Can we perhaps hop on a live call to discuss this? I believe you already have a support ticket open with us, where we can coordinate.
Regards,
Chris

Hi @rcodarini,

With the snapshotting API I get the same performance issues. Did you update the ARKitExample with iOS 12?

I did not update ARKitExample for iOS 12.0. However, I tried it and saw similar performance to iOS 11.x on an iPhone X / iOS 12.0. Are you experiencing something different? If so, please file a separate issue for this.

Regards,
Chris

Thanks @ceaglest for the support. I solved the issue. The problem was related to the scene configuration: we removed the "Procedural Sky" and everything started work again

Hi folks,

Thanks @ceaglest for the support. I solved the issue. The problem was related to the scene configuration: we removed the "Procedural Sky" and everything started work again

@rcodarini that's great to hear.
I'm closing out this issue now that we've merged our first iteration of the ReplayKit example and completed the deprecation of TVIScreenCapturer on iOS 12.0. If you have specific questions about other capture techniques discussed in this issue (that the WIP branch did not answer) feel free to open another issue.
Thank you again for your patience with this bug.
Regards,
Chris

Hi just wanted to say that i'm facing a similar issue in an app i'm writing for a client and according to apple DTS the hight CPU is due to color space conversion preformed when the snap show is drawn into the CGBitmapContext that i'm using, turns out that the iPhone x device family on iOS 12 uses some kind of a half floating pixel color format, it this gives you any additional leads please let me know

Hi @ceaglest,
I'll probably add this thread to my DTS event on the next iteration.
But meanwhile a question, do you know how i can retrieve the display color space on iOS 12?
The usual method on using a uigraphicsgetcurrentcontext doesn't work on iOS 12 due to a change in the way the OS is implemented (it returns a CGContext of type unknown, which doesn't hold the relevant info)
i had an idea to preform the screen capture into a temporary CGContext, in the screen display color space format, and then convert it into my video format on a background thread, but i cant seem to get the display color space format from the device correctly, maybe have some advice?

Hi @ceaglest,
I've run into similar performance issues as discussed in this thread. I know Twilio has offered a solution using ReplayKit, and I believe the use case in which we were using the TVIScreenCapturer may be different than discussed here.
We are creating a separate window, which is not the app's key window, where we create the UI for a participant experience. Do you know of any solutions or tricks to get this custom window to be used as the content to stream to our Twilio participants? Thanks so much for your support on this issue.


mcast - publish message where user can set coap options

Codecov Report

Merging #29 into master will increase coverage by 0.22%.
The diff coverage is 71.42%.

@@            Coverage Diff             @@
##           master      #29      +/-   ##
==========================================
+ Coverage   69.49%   69.72%   +0.22%
==========================================
  Files          17       17
  Lines        2416     2421       +5
==========================================
+ Hits         1679     1688       +9
+ Misses        589      583       -6
- Partials      148      150       +2

Impacted Files
Coverage Δ

multicastClient.go
64.83% <71.42%> (+2.04%)
:arrow_up:

server.go
61.35% <0%> (+1.17%)
:arrow_up:

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 12af0ac...d78bff5. Read the comment docs.


Get return null

Hi,
when i try to use it, i get a null, anyway the command i use.
For example "g hello", i get null..

I had the same problem, so I used openai python and understood that my api key was the problem. I bought credits and regenerated an api key the problem was solved.


Ensure metrics are fetched once for each metric descriptor

Fixes #48
The approach taken here is to deduplicate metric descriptors based on descriptor.Type field, so we fetch metrics from a specific descriptor only once.
Please, review whether this approach is correct or there is a better way of doing it.

Thanks @jihonrado


Noticeable lag in setting active class on Link

I have a page that has a pretty large render + lots of aysnc going on, but I haven't been able to diagnose the cause of this issue. When I click a new link, there is a long, noticeable delay in when the link adds the active class. It appears even after all the rendering and network activity as stopped, there can still be a long delay (5 seconds or so). Wondering if anyone else is experiencing this behaviour or has a workaround, otherwise I'm looking at imperatively modifying the class in componentDidMount for each of my sub-views.
Links are sidebar nav icons, and the active class gives them a shaded background, if that matters.

@NicholasGW Would you mind upgrading and testing your site on version 1.0.0-beta2? The current code implements the isActive check as a simple string comparison, so perf should improve considerably 99% of the time.

Do any components between the <Link> and the <Router> implement shouldComponentUpdate?
This might be the same problem as #470 and facebook/react#2517.

Link now listens to the history to know if its active, so they should be much faster now on re-renders, though time will tell if they are slower now to set up :neutral_face:
Closing and waiting for tickets to come in with the new implementation as being slow :pray:

@ryanflorence Do you still have this issue?
I'm also currently rendering  dynamically and I can notice a small delay when the active class is set on the component.
Did listen to the history fixed the performance problem ?
Best,

Hows about this then ?
On 11 September 2016 at 21:54, Billy Shen<EMAIL_ADDRESS>wrote:

@ryanflorence https://github.com/ryanflorence Do you still have this
issue?
I'm also currently rendering dynamically and I can notice a small delay
when the active class is set on the component.
Did listen to the history fixed the performance problem ?
Best,
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/reactjs/react-router/issues/1242#issuecomment-246203957,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AATV7Hw2IdqTQYixCSC8znUukRi3OXUBks5qpGp8gaJpZM4Ey6Cn
.


New Sheet Star Wars D6 CharacterSheet work in progress

Submission Checklist
Required

[ X ] The pull request title clearly contains the name of the sheet I am editing.
[ X ] The pull request title clearly states the type of change I am submitting (New Sheet/New Feature/Bugfix/etc.).
[ X ] The pull request makes changes to files in only one sub-folder.
[ X ] The pull request does not contain changes to any json files in the translations folder (translation.json is permitted)

New Sheet Details

The name of this game is: Star Wars D6

The publisher of this game is: West End Games (WEG) REDUX with Womp Rat Press, REUP, and Open D6 System

The name of this game system/family is: D6, Open D6 System

[ X ] I have followed the Character Sheets Standards when building this sheet.

[ ] This sheet has been made on behalf of, or by, the game's publisher.
[ ] This game is not a traditionally published game, but a copy of the game rules can be purchased/downloaded/found at: <   >
[ ] This sheet is for an unofficial fan game, modification to an existing game, or a homebrew system.

Changes / Description

Still working on clearing the CSS, and adding Custom Fields, pending Translation to English.
Current tabs that work, PC and Creature (Criatura). I will work on NPC, Vehicle (Vehiculo), and Ship (Nave).
For the PC tabs option at the bottom of the page, Skills (Habilidades), Combat (Combate), Equipment (Equipo), Background (Historia), and Notes (Notas) are all set up and working properly. Only The Force (La Fuerza) will still have all work to do by adding Force Powers. The last tab is for Full tabs (Completo).

Character Sheet Info Roll20 Internal Use only.

Errors were fixed

Reopen it to pass validation and review


Local import of react-native prevents alias workaround via react-app-rewired

react-app-rewired allows the users to configure overrides for module export names. This is necessary for react-native-web where some modules from react-native are not supported. I wasn't sure the reason behind having a local react-native.js file that does just export of existing 'react-native':
https://github.com/oblador/react-native-vector-icons/blob/3458ae8e0d54f3fea821bfc8f5bbb5b67718e60f/lib/tab-bar-item-ios.js#L6
This is similar to what react-app-rewired is doing and it breaks the alias. I propose using TabBarIOS from 'react-native' directly.

TabBarIOS has been deprecated as it was removed from RN


Add ssh port forward

A port forward manager for every ssh connection will be a good feature!!

Thats what the ssh config is for, or am I missing something?

Thats what the ssh config is for, or am I missing something?

Yes... but with a manager, we can setup the configs more easy for specific connections... If you think like that, so why ssh manager exists?

Ok, I see. So like PuTTy in a way. True, I can see that happening. I havent touched it in years since I learned how to use ~/.ssh/config but I can see its usefulness.

I use the everything manual too.. but its some simple features thats i think will be nice to see in terminus..
I would implement it, as well as another feature that had already opened an issue here in the project, however my environment is not running very well the application :sob:, if it would not implement some things in the project :smile:

Just noting that .ssh/config doesn't exist on Windows (or, if it exists somewhere, I don't know where), so configuration options in Terminus that pass the correct settings on the command line would be very valuable. I would also add SSH tunneling to the list as well, but that might be another feature request.

Is SSH tunneling in to do list?

Any workaround to enable this on the windows client?

Port forwarding works for me on the latest windows client fine.
This took me way too long to figure out (and I emailed them about making the UI more obvious), but if you're coming from Putty, the issue is that port forwarding is orthogonal to opening a terminal connection to the host.
With putty you setup port forwarding as part of the host connection so that while connected the port is forwarded.
With Termius, however, you make a port forwarding rule, which you connect independently of a shell. You need to right-click the rule and select "Connect". The icon next to the rule should turn from gray (disconnected) to blue (connected).
Does this help?

Hello!
Unfortunately I don't use Putty, so I don't know how it's works there. (I use Terminator in a Debian VM on Windows, for ssh..) I don't find on the Terminus UI how to make a port forwarding rule, could you please give me more directions please? :)
I was browsing the source and I found out that node ssh2 supports port forwarding, so it would be trivial to implement this in the terminus-ssh module and put some input fields to the Advanced tab of a connection which mimics ssh -s syntax.
Thanks!

What's up with this issue?!

What's up with this issue?!

It seems to have been added in the closed merge, but I cannot seem to find out how to get the modal to appear.


Click on  is emitted on window even though @click.stop is used

Version
3.0.0-beta.12
Reproduction link
https://codepen.io/LennyAnders/pen/qBOKjZB
Steps to reproduce
Place a select element into an element with @click.stop, add a listener to click outside that element.
What is expected?
The outside listener doesn't receive an event when clicking on the select.
What is actually happening?
The outside listener does receive an event when clicking on the select.

I have a modal component that stops all clicks inside from propagating and listeners outside for clicks to close the modal.
Here an additional link to see how my reproduction code should behave: https://codepen.io/LennyAnders/pen/jObKwZe

It's working as intended?...

Closing since the repro is working fine. Also cannot reproduce locally.

Happens to me in Chrome, but not Firefox.
addEventListener('click', console.log); logs after I select an option with my mouse.

Hey @yyx990803,
I still have the problem, I hope the GIF above does clarify my problem, if there is something else i can do let me know.
I run Windows 10 version 1909 and Chrome version 83.0.4103.61, both in 64 bit.

Got fixed in Beta 15.


Added lpe flow gazebo config.

I'm using flow sim to compare lpe/inav performance, and would like this sim config included.

Thanks, applied!


Change items to reference

Now, everytime we create a TreeWidget, the whole items needs to be cloned:
TreeWidget::new(items.clone())

If the items are very large, this will consume a lot of CPU and memory during each render process.
TreeWidget does not change items. Could you consider changing the items type to reference, or at least use Cow?

The idea of the TreeItem is to be a thin wrapper. Like the Tree, generated on each render, keeping a reference to the original data. The original data should be persisted. At least thats the idea so far.
With the TreeData (#34) I am currently working on a reference will be used and whatever implements that trait will be called on each render, so given the items as reference would be possible then.

Thank you! The trait can indeed achieve my needs, I look forward to it being implemented.


Remove HandMotionAnimation

Hi,
is it possible to start Arcore/sceneform without the HandMotionAnimation? I Can't find an easy way to switch it off.
For example in the hello-arcore app for java.
Best regards and thank you!

You will wantr to do something like:
ArFragment.getDiscoveryController().hide();
ArFragment.getDiscoveryController().setInstructionView(null);
if you inherit ArFragment you can call these in your fragment's onCreateView

It worked, Thank you!

@malik-at-work, I have similar question. how can I notice plane detect is done?
is there any callback function?

Currently there is no callback.
PlaneDiscoveryController is driven from onUpdate, so you could add code to trigger your new behavior there as well
@Override
public void onUpdate(FrameTime frameTime) {
super.onUpdate(frameTime);
for (Plane plane : frame.getUpdatedTrackables(Plane.class)) {
if (plane.getTrackingState() == TrackingState.TRACKING) {
// Once there is a tracking plane, plane discovery stops.
// do your callback here.
}
}
}

@malik-at-work, Thanks very much!

@malik-at-work Hello!
I don't want create another issue, but I'd like some help because I feel like it's related.
The question is: how do I also hide rendered plane? (link below)
image

To turn off the plane renderer you should disable planeRenderer - https://developers.google.com/ar/reference/java/com/google/ar/sceneform/rendering/PlaneRenderer.
You can do it by changing arSceneView.getPlaneRenderer().setEnabled to false.
Or use `setVisible' if you are going to render plane and hide visualization only.

@malik-at-work: also had to do that override for plane detection complete.  Would be nice to add an official callback for it 🙂

Did you change the API for hiding the hand motion? I have an ArFragment and used the getPlaneDiscoveryController() instead because getDiscoveryController() doesn't exist.
When setting instruction view to null, the hand is still shown.
This is my code in onResume:
arFragment = (ArFragment) getChildFragmentManager().findFragmentById(R.id.ar_fragment);
if (arFragment != null) {
            // hiding the plane discovery
            arFragment.getPlaneDiscoveryController().hide();
            arFragment.getPlaneDiscoveryController().setInstructionView(null);
            arFragment.getArSceneView().getPlaneRenderer().setEnabled(false);
}
// setup session etc.

Currently there is no callback.
PlaneDiscoveryController is driven from onUpdate, so you could add code to trigger your new behavior there as well
@override
public void onUpdate(FrameTime frameTime) {
super.onUpdate(frameTime);
for (Plane plane : frame.getUpdatedTrackables(Plane.class)) {
if (plane.getTrackingState() == TrackingState.TRACKING) {
// Once there is a tracking plane, plane discovery stops.
// do your callback here.
}
}
}

@malik-at-work  While extending ArFragment and overriding the onUpdate() it turned out that all the variable in BaseArFragment are private, so we can't access anything there.
e.g frame.getUpdatedTrackables gives error.

It is some time since you asked that and sure you solved it by now, but for future reference (as this is the first that showed up on Google for me...)
What is needed right now is to call hide() and setInstructionView(null) in this order but within the onResume after super.onResume was executed.
@Override     public void onResume() {         super.onResume();         getPlaneDiscoveryController().hide();         getPlaneDiscoveryController().setInstructionView(null);     }
Then it worked for me


feat: Allow injectable Wallet

Create Wallet interface
Allow injectable Wallet

closes #213
Signed-off-by: Firas Qutishat<EMAIL_ADDRESS>

Codecov Report

Merging #219 into master will decrease coverage by 0.28%.
The diff coverage is 81.25%.

@@            Coverage Diff             @@
##           master     #219      +/-   ##
==========================================
- Coverage   86.62%   86.34%   -0.29%
==========================================
  Files          35       35
  Lines        1421     1428       +7
==========================================
+ Hits         1231     1233       +2
- Misses        105      108       +3
- Partials       85       87       +2

Impacted Files
Coverage Δ

pkg/framework/context/context.go
100% <100%> (ø)
:arrow_up:

pkg/framework/aries/framework.go
83.05% <70%> (-0.95%)
:arrow_down:

cmd/aries-agentd/main.go
63.04% <0%> (-6.19%)
:arrow_down:

pkg/internal/common/logging/modlog/logtestutils.go
100% <0%> (ø)
:arrow_up:

pkg/storage/leveldb/leveldb_store.go
100% <0%> (ø)
:arrow_up:

pkg/framework/aries/defaults/defaults.go
100% <0%> (ø)
:arrow_up:

pkg/doc/verifiable/credential.go
90.09% <0%> (+0.49%)
:arrow_up:

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 552a1b0...2085eed. Read the comment docs.

Test coverage has been decreasing due to mocks. #228

Codecov Report

Merging #219 into master will increase coverage by 0.12%.
The diff coverage is 91.42%.

@@            Coverage Diff             @@
##           master     #219      +/-   ##
==========================================
+ Coverage   87.16%   87.29%   +0.12%
==========================================
  Files          35       35
  Lines        1465     1495      +30
==========================================
+ Hits         1277     1305      +28
- Misses        104      105       +1
- Partials       84       85       +1

Impacted Files
Coverage Δ

pkg/restapi/operation/didexchange/didexchange.go
76.92% <ø> (ø)
:arrow_up:

pkg/client/didexchange/client.go
100% <100%> (ø)
:arrow_up:

pkg/framework/context/context.go
100% <100%> (ø)
:arrow_up:

pkg/framework/aries/framework.go
85% <85%> (+1.12%)
:arrow_up:

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 4dd258f...dd0e3aa. Read the comment docs.


Add the latest docs to README

Added the latest documentation (as posted on Slack by @SimonDanisch ) to a docs | latest badge on README.md.

Ok why not ;) Thank you!


Update Cover and Intro Page

Summary
Update Cover and Intro Page

@nishanil Fixed PR so it doesn't include previous commits.

:shipit: