Add Applying dropout guide

Add a dedicated Applying dropout guide.
Shorten the Flax - The Sharp Bits by migrating some of the dropout instructions to the new guide.

Thanks @marcvanzee 👍
@cgarciae Your feedback would be super welcome 👍

@marcvanzee @cgarciae Thanks. PTAL 👍

Thanks for the help @cgarciae :+1:
@marcvanzee some of @cgarciae's review comments got stuck in "pending", they are out now (see above). We have gone over them and the new commits are on the way. Some changes will involve some changes to your code suggestions.

@marcvanzee fyi working on adding the training step

Reviewed the code and text with @marcvanzee. Committed and pushed the changes to the branch. cc @cgarciae. Amendments to the Sharp Bits will be in a separate PR.

LGTM -- thanks a lot for this @8bitmp3, looks really awesome!! 🥳
(Please fix the doc build failures)

Codecov Report

Merging #2675 (c44cef0) into main (6d5bc2a) will decrease coverage by 0.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main    #2675      +/-   ##
==========================================
- Coverage   81.21%   81.20%   -0.02%
==========================================
  Files          53       53
  Lines        5605     5602       -3
==========================================
- Hits         4552     4549       -3
  Misses       1053     1053

Impacted Files
Coverage Δ

flax/linen/module.py
92.12% <0.00%> (-0.16%)
:arrow_down:

flax/errors.py
85.98% <0.00%> (-0.13%)
:arrow_down:

flax/core/scope.py
90.10% <0.00%> (-0.03%)
:arrow_down:

flax/training/prefetch_iterator.py
0.00% <0.00%> (ø)

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

All checks :heavy_check_mark: @cgarciae PTAL. Thank you.
Live preview: https://flax--2675.org.readthedocs.build/en/2675/guides/dropout.html (build successful @marcvanzee).

@cgarciae PTAL.


Patched !welcome script (default name and API pagination)

As per title, fixes two bugs from #166

display_name is optional, so instead we now default to display_name and resort to name as a back up (which is a required field)
Slack Web API default limits conversations.members to returning only 100 members. Added pagination code that utilises next_cursor to accurately yield all members

I just realised this code "fixes" that it will only fire when a user enters #announcements instead of #general. Should I revert it back to firing on #general?

The getNumMembers function should probably use the user argument that was passed to it rather than relying on announcements being defined in a previous scope. Also is there any chance that the slack api offers a way for us to get the number of members in one go without iterating through them one by one?
Other than those things, assuming you’ve tested it, it looks good to me. (Unfortunately I can’t test it myself at the moment)

Interesting, any reason why you'd argue to use user over announcements? (or did you make a mistake, because user isn't passed to getNumMembers?)
re: slack API, unfortunately it seems like no-- not that I've seen at least. The only way seems to be getting a members list, of which only pagination-type methods exist as per later this year (https://api.slack.com/changelog/2017-10-members-array-truncating). On that note though, It seems I can simplify the code because conversations.members doesn't seem to include deleted/deactivated users, something we had to take into account when using users.list
Fair about testing, it's a bit of a pain to setup anyway bahahhaa

I'm going to wait for Neil's response/approval before merging :^)


Add Dockerfile for Smee

It would be useful to have an official Smee docker image in hub.docker.com.
This would be the first step towards that goal.

Hey @AnalogJ 👋 thanks for opening this. Can you elaborate on why this would be useful? It's an additional thing that we need to worry about maintaining (ensuring the base image version number is appropriate, so unless there's a clear use-case for it then this shouldn't be merged.


Test Coverage API

Notes researching of existing formats:

Clover

Contains timestamp and total lines of code, files, classes, coverage numbers (see below)
Also can include complexity information
Lines are covered as XML simply <line num="24" count="5" type="stmt"/>
Conditionals are represented as <line num="12" count="0" type="cond" truecount="0" falsecount="3"/>. Either truecount/falsecount being 0 indicates incomplete branch coverage.

Clover uses these measurements to produce a Total Coverage Percentage for each class, file, package and for the project as a whole. The Total Coverage Percentage allows entities to be ranked in reports. The Total Coverage Percentage (TPC) is calculated as follows:
TPC = (BT + BF + SC + MC)/(2*B + S + M) * 100%

where

BT - branches that evaluated to "true" at least once
BF - branches that evaluated to "false" at least once
SC - statements covered
MC - methods entered

B - total number of branches
S - total number of statements
M - total number of methods

gcov
Format info on the bottom of: http://ltp.sourceforge.net/coverage/lcov/geninfo.1.php

Organized per test, which are associated with one or more files. Indicates functions and how many times each function was called.
Lines have number of times they were hit, DA:<line number>,<execution count>[,<checksum>]
Has similar branch coverage, but has indexed branches instead of true/false. A branch with 0 taken is uncovered.

BRDA:<line number>,<block number>,<branch number>,<taken>, declared multiple times for line, one for each branch

No timestamp

cobertura

General coverage information/count
Number of times each line was hit.
Has conditions in a slightly less-strict way, <line number="21" hits="58" branch="true" condition-coverage="50% (1/2)"/>
Normal lines look like <line number="20" hits="5" branch="false"/>
Has timestamp and metadata
Has method call count (everything is organized in classes)

This results in the following API. The TestCoverageProvider is given as an optional provider on the managed TestRun object. This is similar to the SourceControl interface in vscode.d.ts. The provider is then pretty standard; it'll only be examined when the run finishes, so all its data is static.
It has a method to get general coverage information for all files involved in the run, and a method to provide detailed coverage for a URI.
I refer to the atomic unit of coverage as "statement coverage". The examined test formats only provide line-based coverage, but statement coverage is what these are actually trying convey approximate and most tooling (e.g. istanbul/nyc) is technically capable of per-statement rather than per-line coverage. Therefore, it's called statement coverage, but it can be used as line coverage.
The API is physically large due to the nature of data being provided, but is conceptually pretty simple (at least compared to the Test Controller API!). I don't like the method names on the TestCoverageProvider, but have not thought of better ones yet.
/** ... */
export interface TestRun<T = void> {
	/**
	 * Test coverage provider for this result. An extension can defer setting
	 * this until after a run is complete and coverage is available.
	 */
	coverageProvider?: TestCoverageProvider
	// ...
}

/**
 * Provides information about test coverage for a test result.
 * Methods on the provider will not be called until the test run is complete
 */
export interface TestCoverageProvider<T extends FileCoverage = FileCoverage> {
	/**
	 * Returns coverage information for all files involved in the test run.
	 * @param token A cancellation token.
	 * @return Coverage metadata for all files involved in the test.
	 */
	provideFileCoverage(token: CancellationToken): ProviderResult<T[]>;

	/**
	 * Give a FileCoverage to fill in more data, namely {@link FileCoverage.detailedCoverage}.
	 * The editor will only resolve a FileCoverage once, and onyl if detailedCoverage
	 * is undefined.
	 *
	 * @param coverage A coverage object obtained from {@link provideFileCoverage}
	 * @param token A cancellation token.
	 * @return The resolved file coverage, or a thenable that resolves to one. It
	 * is OK to return the given `coverage`. When no result is returned, the
	 * given `coverage` will be used.
	 */
	resolveFileCoverage(coverage: T, token: CancellationToken): ProviderResult<T>;
}

/**
 * A class that contains information about a covered resource. A count can
 * be give for lines, branches, and functions in a file.
 */
export class CoveredCount {
	/**
	 * Number of items covered in the file.
	 */
	readonly covered: number;
	/**
	 * Total number of covered items in the file.
	 */
	readonly total: number;

	/**
	 * @param covered Value for {@link CovereredCount.covered}
	 * @param total Value for {@link CovereredCount.total}
	 */
	constructor(covered: number, total: number);
}

/**
 * Contains coverage metadata for a file.
 */
export class FileCoverage {
	/**
	 * File URI.
	 */
	readonly uri: Uri;

	/**
	 * Statement coverage information. If the reporter does not provide statement
	 * coverage information, this can instead be used to represent line coverage.
	 */
	readonly statementCoverage: CoveredCount;

	/**
	 * Branch coverage information.
	 */
	readonly branchCoverage?: CoveredCount;

	/**
	 * Function coverage information.
	 */
	readonly functionCoverage?: CoveredCount;

	/**
	 * Detailed, per-statement coverage. If this is undefined, the editor will
	 * call {@link TestCoverageProvider.resolveFileCoverage} when necessary.
	 */
	detailedCoverage?: DetailedCoverage[];

	/**
	 * @param uri Covered file URI
	 * @param statementCoverage Statement coverage information. If the reporter
	 * does not provide statement coverage information, this can instead be
	 * used to represent line coverage.
	 * @param branchCoverage Branch coverage information
	 * @param functionCoverage Function coverage information
	 */
	constructor(
		uri: Uri,
		statementCoverage: CoveredCount,
		branchCoverage?: CoveredCount,
		functionCoverage?: CoveredCount,
	);
}

/**
 * Contains coverage information for a single statement or line.
 */
export class StatementCoverage {
	/**
	 * The number of times this statement was executed. If zero, the
	 * statement will be marked as un-covered.
	 */
	readonly executionCount: number;

	/**
	 * Statement position.
	 */
	readonly position: Position | Range;

	/**
	 * Coverage from branches of this line or statement. If it's not a
	 * conditional, this will be empty.
	 */
	readonly branches: readonly BranchCoverage[];

	/**
	 * @param location The statement position.
	 * @param executionCount The number of times this statement was
	 * executed. If zero,  the statement will be marked as un-covered.
	 * @param branches Coverage from branches of this line.  If it's not a
	 * conditional, this should be omitted.
	 */
	constructor(executionCount: number, location: Position | Range, branches?: BranchCoverage[]);
}

/**
 * Contains coverage information for a branch of a {@link StatementCoverage}.
 */
export class CoverageBranch {
	/**
	 * The number of times this branch was executed. If zero, the
	 * branch will be marked as un-covered.
	 */
	readonly executionCount: number;

	/**
	 * Branch position.
	 */
	readonly position?: Position | Range;

	/**
	 * @param executionCount The number of times this branch was executed.
	 * @param location The branch position.
	 */
	constructor(executionCount: number, location?: Position | Range);
}

/**
 * Contains coverage information for a function or method.
 */
export class FunctionCoverage {
	/**
	 * The number of times this function was executed. If zero, the
	 * function will be marked as un-covered.
	 */
	readonly executionCount: number;

	/**
	 * Function position.
	 */
	readonly position: Position | Range;

	/**
	 * @param executionCount The number of times this function was executed.
	 * @param location The function position.
	 */
	constructor(executionCount: number, location: Position | Range);
}

export type DetailedCoverage = StatementCoverage | FunctionCoverage;

Would it be possible to load the coverage data directly from a file on disk (or in the remote workspace, whatever we want to call it) rather than as a result of the output of the test run? It seems like it'd be pretty limiting to only have coverage if it were provided by a test runner extension, if I'm understanding your current API draft correctly.
In my codebase for work, the test suite takes well over 90 minutes to run in full. So it pretty much only gets run in CI (parallelized, obviously), which means that the coverage is only available as a CI artifact. It never exists locally (at least, not from a full run).
The more likely case where this might be useful would be if you ran your test suite locally (because it was fast enough), but not using a VS Code Test Explorer extension. So then you just had the coverage.xml (or whatever file/format your test framework outputs) on your machine, and VS Code would either know to look for that, or could be told to go into coverage mode using the data inside it.

Would it be possible to load the coverage data directly from a file on disk (or in the remote workspace, whatever we want to call it) rather than as a result of the output of the test run? It seems like it'd be pretty limiting to only have coverage if it were provided by a test runner extension, if I'm understanding your current API draft correctly.

Yes, the APIs are designed for this 🙂  You can call createTestRun at any time, so you could do that when you load the file, parse the results, then immediately .end() the run.

also: I'm pretty interested in getting the CI story right, so I'm glad to have someone who has an existing use case and need for it! Please let me know if this or any other parts are confusing or seem to present roadblocks for you.

I'd make sure to document the coverage-from-file use-case specifically (I know this is an API draft and actual docs are a while away, but I think it's important 😄).
Regarding CI, probably a crazy idea, but:
It'd be nice to point VS Code at a URL where it can get the coverage file (maybe it passes a param with the current branch name as well) so I wouldn't have to download the coverage.xml myself manually. But that'd have to be custom-built to redirect to the latest CI artifacts somehow since there's no stable URL that CircleCI (or any other CI system) provides for something like this, as far as I know.
And maybe that should be a capability handled by an extension rather than as something in core VS Code. 🤷♂

Yep, that's a good idea for an extension

I have a question about the FileCoverage API. If I am looking at a coverage report, it looks like I only know the file URI. So, if someone starts a coverage test run (which may take a while to run) then makes any changes to the file the statements may not line up correctly with the current editor.
In the TextDocument API there is a version field that tracks revisions to a specific TextDocument.
Should we track FileCoverage to the specific version of the file the test run was started with? Maybe as an optional param?

While we could store the version, there's not a lot of useful things we can do with it (and it gets reset if the file is opened and closed). The most reliable way to do this would be for the extension to use registerFileSystemProvider to create a custom uri scheme/readonly filesystem from which it can serve the version of the file that was used for the coverage run.

The field executionCount in *Coverage classes shows the excution information, what about the missed part.
For example, a method or a line might have 4 branches, but only 2 of them are executed.
Take the Jacoco in Java as an example, the coverage will contains such information:

In editor each line can also have this metadata

For reference, there is an updated API with migration guide that was posted:  https://github.com/microsoft/vscode/issues/122208#issuecomment-865391103

I implement the coverage API and data flow for it internally. There's no UI for it, but it's there to try out. At some point in the next few weeks UI will magically show up ✨

@connor4312 will the AutoRun have an option to re-run tests if lines under their coverage are edited in the file, or will we need to provide our own implementation of that?

Autorun will be primarily extension-controlled

Sounds good, was thinking of basically implementing it this way (as a configurable option):

If coverage is found, start a filewatcher on the covered files.
If OnDocumentChanged, find tests that match the covered changed lines and do a run profile on them on save.

Should the coverage be a boolean flag on the TestRunRequest or should it be an entirely different profile?
In my existing Test Profiles I'm using the configureHandler to let users enable coverage reporting (handled by my own extension until this API is stabilized) with the Run or Debug profiles. But if I made a distinct profile for Coverage, would that mean I'd need to register two versions of it (one for Run + Coverage and a second one for Debug + Coverage)?

In this model we assume running and debugging are disjoint. This is the same as what IntelliJ and Visual Studio do by default, and in some runtimes (e.g. nyc in its default instrumented mode) debugging coverage is not possible at all.

I implement the coverage API and data flow for it internally. There's no UI for it, but it's there to try out. At some point in the next few weeks UI will magically show up ✨

@connor4312 what is the current status of UI for the coverage API? I'm not seeing any when I run test-provider-sample even though it seems to implement coverage.

My wish is this new UI doesn't affect existing workflow. Like adding breakpoints beside line numbers. Or mask squiggly lines intellisense code issues.
Also hoping it can work well for lcov and pytest cases. Since one problem there is the coverage report path argument can't be dynamically changed based on which test are actually being ran.

@connor4312 what is the current status of UI for the coverage API? I'm not seeing any when I run test-provider-sample even though it seems to implement coverage.

A quick ping to see if there's any sign of this coming down the pike...

It's coming, but still a couple iterations out; my time is currently used by a new thing that'll be announced soon.

@connor4312 all your great efforts are appreciated, we look forward to it!

I implemented support for the proposed coverage interface, and I have coverage, but I don't seem to see it in the UI. What am I doing wrong?

@ioquatix you're not doing anything wrong. Coverage isn't yet surfaced in the UI. I think this is still on @connor4312's todo list.

It would be pretty neat if we could attach coverage to test items, so that when those lines are changed, the test items are automatically re-run. I guess we can do this by hand but it seems a little tricky.

@ixquatix: better if that would be by range rather than by line (some coverage regions span only part of a line, some span many lines).

From Visual Studio Code Java team, we have been facing increasing demand for testing coverage. From January 2023 survey feedback, 5 out of 6 verbatims related to testing have mentioned coverage.

It seems this feature is particulary important to java developers and they take this as part of the complete experience for testing, so updates to the API would be greatly appreciated, thank you :)

Hi! I am also looking to get this API merged in sooner than later. I'm about to overhaul a code-coverage extension I wrote for IBM i (COBOL, C, RPG) and I can see the testing namespace does not yet really support coverage tests.

@connor4312 is there any prospect that the UI for test coverage will "magically show up ✨" soon?

@connor4312 any progress on this? 👀

Some will be made in this November iteration

UI mockup:

We will show in-editor decorations for coverage, of course. This will include hit count.
The test result in the Test Results view has a tree item that indicates a coverage summary. Clicking on it opens coverage for that run. This causes two things to happen:

Coverage decorations for files included in the coverage report are added to editors.
A Test Coverage view is open that shows a tree of files with coverage information. These may or may not map to physical files on disk, so e.g. augmenting the explorer is not (always) appropriate

I had this idea for the view inspired by xcode's coverage view. I didn't want to go IntelliJ's direction with a massive, dense table.

Small, color-coded bars indicate rough coverage for each type, and hovers show the exact numbers. Users can sort items in the tree by % of each type of coverage. Bars are only show for each type of coverage a test extension emits. If it only emitted statement coverage, only one bar is shown.
For an extension that provides more than just one type of coverage, I plan to use Clover's total coverage formula to show the "total coverage %" by default beside the indicator bars, but users can configure what number is displayed there, as a view action.

The close icon in the view closes the report, removing the view and editor decorations.

Followup from team discussion:

Steven Clark shared a study he did some time ago indicating that statement coverage was not a useful driver of logical coverage. However, data and my own experience indicate branch coverage is more useful. Let's weight it higher in the "total coverage" formula.
Some concern about view proliferation. Perhaps we have an option to show coverage in the explorer view instead of a separate view.
I want to investigate how to deal with decorations for code that's change since the test was run. Can we use local history to compute how decorations should be moved?

@connor4312

Some concern about view proliferation. Perhaps we have an option to show coverage in the explorer view instead of a separate view.

Please consider how we can provide results in our own views also. I'd really like to set coverage results for a Uri and then any tree view that has a TreeNode with the resourceUri which matches the coverage result, it would show the UI for that TreeNode item.
This similar to how DiagnosticCollection works. If I set diagnostics based on Uri, then in any view where I references the Uri in the resourceUri property, then the number + color shown on my TreeItem label will be based on the diagnostic collection (if there are warnings it's yellow, if errors it's red, etc). Perhaps even being able to lock it down to resourceUri and the view context would be good too.
The reason I ask for this is because I'd like to not only expose the coverage data in the explorer (which I absolutely will be doing), but also in my own trees where I show data from a coverage services running on another platform.
Nonetheless, your mock looks awesome. I'm so ready to start exposing my coverage data in a more VS Code native fashion.

I'd like to update my plugin to report coverage, how can we try this out?

Can we associate tests with a covered region to allow running tests that affect given code?

That should be possible, as every coverage region was at some point executed by atleast one test, which will result in the neccessary relation. I think the Live Unit Testing feature in Visual Studio works very similar to this. Will be interesting later which coverage providers collect such data or discard it. Still, would be really helpful to have some API to set such relations in order to have similar features like Live Unit Testing or to hover over coverage regions and get a list of succeeding/failing tests like in VS.
I really appreciate the work on the code coverage feature, as I am eagerly waiting for this for a long time. ProgressBar-like style looks very reasonable for a quick overview compared to a number with 1% precision as in IntelliJ.

* I had this idea for the view inspired by [xcode's coverage view](https://developer.apple.com/library/archive/documentation/DeveloperTools/Conceptual/testing_with_xcode/Art/twx-codedov-4_2x.png). I didn't want to go [IntelliJ's direction](https://resources.jetbrains.com/help/img/idea/2023.2/coverage-report-overview.png) with a massive, dense table.

👍🏽
Will the tree be expandable down to functions like in the screenshot?
And I assume when you double-click an item it opens the file and shows line coverage?

I'd really like to set coverage results for a Uri and then any tree view that has a TreeNode with the resourceUri which matches the coverage result, it would show the UI for that TreeNode item.

My concern here is that the bars are very big and on tree items with inline actions could end up overflowing or occluding the contents of the container. This may be something we do, and would be configurable, will have to explore.

I'd like to update my plugin to report coverage, how can we try this out?

Check this out: https://code.visualstudio.com/api/advanced-topics/using-proposed-api The UI isn't in VS Code yet, but it will be soon. Also, please provide feedback whether the APIs work or don't work for you!

Will the tree be expandable down to functions like in the screenshot?

I want that, but it will need an API tweak. Currently we may not know know whether a file has function coverage until we resolveFileCoverage, and if there's no function coverage at that point we may end up looking silly.

Hi @connor4312,
I tried the coverage api with the help of the extension sample (test-provider-sample), and have a question:
In the sample extension, looks like it does not use the TestRunProfileKind.Coverage profile. After running the tests, user needs to click the button in the TEST RESULTS view to see the coverage status.
Why not using TestRunProfileKind.Coverage?
I tried to create a TestRunProfileKind.Coverage profile, but didn't see the shortcut appear in the test explorer, neither the context menu of the items in the text explorer. Is it by design or I missed anything?
I thought that if the user runs the test with the coverage profile, the coverage explorer should automatically appear.

Some questions and feedbacks:
About the FunctionCoverage
Currently, after feeding the function coverage to VS Code, the coverage view will show the function coverage ratio for each file. Looks like currently the UI will not reflect the information about the name and location fields of the function coverage. Will they be used in the future?
About the three coverage bars.

Just my personal feeling. Currently the number of the coverage bars displayed in the coverage view are different across different files. It depends on

How many kinds of the coverage are supported by the provider.
The content of the file. For example, the code may not have branches, so it won't have the branch coverage.

As a user, he may not be able to get the ratio of each kind of coverage with a quick glance. Sometimes he may need to hover onto those coverage bars to get which kind it is. Seems a little bit inconvenient.

Looks like currently the UI will not reflect the information about the name and location fields of the function coverage. Will they be used in the future?

Yes, they will

Sometimes he may need to hover onto those coverage bars to get which kind it is. Seems a little bit inconvenient.

I think the thing to do here is to report a CoveredCount of 0 covered / 0 total for each kind you want to report.
Currently those will show green as 100% covered, but I think I'll change it so that they're muted.

I noticed the latest Insider will not show the coverage information in the File Explorer, will we have any kind of decorator/description hint for the file entry in the file explorer in the future?
In my point of view, the coverage support and source control support have a lot of similarity about UI component. In VS Code, it provides two ways to provide information about source control status.

The first way is the straightforward way that user can quickly get the information.

In editor, the gutter decorator tells which parts are changed.
In File explorer, the file decorator tells which files are changed.

The second way is a dedicated view to provide detailed information to users: The Source Control view shows all the details for all the changed files.

I think the same concept can be applied to coverage as well:

straightforward UI hints: editor gutter decorator, file decorator in file explorer
A dedicated coverage view to provide detailed in formation.

About the current coverage view, I have one more input about the presentation. I understand that the table view makes people feel complex and heavy, which may not apply to VS code's product philosophy. However, the advantage of table is that user can get an accurate coverage number quickly. While for the progress bar, User cannot tell that until hovering the mouse onto it.
You can imagine this case: a project requires the coverage to reach 70%. both 69% and 71% looks similar when it's a progress bar, user have to hover the mouse onto it to tell the difference. This is another reason that a summary hint besides the file item in file explorer is helpful. Take IDEA as an example:

The latest Insiders does have test coverage information in the explorer, following https://github.com/microsoft/vscode/pull/198891, which will be visible if coverage locations match the URIs of files in the workspace.

straightforward UI hints: editor gutter decorator, file decorator in file explorer

will come in Jan 👍

However, the advantage of table is that user can get an accurate coverage number quickly. While for the progress bar, User cannot tell that until hovering the mouse onto it.... You can imagine this case: a project requires the coverage to reach 70%. both 69% and 71% looks similar when it's a progress bar, user have to hover the mouse onto it to tell the difference.

I'm curious how often a user would care about e.g. a 69% coverage versus a 70% coverage. Would that be pretty much exclusively for reaching a number for acceptance? If so, would allowing the user to customize when the bar is red/yellow/green accomplish the same goal? I.e. if I set my yellow at 70%, then as long as I run coverage and don't see any red then I know at a glance I'm okay.

Okay, I managed to get it working.. sort of. I definitely don't have 100% coverage on every file... probably a bug in my code.

Ah, this is looking better/more accurate:

Are we planning to add code coverage to the editor/code view as well?

Are we planning to add code coverage to the editor/code view as well? It would be useful to know what lines are not executed.

Yes, that will happen next month, after the holidays

I believe that this % is lines covered. MS code coverage file (.coverage) contains Lines Covered, Lines Partially Covered and Lines Not Covered. I wonder how this kind of information can be displayed. Maybe like [70%-20%-10%] or some other way.

Ah, this is looking better/more accurate:

I believe that this % is lines covered. MS code coverage file (.coverage) contains Lines Covered, Lines Partially Covered and Lines Not Covered. I wonder how this kind of information can be displayed. Maybe like [70%-20%-10%] or some other way.

I am of the opinion your extension could go by token rather than by line in that case and generate a more accurate entry, I don't see the need to clutter this unnecessarily with a stratified coverage.

For the most part I encourage people to aim for 100% coverage so the main goals would be:

Identify files without 100% coverage easily.
Provide feedback in the editor about the missing coverage so they can write appropriate tests.

Showing 90% (statement|branch|whatever) coverage of file x isn’t as important IMHO as simply pointing out that coverage is missing.

For the most part I encourage people to aim for 100% coverage so the main goals would be:

Identify files without 100% coverage easily.
Provide feedback in the editor about the missing coverage so they can write appropriate tests.

Showing 90% (statement|branch|whatever) coverage of file x isn’t as important IMHO as simply pointing out that coverage is missing.

@connor4312
I noticed that VS Code now can display the profile for coverage kind, is this heart icon just a placeholder? 😂

I noticed that codicon already has an icon named debug-coverage

yep, that's placeholder pending https://github.com/microsoft/vscode-codicons/issues/205, which should happen this iteration

I finished my work on test coverage this iteration and now consider it feature complete -- pending the missing icon. Here's a small demo video I made for the vscode team to show it (in the context of our own unit tests)
https://github.com/microsoft/vscode/assets/2230985/5ecf8e5b-3e27-4ac4-84d8-269b3744b79e

Kudos @connor4312! The feature is estimated to be released in early March as planned before, right?

BTW, the gutter decoration won't be seen under high contrast themes - not sure if this is by design or a bug.

The feature is estimated to be released in early March as planned before, right?

Yes

BTW, the gutter decoration won't be seen under high contrast themes - not sure if this is by design or a bug.

Good point, will fix

When hovering on the gutter decoration, there will be a pop-up:

Some questions about it:

What does <empty statement> mean?
When I click Toggle Line Coverage, nothing happens, is that supposed to turn off the gutter decoration?

This is because the sample test provider at the moment only reports Positions and not ranges for its coverage data.
Today in #202676  I made a change that coverage data that only reports a Position will 'cover' either the entire line or until the next reported un/covered position, whichever comes soonest. So in tomorrow Insiders' you will see better behavior.

So in tomorrow Insiders' you will see better behavior.

Thank you!

At the moment it seems that there is currently no mechanisms for reporting and showing "skipped" lines (e.g. code which can for whatever reason not be reached by the testing system).
Is it possible to also integrate this into the API in such a way, that these lines could be shown with a different color?

The way to do that at the moment is just not having any data for a skipped range.
Do you have tools / test systems that report this data? This wasn't something I saw in reviewing common coverage formats and I'm interested to see how it's used/represented.

We currently use gcovr for our C projects. The JSON output (as well as the HTML output) both support also skipped/excluded lines (see https://gcovr.com/en/stable/output/json.html).
With the Test Coverage API coming up, I can also think of creating extensions which can provide the results for static code analysis - so in terms of ESLint for example you could report per line whether there are faults, everything is fine or whether a line has been ignored. The same could also apply for ts-ignore ...
Also the SARIF standard can give some more insights: Chapter 3.27.23 describes the mechanism for excluding several rules. I found the definition here. An example for a suppression can be seen here.

Thanks! I don't anticipate having that for the initial API slated for finalization next month, but I've captured that in an issue for a followup addition.

Sounds good. Thank you!

I primarily used https://github.com/ryanluker/vscode-coverage-gutters, excited to see vscode having it built-in now

One API change arising from Python coverage: executionCount: number has been changed to executed: boolean | number https://github.com/microsoft/vscode/pull/204004

Further change: we renamed FunctionCoverage to DeclarationCoverage to better represent the fact that other types of data are represented by nominal "function" coverage. There's a back-compat shim in place for this iteration
fyi @jdneo

I'm trying to test this but getting the following error:

await this.finished Error: Extension 'socketry.sus-vscode' CANNOT use API proposal: testCoverage.
Its package.json#enabledApiProposals-property declares:  but NOT testCoverage.
The missing proposal MUST be added and you must start in extension development mode or use the following command line switch: --enable-proposed-api socketry.sus-vscode
at E (/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/api/node/extensionHostProcess.js:138:51177)
at Object.set coverageProvider [as coverageProvider] (/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/api/node/extensionHostProcess.js:152:8287)

Any advice about what I should do?

@ioquatix have you followed the steps given at https://code.visualstudio.com/api/advanced-topics/using-proposed-api yet?

@gjsjohnmurray I thought so. But I'm not using the insiders release, I'm using vscode v1.86 - does that matter?
I was under the impression I would be able to test this out using the development environment:

Basically, by clicking this button:

Oh, I figured it out, I needed to add the highlighted argument:

Hi, just to update folks, we bumped this API to target finalization next iteration, rather than the this one (release next week.) This is a sizable API and there were several other exciting APIs entering proposed and finalization that took up our team's bandwidth.

@connor4312 appreciate the hard work regardless, thanks!

@connor4312 Will the API change https://github.com/microsoft/vscode/pull/207512 affect the coverage API stable release ETA? Do we still target on March release now?

We're still targeting the March release, this API will be finalized in the next few hours.
@vogelsgesang I'll check that out, I've opened a new issue for tracking.

It would have been nice if I (like in Rider) could right-click a covered line and see all the tests that ran through that line, and then run a particular one.
This is not supported from this API, as it mostly brings total coverage across all tests.

It would have been nice if I (like in Rider) could right-click a covered line and see all the tests that ran through that line, and then run a particular one.
This is not supported from this API, as it mostly brings total coverage across all tests.

Tracked in https://github.com/microsoft/vscode/issues/212196


Add support for pic1670

alters mrom.py to support word size other than 8 bit in Txt2bin.
add pic1670.py to support pic1670.

Thanks for your contribution!
Hmm let me think this over a bit. I was hoping that it was possible to treat each word as two 8 bit bytes for the purposes of the algorithm, but sounds like it may not have been that simple. Its definitely more proper to move to the code being word aware like in this patch.

Thanks a lot for your contribution! Especially since this ended up being more work than I was expecting due to the fractional words. I've done some cleanup (ex: the existing self issues) and merged into master.


Map/Hash/Dict

Submission Title
Map/Hash/Dict
Submission Type
Data Structure
Submission Description
Map/Hash/Dict are associative containers that store elements formed by a combination of a key value and a mapped value.
Contributors

[ ]  C++ -
[ ]  C -
[ ]  Python -
[ ] Java -
[ ] JavaScript -
[ ] Golang -

I can/have created a hash set with quadratic probing in Java. Not sure if that’s an appropriate solution to the issue, but if it is, I’d like to be assigned for this issue.

Do we have to demonstrate the Map/Hash/Dict functionality?

yup @shaunak56 ,initialization and method funtions

thanks @everyone :v:


allow include_recipe from LWRP provider code

allows include_recipe "build-essential" to work from provider
code.

@danielsdeleo @someara this is what we talked about.  seems to work fine.
@chef/client-core for review if anyone is interested.

Looks good. I've been doing this in providers for a while now.


Adds travis jobs on ppc64le

This PR adds power support on travis.

Please review this merge.

This is part of the Ubuntu distribution for ppc64le. This helps us simplify testing later when distributions are re-building and re-releasing,For more info tag @gerrith3.

I am waiting for your response. please reply.

@SlexAxton Waiting for your response for merge ppc64le code.


Support Indonesia names, address, phone & gender

Add support data for Indonesia like male & female
names, states & address, genders and also both
home & mobile phone number for Indonesia.
Some enhancements are:

FFaker::NameID
FFaker::AddressID
FFaker::PhoneNumberID
FFaker::GenderID

LGTM


AP-2202 link errors

What
Link to story
Fix links in error summary:
To add the error summary to every page automatically, and get it to link to the fields from the form, I updated the page template tag to use the error summary generated by the formbuilder, however this means the page template tag now needs to be rendered within the form tag so that the form can be passed to it.
As part of this ticket I also removed some of the forms from the /shared folder into the /provider folder as these forms are now only rendered in the provider journey.
Checklist
Before you ask people to review this PR:

[x] Tests and rubocop should be passing: bundle exec rake
[x] Github should not be reporting conflicts; you should have recently run git rebase master.
[x] There should be no unnecessary whitespace changes. These make diffs harder to read and conflicts more likely.
[x] The PR description should say what you changed and why, with a link to the JIRA story.
[x] You should have looked at the diff against master and ensured that nothing unexpected is included in your changes.
[x] You should have checked that the commit messages say why the change was made.

Codecov Report

Merging #2523 (3ad870d) into master (951c78d) will not change coverage.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##            master     #2523   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files          517       517
  Lines        10259     10268    +9
=========================================
+ Hits         10259     10268    +9

Impacted Files
Coverage Δ

...s/citizens/identify_types_of_incomes_controller.rb
100.00% <100.00%> (ø)

...citizens/identify_types_of_outgoings_controller.rb
100.00% <100.00%> (ø)

.../providers/identify_types_of_incomes_controller.rb
100.00% <100.00%> (ø)

...roviders/identify_types_of_outgoings_controller.rb
100.00% <100.00%> (ø)

...orms/chances_of_successes/success_prospect_form.rb
100.00% <100.00%> (ø)

app/forms/citizens/other_assets_form.rb
100.00% <100.00%> (ø)

...egal_aid_applications/open_banking_consent_form.rb
100.00% <100.00%> (ø)

app/forms/providers/policy_disregards_form.rb
100.00% <100.00%> (ø)

app/forms/savings_amounts/savings_amounts_form.rb
100.00% <100.00%> (ø)

app/helpers/page_template_helper.rb
100.00% <100.00%> (ø)

... and 2 more

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 951c78d...3ad870d. Read the comment docs.


ERROR: Attribute 'assigned_object_type' for '<IP_ADDRESS>/24' invalid: ipam.fhrpgroup

If an this object (IPAM > Other > FHRP Group) exists in netbox, the sync will fail with this error message:
2022-01-31 12:39:39,301 - INFO: Finished querying necessary objects from NetBox
2022-01-31 12:39:39,361 - ERROR: Attribute 'assigned_object_type' for '<IP_ADDRESS>/24' invalid: ipam.fhrpgroup
Error while resolving relations for <IP_ADDRESS>/24

Hi, Thank you. This is interesting. Unfortunately the OpenAPI docs don't specify all available values 🙄.
It seems the IP iss assigned to the FHRP group. Is that correct?

@bb-Ricardo yes that is correct!

Hey @sliddjur can you check out latest development branch and test if it works with that one?

This should fix it. There are only 3 options for 'assigned_object_type'

fixed in version 1.2.3


[release-1.2] Generated client: drop custom wrapper methods of generated ones for vmi struct

What this PR does
This is a manual cherrypick of https://github.com/kubevirt/kubevirt/pull/11495 and https://github.com/kubevirt/kubevirt/pull/11517.
The two PRs cannot be backported separately, since the first without the second one will break the unit tests, while the second cannot be applied without the first one
Release note

NONE

/cc @acardace @xpivarc

/approve

/retest-required

/retest-required

/override pull-kubevirt-e2e-kind-1.27-vgpu-1.2
Lane has been moved to optional due to issues running on upgraded cluster - https://github.com/kubevirt/project-infra/pull/3385

/override pull-kubevirt-e2e-kind-1.27-vgpu


fix: updated node-tdd

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Remove Backpack properly

Currently I've destroyed the UI of it, but you could potentially pick up items or buy them from stores and have them get trapped in the backpack

Should be closed as of https://github.com/SinZ163/TwilightsEveORPG/commit/0fecf3a4697d7a859e6327025772e96c41e6ad65


[bug] Dongle-Test in zwavejs2mqtt. All existing associations are deleted.

Version
Build/Run method

[x] Docker - (dev-tag)
[ ] PKG
[ ] Manually built (git clone - npm install - npm run build )

zwavejs2mqtt version: 1.0.1 (and all versions from 1.0.0-beta.0 till now)
zwavejs version: 6.0.? (the version which is included in your docker-image)
Describe the bug
I am using the ZMEEUZB-Dongle (https://z-wave.me/products/uzb/) with Vers:5 Rev:39 in FHEM.
I am currently looking for another Z-Wave-implementation and I like zwavejs2mqtt.
So I create another docker container and I've mounted the stick to zwavejs2mqtt. And yes, the stick is not mounted to FHEM simultaneously.
After a few minutes all devices are recognized and I can use zwavejs2mqtt without any problems.
But all my associations (and multi channel assocations) are deleted.
It looks very much as if zwavejs2mqtt will automatically remove the associations.
I can see that in zwavejs2mqtt and in FHEM. All associations are cleaned there.
To Reproduce
(empty)
Expected behavior
I expect the associations in the stick to be permanently stored and used.

@AlCalzone Are associations stored on controller?

Associations are stored on each node. zwave-js does not remove associations, except misconfigured lifelines to the controller (e.g. node associations that should be endpoint associations).

@hvorragend We need some logs to see what's going on here so

I've created a zwavejs and zwavejs2mqtt debug-log.
Is it possible to send you these files via email?

I don't use the mutlichannel-device, because I don't see any advantages.

That might be the issue. In some configurations, you won't receive all Lifeline reports unless you use a Multi Channel Association. You should let zwave-js manage the associations to your controller - it probably knows better. Associations to other nodes are not touched.

It was working fine in FHEM with the lifeline reports.
But I will try to fix it on my side.
In the logs I can see that the there are some assocation adjustments.

I don't understand tbh. Is there something that is not working now - except that the lifeline associations are not what you're used to?

Yes, I need the lifeline associations. But they are working fine and without any problem when I just set them to the master device.
Just ignore this now. I will now try to use the multichannel-associations in FHEM and after that I try another migration to your zwavejs2mqtt.
Thank you very much.

It might work for you but trust me that there are devices that react really strange if they don't get multi channel associations if the specifications say they should but they don't have them.
I've spent hours on figuring out what the correct strategy is

Thank you for the clarification. It may very well be that I've been doing this wrong for years. :-)


Configure log to JSON format for container logs using shim logging plugin

I have the exact issue as mentioned in https://github.com/containerd/containerd/issues/3955.
I copied problem statement here for reader's convenience.
What is the problem you're trying to solve
Currently containerd uses supports text format for logs.
For example for /var/log/containers/coredns-*, the text log output would typically be in the format:
2020-01-10T18:10:40.01576219Z stdout F [INFO] plugin/reload: Running configuration MD5 = 4665410bf21c8b272fcfd562c482cb82

Describe the solution you'd like
Re-using the example above of /var/log/containers/coredns-*, the JSON log format would be:
{"log":"[INFO] plugin/reload: Running configuration MD5 = 4665410bf21c8b272fcfd562c482cb82\n","stream":"stdout","time":"2020-01-10T17:22:50.838559221Z"}

I would like to try to use pluggable logging as discussed in https://github.com/containerd/cri/issues/1342, which points to the shim pluggable logging here: https://github.com/containerd/containerd/pull/3085.
The pull request gives an example of how to use shim plugin. I am new to containerd and am having difficulties figuring out how I can use shim plugin in a containerd config to specify logging format in json. Any pointers would be greatly appreciated! :)

Are you using containerd via cri or standalone?

via cri


Webpack Merge not working with upgrade to 4.20.2

Bug report

What is the current behavior?
After upgrading webpack from 4.10.2 to 4.20.2, using<EMAIL_ADDRESS>webpack fails with the message:
describe: optionsSchema.definitions.output.properties.path.description,
TypeError: Cannot read property 'properties' of undefined

I'm using webpack-merge to define multiple outputs. This works under<EMAIL_ADDRESS>but breaks with<EMAIL_ADDRESS>An abbreviated version of my config is below:
If the current behavior is a bug, please provide the steps to reproduce.
// base.js

const commonConfig = {
    module: {
        rules: [
            // various configs
        ],
        resolve: {
            alias: {
                // aliases
            }
        },
        plugins: [
            // plugins
        ]
    },
};

const stdEntry = {
    entry: {
        module: ['babel-polyfill', 'url-search-params-polyfill', path.join(srcPath, 'website/main.js')],
        'no-js': path.join(srcPath, 'no-js.js'),
        admin: path.join(srcPath, '/admin/main.js'),
    },
};

const criticalEntry = {
    entry: {
        'critical-styles': path.join(srcPath, 'critical-styles.js'),
    }
};

const stdOutput = {
    output: {
        path: path/to/bundle/,
        publicPath: localConfig.baseUrl + '/assets/',
        filename: '[name].js'
    },
};

const criticalOutput = {
    output: {
        path: path/to/critical/styles/,
        publicPath: localConfig.baseUrl + '/assets/',
        filename: 'critical-styles.js'
    },
};

module.exports = { stdOutput, criticalOutput, stdEntry, criticalEntry, commonConfig };

// dev.js (my entry point)

const webpack = require('webpack');
const webpackMerge = require('webpack-merge');
const path = require('path');
const baseConfig = require('./base.js');
const localConfig = '../localConfig.js';

const criticalConfig = webpackMerge(baseConfig.criticalEntry, baseConfig.commonConfig, baseConfig.criticalOutput);

const mainConfig = webpackMerge(baseConfig.stdEntry, baseConfig.commonConfig, baseConfig.stdOutput, plugins);

return [ criticalConfig, mainConfig ];

What is the expected behavior?
Webpack will build the project from the merged config, and not fail when it sees missing properties in the base config.

Other relevant information:
webpack version:  4.20.2
Node.js version: 9.8.0
Operating System: OS X 10.13.6
Additional tools: WebpackMerge

Yep, that fixes it. Thanks!


HTML Mods Folder

Describe your bug here.
Mods folder doesn't load in using HTML only assets so how can I get custom events to work?
Command Prompt/Terminal logs (if existing)
No response
Are you modding a build from source or with Lua?
Source
What is your build target?
HTML5
Did you edit anything in this build? If so, mention or summarize your changes.
Songs; Data; Weeks;

That's because HTML5 cant  support some mod support due to problems


"Fall of the Fourth Republic", democracy inevitably will lead to leaving Algeria

Needs to be clarified for the player


Allow disabling of language server

I get this error whenever I open a .pp:
Could not find a valid Puppet installation at '/opt/puppetlabs/puppet'. While syntax highlighting and grammar detection will still work, intellisense and other advanced features will not.

I'm happy just using the syntax highlighting and grammar detection (as stated), and not having VS Code interact with a language server at all.
I seem to recall that there used to be an option to turn it off - but can no longer find it.

@snoopdouglas I'm pretty sure there was never an option to disable the language server. We recently added that error message as a way to better notify users when functionality would be degraded, whereas before there wasn't an obvious error message.
It's pretty reasonable to want to disable it, we'll add it to the board.

+1.  We will be revisiting the settings we currently have so this would be a good time.

@snoopdouglas just letting you know, we're planning on adding this to the next release.


Unable to View or Install Extensions

VSCode Version:

v1.6.0 stable
v.1.7.0 insider

OS Version:

Ubuntu 16.04

Steps to Reproduce:

Open Visual Studio Code
Click Extensions tab on left-hand side or press ctrl+shift+x

An error appears across the top
# exact error from vscode 1.7.0 insider
connect ENOENT /tmp/tylor/Code - Insiders-dbef50-1.7.0-insider-shared.sock

virtually the same exact error, only different file name, occurs in v1.6.0 stable.
After doing a tiny bit of investigating, it seems this file is being created at /tmp and not /tmp/tylor (where tylor is my username), which is not consistent with versions previous to v1.6.0, where there seem to be many .sock files located in my /tmp/tylor folder.
ls -la /tmp | grep Code
drwx------  2 tylor tylor  4096 Oct 10 14:41 VSCode Crashes
srwxrwxr-x  1 tylor tylor     0 Oct 12 00:02 Code - Insiders-dbef50-1.6.0-insider-shared.sock
srwxrwxr-x  1 tylor tylor     0 Oct 12 00:03 Code - Insiders-dbef50-1.7.0-insider-shared.sock
srwxrwxr-x  1 tylor tylor     0 Oct 12 00:03 Code - Insiders-dbef50-1.7.0-insider.sock
srwxrwxr-x  1 tylor tylor     0 Oct 11 23:43 Code-dbef50-1.5.3-shared.sock
srwxrwxr-x  1 tylor tylor     0 Oct 12 00:12 Code-dbef50-1.6.0-shared.sock
srwxrwxr-x  1 tylor tylor     0 Oct 12 00:12 Code-dbef50-1.6.0.sock

ls -la /tmp/tylor
total 40
drwx------  6 tylor tylor  4096 Oct 12 00:15 .
drwxrwxrwt 18 root  root  20480 Oct 12 00:12 ..
drwxrwxr-x  3 tylor tylor  4096 Oct 11 23:29 npm-12071-4dc52ad8
drwxrwxr-x  3 tylor tylor  4096 Oct 11 23:41 npm-13633-0035ceb9
drwxrwxr-x  3 tylor tylor  4096 Oct 11 22:23 npm-6428-edb6f29f
drwxrwxr-x  3 tylor tylor  4096 Oct 11 22:39 npm-7499-fd441190
srwxrwxr-x  1 tylor tylor     0 Oct 12 00:02 vscode-0034836885a5d6c647a5f096cf39f0fca56fa745.sock
srwxrwxr-x  1 tylor tylor     0 Oct 11 23:55 vscode-06b467bc5f4aa27ca69e588b3a24d0bbf486ff85.sock
srwxrwxr-x  1 tylor tylor     0 Oct 12 00:03 vscode-21a443416bb962d7562c0c42e212316c65a4c6c6.sock
srwxrwxr-x  1 tylor tylor     0 Oct 10 16:04 vscode-24f8d58c4be4ae1966dd0da358a0b4a0f304564f.sock
srwxrwxr-x  1 tylor tylor     0 Oct 10 19:05 vscode-37b3958f2dd770a8e6168208ee73a88a02c76557.sock
srwxrwxr-x  1 tylor tylor     0 Oct 12 00:02 vscode-42212eeb579351206136b342b2fdbbe1892954bd.sock
srwxrwxr-x  1 tylor tylor     0 Oct 10 19:12 vscode-461eb8e95e6fe54cdd41df6d95766dbbba3d55f2.sock
srwxrwxr-x  1 tylor tylor     0 Oct 12 00:12 vscode-4d4b611d9276974e1a1e03c42a233163f0656311.sock
srwxrwxr-x  1 tylor tylor     0 Oct 12 00:03 vscode-6d9dacf651f7e6096922769b2bac7eebb5b63a62.sock
srwxrwxr-x  1 tylor tylor     0 Oct 12 00:06 vscode-776e6eb3618ebc6edb1a6edcd86d21661df69a71.sock
srwxrwxr-x  1 tylor tylor     0 Oct 11 23:55 vscode-99b861b5516595663bf64ee7cc024baa0b94d616.sock
srwxrwxr-x  1 tylor tylor     0 Oct 10 16:04 vscode-a78362506d68646b6666e488629ad58c968d8254.sock
srwxrwxr-x  1 tylor tylor     0 Oct 10 19:12 vscode-b5cb330bc35996e9674feb601d2dfc966974245f.sock
srwxrwxr-x  1 tylor tylor     0 Oct 10 19:05 vscode-c4051632746dc328267c6a677360ac7cb6e64be0.sock
srwxrwxr-x  1 tylor tylor     0 Oct 10 14:41 vscode-d3c939996fb90cce07f69734359b140c55314c96.sock
srwxrwxr-x  1 tylor tylor     0 Oct 10 14:41 vscode-ed31d2c69aa720c6f7565d0c16472150315b6f02.sock

Here's a screenshot of the error in v1.7.0 insider

@TylorS If you get 1.5.0 (ia32, x64), does it still work fine?
What's the value of  echo $TMPDIR when running from a shell? Does this value change due to one of your .bashrc (or similar) scripts?

Hi @joaomoreno thanks for the quick response.
Yes, 1.5.0 has continued to work for me.

~ ❯❯❯ echo $TMPDIR
/tmp/tylor

I do not have any scripts that touch the value of $TMPDIR, didn't even know it existed until now.
Literally the only commands I have in my .zshrc
export PATH=./node_modules/.bin/:$PATH

export NVM_DIR="/home/tylor/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"  # This loads nvm

Let's do something in both versions:

Open the developer tools (F1, Developer Tools)
Type require('os').tmpdir()

What do you get in both 1.5 and 1.6?

@BenMaruchu Can you also try the steps I mentioned in my previous comment?

for sh echo $TMPDIR
it returns /tmp/benson
for version 1.6  require('os').tmpdir();
returns "/tmp/benson"
for version 1.5.3  require('os').tmpdir();
returns "/tmp/benson"

version 1.5.3 works fine

Here is version v1.6.0

Here is version v1.5.3

I did a re-installation of my OS and these issues have gone away.

Wow, that is odd. You reinstalled your whole OS?

Yeah, I did a fresh install of Ubuntu 16.04.1. 100% of everything I have that is important is on GitHub or Google Drive so it's an easy thing for me to do.
I still can't explain the errors I was having, because I've never touched the $TMPDIR environment variable.

Got it. I will look into it.

@joaomoreno Hi. I am getting the same error on Linux Mint 18 (Basically Ubuntu 16.04)
Version of VSCODE: Version 1.7.0-insider

i have the same bug

Just ran into the same problem with Version 1.6.1 Commit 9e4e44c19e393803e2b05fe2323cf4ed7e36880e.
I had the line 'export TMPDIR="/tmp/$LOGNAME"' in my .zshrc. After removing the /$LOGNAME, the problem went away. Nothing else ever had a problem with that, though...

I can confirm. Had the same problem, removed from (.zprofile for me, maybe others have it in .zshrc) the /$LOGNAME from the export TMPDIR="/tmp/$LOGNAME line.

Now it works thanks @jweg

Ah yes that trick works for me, thanks @jweg

I have the same issue. The error message was shown when VSCode is launched from Ubuntu MATE application menu, but it was launched from MATE Terminal then no error was occurred.
require('os').tmpdir() on the developer tools console in both cases and echo $TMPDIR on the terminal had same output /tmp/username.
Environment:

Visual Studio Code 1.6.1 ( Commit 9e4e44c19e393803e2b05fe2323cf4ed7e36880e )
Ubuntu 16.04.1 LTS

This was a great catch! Thanks for all the tips guys.
Requirements:

User must have a definition of the TMPDIR environment variable in his .bashrc or equivalent. The new value must differ from whatever require('os').tmpdir() returns.
Code must be launched by double click or similar, not by running it from a shell.

Description:
The main process was eagerly computing the location for the shared process socket file, thus getting the tmpdir location before the new TMPDIR value kicked in via the shell env patching.

any way to fix this on macOS? or time before pushing this to 1.6.2?
I've tried removing /$LOGNAME from $TMPDIR but it's not working.

The fix will come out with 1.7.0.
Meanwhile there's this workaround:
Run code from a shell.

Hi,
The same problem seems to appear on version 1.8.1
Running code from the shell resolves it, but I just wanted to let you know (fresh install of Ubuntu 16.04.1)

The same for 1.9.0-insider.

Same problem in todays update (1.9.0) on sierra 10.12.3
Opening VS from terminal using code solves the problem, but...you know:)

Same problem in todays update (1.9.0) on ubuntu 16.10, from shell works from menu don't

got the same problem on Mac 10.12.3 with 1.9.0

same problem in 1.9.0 on Deepin 15.3

I can confirm that this is occurring on 1.9.0 on Sierra 10.12.3. Starting code from the shell gets around the problem

@jrieken We might've broken something here.

@jrieken Yep, this is now definitely broken. To reproduce:

Have a TMPDIR=/something line in your .bash_profile or equivalent

It was broken by removing the user env computation from the startup path. That code was setting the correct TMPDIR environment into the main process (and thus into all its children). After that was set, the environment service computed the shared process ipc handle.
Now, that handle is being computed based on the TMPDIR before the user env is discovered.

Wow, crazy... I think we can

revert the performance fix 🐌,
start the shared process once the env is resolved, or
use a different path for the sock-files

My preference would be 2. Objections? Risks?

Tricky.
The problem doesn't lie in starting the shared process, but in connecting to it. But I think we can pull it off by delaying the connection to it until we have the right env.
Another issue with the change:
I just noticed that the same happens for the main process IPC hook used to detect whether there is another instance of Code running. We might be hitting bugs there, by trying to put IPC hooks in directories that don't exist or the user has no permissions to do so.

Verified a custom TMPDIR is used. It still fails if that folder doesn't exist yet, but I assume that is expected.

Had the same error after some kind of update. Solution was just to simple hit the "restart to update" button in the menu. Just in case somebody else is googling for solution instead of doing the "obvious" ;)

I am having this issue and had a ticket opened, which was auto-closed. See #30624

I still have this issue in v1.15.1 on macOS Sierra v10.12.6 when I start VSCode from Finder.
Workaround with starting from terminal via code works. I can see plugins then without an error.

@jrieken Same issue in v1.16.1 on Linux.

Same issue in v1.16.1 on Mac

"http.proxyStrictSSL": false
This user setting worked for me.

Linux also don't have windows registry :). And launching from command-line not helps. So it's definitely a bug of App, not DE or OS.

Hy guys, I have updated vscode to v1.16.1 and I have got the same issue, my list of extensions and plugins were disappeared. OS Linux

Hi guys, I have updated vscode to v1.16.1 and I have got the same issue, my list of extensions and plugins were disappeared. OS Linux

Issue seems to be gone with v1.17.2 on macOS Sierra v10.12.6. It's not reproducible anymore. 🎉


feat: LSDV-4712: Add effect of skipDuplicates parameter on results editing

PR fulfills these requirements

[x] Commit message(s) and PR title follows the format [fix|feat|ci|chore|doc]: TICKET-ID: Short description of change made ex. fix: DEV-XXXX: Removed inconsistent code usage causing intermittent errors
[x] Tests for the changes have been added/updated (for bug fixes/features)
[x] Docs have been added/updated (for bug fixes/features)
[x] Best efforts were made to ensure docs/code are concise and coherent (checked for spelling/grammatical errors, commented out code, debug logs etc.)
[x] Self-reviewed and ran all changes on a local instance (for bug fixes/features)

Change has impacts in these area(s)
(check all that apply)

[ ] Product design
[x] Frontend

Describe the reason for change
Allowing preventing duplicate even on the stage of editing existed regions
What is the new behavior?

skipDuplicates="true" on <TextArea /> prevent creating duplicates on editing existing results
editing existing results with displayMode="region-list" on <TextArea /> will not create history steps on each key pressing anymore

What is the current behavior?

skipDuplicates="true"  affects only creating new results
editing existing results with displayMode="region-list" on <TextArea /> causes creating history steps on each key pressing

What libraries were added/updated?
N/A
Does this change affect performance?
N/A
Does this change affect security?
N/A
What alternative approaches were there?
N/A
What feature flags were used to cover this change?
fflag_feat_front_lsdv_4712_skipduplicates_editing_110423_short
related: fflag_feat_front_lsdv_4659_skipduplicates_060323_short
Does this PR introduce a breaking change?
(check only one)

[ ] Yes, and covered entirely by feature flag(s)
[ ] Yes, and covered partially by feature flag(s)
[x] No
[ ] Not sure (briefly explain the situation below)

What level of testing was included in the change?
(check all that apply)

[ ] e2e
[x] integration
[ ] unit

Which logical domain(s) does this change affect?
TextArea

Codecov Report
Patch coverage: 92.00% and project coverage change: +0.14 :tada:

Comparison is base (ca3586f) 64.32% compared to head (9ac2338) 64.46%.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #1309      +/-   ##
==========================================
+ Coverage   64.32%   64.46%   +0.14%
==========================================
  Files         428      428
  Lines       26800    26819      +19
  Branches     6943     6956      +13
==========================================
+ Hits        17238    17290      +52
+ Misses       9562     9529      -33

Impacted Files
Coverage Δ

src/tags/control/TextArea/TextArea.js
88.42% <91.30%> (+5.77%)
:arrow_up:

src/regions/TextAreaRegion.js
80.39% <100.00%> (+0.39%)
:arrow_up:

src/utils/feature-flags.ts
100.00% <100.00%> (ø)

... and 3 files with indirect coverage changes
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

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


I had problems opening a existing repository and found the problem

I'm not that good at using forking, pull requests so i will comment this here
at
OpenRepository.java
FileRepositoryBuilder builder = new FileRepositoryBuilder();
Repository repository = builder.setGitDir(new File("/my/git/directory"))
            .readEnvironment() // scan environment GIT_* variables
            .findGitDir() // scan up the file system tree
            .build();

System.out.println("Having repository: " + repository.getDirectory());

repository.close();

this part doesn't work properly
i tried to get a status from my own repository but problems occured that my repository is bare but it isn't
if i try to get a status from this repository it assumes the repo bare
so this means it's not properly opened
It should be changed just a little
I think setGitDir() method is for making a new Repository and this occurs the problem
the source like this works properly(didn't tested a lot but status call works properly)
FileRepositoryBuilder builder = new FileRepositoryBuilder();
Repository repository = builder.findGitDir(new File("/my/git/directory"))
            .readEnvironment() // scan environment GIT_* variables
            .build();

System.out.println("Having repository: " + repository.getDirectory());

repository.close();

please respond and update the cook-book if this is right
sorry for bad english =)

https://github.com/centic9/jgit-cookbook/issues/5#issuecomment-51107996

0000
#47

11111#46

Thanks for the note, yes, the snippet was misleading and not fully working out of the box. I adjusted it to make it a fully working piece and show the actual directory that is required for this to work.

https://github.com/centic9/jgit-cookbook/issues/5#issuecomment-51107996
fdafdafdaf

https://github.com/centic9/jgit-cookbook/issues/5#issuecomment-51084491


Remove time dependency from date

Also upgrades humantime_to_duration to the latest version, it switched from time to chrono. Because touch still depends on time, its humantime_to_duration package version deviates from the workspace version.
Fixes #4932

Thank you I have added the duplicates to skipped bans

@tertsdiepraam I would wait with merging this PR until there is a new version of humantime_to_duration that fixes the issues shown by cargo deny.

@cakebaker Is it humantime's fault? I though the problem was just that we now have two versions of humantime (temporarily).

@tertsdiepraam yes, humantime introduces some unnecessary dependencies, among them a "bad" version of time with a security vulnerability (see https://github.com/uutils/coreutils/actions/runs/5177082517/jobs/9326736548?pr=4936). It's fixed in the humantime repo and there shouldn't be any changes needed to deny.toml.

humantime 0.3.0 introduces some unnecessary dependencies, among them a "bad" version of time with a security vulnerability

It is actually chrono that still depends on time, it looks like they are working on removing it
https://github.com/chronotope/chrono/issues/1073

I'm sorry, I see this is fixable by removing the old-time feature from chrono.
Which has also been done in humantime https://github.com/uutils/humantime_to_duration/pull/14

Excellent! We'll wait a bit for the next release then. Thanks @cakebaker!

I pushed a new reelease of this crate (0.3.1)

Fuzzing failed because of -d1111111111111111m-m:

INFO: Loaded 1 modules   (348311 inline 8-bit counters): 348311 [0x55c67e42f9e0, 0x55c67e484a77),
INFO: Loaded 1 PC tables (348311 PCs): 348311 [0x55c67e484a78,0x55c67e9d53e8),
target/x86_64-unknown-linux-gnu/release/fuzz_date: Running 1 inputs 1 time(s) each.
Running: artifacts/fuzz_date/minimized-from-e8f0af57f8497535ea1d2aaee3e99d8798145651
thread '<unnamed>' panicked at 'Duration::seconds out of bounds', /home/sylvestre/.cargo/registry/src/index.crates.io-6f17d22bba15001f/chrono-0.4.26/src/oldtime.rs:121:13
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
==2970437== ERROR: libFuzzer: deadly signal
    #0 0x55c67ceec581 in __sanitizer_print_stack_trace /rustc/llvm/src/llvm-project/compiler-rt/lib/asan/asan_stack.cpp:87:3
    #1 0x55c67df3423a in fuzzer::PrintStackTrace() (/home/sylvestre/dev/debian/coreutils/fuzz/target/x86_64-unknown-linux-gnu/release/fuzz_date+0x1a5d23a) (BuildId: 167227b0a3d3b402545f11d986e00e206ea74582)
    #2 0x55c67df1b835 in fuzzer::Fuzzer::CrashCallback() (/home/sylvestre/dev/debian/coreutils/fuzz/target/x86_64-unknown-linux-gnu/release/fuzz_date+0x1a44835) (BuildId: 167227b0a3d3b402545f11d986e00e206ea74582)
    #3 0x7f4fedb2bf8f  (/lib/x86_64-linux-gnu/libc.so.6+0x3bf8f) (BuildId: 0401bd8da6edab3e45399d62571357ab12545133)
    #4 0x7f4fedb7accb  (/lib/x86_64-linux-gnu/libc.so.6+0x8accb) (BuildId: 0401bd8da6edab3e45399d62571357ab12545133)
    #5 0x7f4fedb2bef1 in raise (/lib/x86_64-linux-gnu/libc.so.6+0x3bef1) (BuildId: 0401bd8da6edab3e45399d62571357ab12545133)
    #6 0x7f4fedb16471 in abort (/lib/x86_64-linux-gnu/libc.so.6+0x26471) (BuildId: 0401bd8da6edab3e45399d62571357ab12545133)
    #7 0x55c67df86216 in std::sys::unix::abort_internal::h7bb3497fe3ded23f /rustc/0c61c7a978fe9f7b77a1d667c77d2202dadd1c10/library/std/src/sys/unix/mod.rs:350:14
    #8 0x55c67ce46836 in std::process::abort::h1fe2a5b3a1eea0b9 /rustc/0c61c7a978fe9f7b77a1d667c77d2202dadd1c10/library/std/src/process.rs:2138:5
    #9 0x55c67def0b14 in libfuzzer_sys::initialize::_$u7b$$u7b$closure$u7d$$u7d$::hc7f98b2e7c51d196 (/home/sylvestre/dev/debian/coreutils/fuzz/target/x86_64-unknown-linux-gnu/release/fuzz_date+0x1a19b14) (BuildId: 167227b0a3d3b402545f11d986e00e206ea74582)
    #10 0x55c67df7ab33 in _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..Fn$LT$Args$GT$$GT$::call::ha85a7263ce5c1565 /rustc/0c61c7a978fe9f7b77a1d667c77d2202dadd1c10/library/alloc/src/boxed.rs:2002:9
    #11 0x55c67df7ab33 in std::panicking::rust_panic_with_hook::hfd9594253b2174d9 /rustc/0c61c7a978fe9f7b77a1d667c77d2202dadd1c10/library/std/src/panicking.rs:696:13
    #12 0x55c67df7a861 in std::panicking::begin_panic_handler::_$u7b$$u7b$closure$u7d$$u7d$::h0cbfa1758f851517 /rustc/0c61c7a978fe9f7b77a1d667c77d2202dadd1c10/library/std/src/panicking.rs:581:13
    #13 0x55c67df77d95 in std::sys_common::backtrace::__rust_end_short_backtrace::ha6a4a6b805e2aab8 /rustc/0c61c7a978fe9f7b77a1d667c77d2202dadd1c10/library/std/src/sys_common/backtrace.rs:150:18
    #14 0x55c67df7a601 in rust_begin_unwind /rustc/0c61c7a978fe9f7b77a1d667c77d2202dadd1c10/library/std/src/panicking.rs:579:5
    #15 0x55c67ce4a1a2 in core::panicking::panic_fmt::h46ad3c1c4689a685 /rustc/0c61c7a978fe9f7b77a1d667c77d2202dadd1c10/library/core/src/panicking.rs:67:14
    #16 0x55c67cfc11bd in chrono::oldtime::Duration::minutes::h9e9cbb2f12345236 (/home/sylvestre/dev/debian/coreutils/fuzz/target/x86_64-unknown-linux-gnu/release/fuzz_date+0xaea1bd) (BuildId: 167227b0a3d3b402545f11d986e00e206ea74582)
    #17 0x55c67cfca48e in humantime_to_duration::from_str_at_date::h00d92ac683b6c7ee (/home/sylvestre/dev/debian/coreutils/fuzz/target/x86_64-unknown-linux-gnu/release/fuzz_date+0xaf348e) (BuildId: 167227b0a3d3b402545f11d986e00e206ea74582)
    #18 0x55c67cfc8f30 in humantime_to_duration::from_str::h3d7abccfaf481076 (/home/sylvestre/dev/debian/coreutils/fuzz/target/x86_64-unknown-linux-gnu/release/fuzz_date+0xaf1f30) (BuildId: 167227b0a3d3b402545f11d986e00e206ea74582)

landing as it is from humantime_to_duration

opened here:
https://github.com/uutils/humantime_to_duration/issues/18

Thank you sylvestre


Microsoft.Extensions.CodeGenerators.Mvc package

With the new .NET CLI tools we should not be needing this package anymore.
https://github.com/aspnet/Templates/blob/dev/src/Rules/StarterWeb/IndividualAuth/project.json#L29
Look at how razor-tools are registered. EF will be doing the same. We should ensure that Scaffolding does this too.
This is required for RC2

@prafullbhosale @sayedihashimi can you please triage this for RC2

Is there a tfs bug for this?

Not sure. Please open one if there isn't

TFS Bug#232591

Closing this.
Currently we have a Microsoft.VisualStudio.Web.CodeGeneration.Design package in the templates that is needed for scaffolding.


[webview_flutter]After some interaction with the Webview, the UI freezes and does not respond to gestures.

I load the superMap https://iclient.supermap.io/examples/leaflet/editor.html#01_tiledMapLayer4326 from the WebView in my project, and there are several buttons on the superMap, and after clicking the buttons, the WebView stops responding.
It works fine on Android, but only on iOS.
version: webview_flutter: 3.0.1
Steps:

Initial loading, Maps can be zoomed and dragged properly.
Click the hidden button once, and the map does not respond properly
Click the Hidden button again, the map freezes and does not respond

This is the video:
https://user-images.githubusercontent.com/33481024/158343344-952b34db-de88-422f-b35c-efa6c5835ab0.MP4
This is demo:
return Stack(
          children: [
            WebView(
              initialUrl:
                  'https://iclient.supermap.io/examples/leaflet/editor.html#01_tiledMapLayer4326',
              javascriptMode: JavascriptMode.unrestricted,
              zoomEnabled: false,
              debuggingEnabled: true,
              onWebViewCreated: (WebViewController webViewController) {
                _controller.complete(webViewController);
              },
              onProgress: (int progress) {
                print('WebView is loading (progress : $progress%)');
              },
              onPageStarted: (String url) {
                print('Page started loading: $url');
              },
              onPageFinished: (String url) {
                print('Page finished loading: $url');
              },
              onWebResourceError: (error) {
                print('main.dart:132 --> ${error}');
              },
            ),
            Positioned(
              left: 20,
              bottom: 150,
              child: ElevatedButton(
                onPressed: () {
                  print('main.dart:193 --> ${'_resetButton'}');
                },
                child: Text('hidden'),
              ),
            ),
          ],
        );

and this is the output of flutter doctor -v:
[✓] Flutter (Channel stable, 2.8.1, on macOS 12.2 21D49 darwin-x64, locale zh-Hans-CN)
    • Flutter version 2.8.1 at /Users/lixiaokang/fvm/versions/2.8.1
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 77d935af4d (3 months ago), 2021-12-16 08:37:33 -0800
    • Engine revision 890a5fca2e
    • Dart version 2.15.1
    • Pub download mirror https://pub.flutter-io.cn
    • Flutter download mirror https://storage.flutter-io.cn

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0-rc1)
    • Android SDK at /Users/lixiaokang/Library/Android/sdk
    • Platform android-31, build-tools 33.0.0-rc1
    • ANDROID_HOME = /Users/lixiaokang/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.11+0-b60-7590822)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.2.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • CocoaPods version 1.10.2

[✓] Android Studio (version 2021.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.11+0-b60-7590822)

[✓] IntelliJ IDEA Ultimate Edition (version 2019.2.4)
    • IntelliJ at /Applications/IntelliJ IDEA.app
    • Flutter plugin version 44.0.2
    • Dart plugin version 192.7761

[✓] VS Code (version 1.65.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.36.0

[✓] Connected device (1 available)
    • 金控测试机的iPhone (mobile) • 91876efbaedb7d4c33fa71c764a778d34aa4dfae • ios • iOS 15.3.1 19D52

• No issues found!

Hi @windyfat, Thanks for filing the issue. Please share a minimal and complete reproducible code sample along with the
output of flutter doctor -v.

嗨@windyfat您提出的问题请分享一个最细微且完整的。可提供代码示例 以及flutter doctor -v。

I've added the demo and the output, thanks

Hi @windyfat, Thanks for filing the issue. Please share a minimal and complete reproducible code sample along with the output of flutter doctor -v.

I've added the demo and the output, thanks

@windyfat, I verified by running the below code sample on stable and the master channel and I was able to reproduce the issue on IOS and it works fine on Android. Webview freezes on pressing the button It looks like the tap gesture on the button is never released. So any kind of gesture on the map is locked and as a result, the UI appears to be frozen.
The Other part of the website is still interactable with taps. I tried to reproduce this by loading https://maps.google.com but it was not reproducible.
https://user-images.githubusercontent.com/31410839/158548243-d49173bd-c438-455f-abb0-cfd12fb34313.mov

code sample
import 'dart:async';

import 'package:flutter/material.dart';
import 'package:webview_flutter/webview_flutter.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return const MaterialApp(
      title: 'Flutter Demo',
      home: HomePage(),
    );
  }
}

class HomePage extends StatefulWidget {
  const HomePage({Key? key}) : super(key: key);

  @override
  _HomePageState createState() => _HomePageState();
}

class _HomePageState extends State<HomePage> {
  Completer? _controller = Completer();
  @override
  Widget build(BuildContext context) {
    return Scaffold(
        body: Stack(
      children: [
        WebView(
          initialUrl:
              'https://iclient.supermap.io/examples/leaflet/editor.html#01_tiledMapLayer4326',
          javascriptMode: JavascriptMode.unrestricted,
          zoomEnabled: false,
          debuggingEnabled: true,
          onWebViewCreated: (WebViewController webViewController) {
            _controller!.complete(webViewController);
          },
          onProgress: (int progress) {
            print('WebView is loading (progress : $progress%)');
          },
          onPageStarted: (String url) {
            print('Page started loading: $url');
          },
          onPageFinished: (String url) {
            print('Page finished loading: $url');
          },
          onWebResourceError: (error) {
            print('main.dart:132 --> ${error}');
          },
        ),
        Positioned(
          left: 20,
          bottom: 150,
          child: ElevatedButton(
            onPressed: () {
              print('Does nothing}');
            },
            child: Text('hidden'),
          ),
        ),
      ],
    ));
  }
}

flutter doctor -v (mac)
[✓] Flutter (Channel stable, 2.10.3, on macOS 12.1 21C52 darwin-arm, locale en-GB)
    • Flutter version 2.10.3 at /Users/mahesh/Documents/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 7e9793dee1 (20 hours ago), 2022-03-02 11:23:12 -0600
    • Engine revision bd539267b4
    • Dart version 2.16.1
    • DevTools version 2.9.2

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/mahesh/Library/Android/sdk
    • Platform android-31, build-tools 31.0.0
    • ANDROID_HOME = /Users/mahesh/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.2.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • CocoaPods version 1.10.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)

[✓] IntelliJ IDEA Community Edition (version 2021.2.1)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 61.2.4
    • Dart plugin version 212.5080.8

[✓] VS Code (version 1.63.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.36.0

[✓] Connected device (3 available)
    • Redmi K20 Pro (mobile) • <IP_ADDRESS>:5555 • android-arm64  • Android 11 (API 30)
    • macOS (desktop)        • macos            • darwin-arm64   • macOS 12.1 21C52 darwin-arm
    • Chrome (web)           • chrome           • web-javascript • Google Chrome 99.0.4844.51

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

[✓] Flutter (Channel master, 2.11.0-0.0.pre.715, on macOS 12.1 21C52 darwin-arm, locale en-GB)
    • Flutter version 2.11.0-0.0.pre.715 at /Users/mahesh/Documents/flutter_master
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 8b95cd6f35 (7 hours ago), 2022-02-28 16:31:12 -0800
    • Engine revision 615a60512c
    • Dart version 2.17.0 (build 2.17.0-150.0.dev)
    • DevTools version 2.11.1

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/mahesh/Library/Android/sdk
    • Platform android-31, build-tools 31.0.0
    • ANDROID_HOME = /Users/mahesh/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)
    • All Android licenses accepted.

[!] Xcode - develop for iOS and macOS (Xcode 13.2.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    ! CocoaPods 1.10.2 out of date (1.11.0 is recommended).
        CocoaPods is used to retrieve the iOS and macOS platform side's plugin code that responds to your plugin usage on
        the Dart side.
        Without CocoaPods, plugins will not work on iOS or macOS.
        For more info, see https://flutter.dev/platform-plugins
      To upgrade see https://guides.cocoapods.org/using/getting-started.html#installation for instructions.

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)

[✓] IntelliJ IDEA Community Edition (version 2021.2.1)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 61.2.4
    • Dart plugin version 212.5080.8

[✓] VS Code (version 1.63.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.34.0

[✓] Connected device (4 available)
    • Redmi K20 Pro (mobile) • <IP_ADDRESS>:5555                     • android-arm64  • Android 11 (API 30)
    • iPhone 13 Pro (mobile) • CBEF6BFA-D3DC-4680-8900-E01C62A4B04C • ios            •
      com.apple.CoreSimulator.SimRuntime.iOS-15-2 (simulator)
    • macOS (desktop)        • macos                                • darwin-arm64   • macOS 12.1 21C52 darwin-arm
    • Chrome (web)           • chrome                               • web-javascript • Google Chrome 98.0.4758.109

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.

I don't have this problem with Objective-C loading webViews and buttons.
Is this a bug with weview_flutter?

I have the same problem!!!!!
I found no solution～～～

Same problem

we're having same issue with the e-signature on web view. some users report that the webview got freeze when they try to sign in the signature area

same issue on scrolling on a list with web views

same issue! freezing sometimes

I guess this could solve the issue.
I moved the controller to initState method
https://github.com/flutter/flutter/issues/129601#issuecomment-1610219328

I revisited this using the latest package webview_flutter: ^4.7.0 and the latest Flutter stable version 3.19.2, the issue doesn't occur anymore (checked on iPhone 7, iOS 15.8):

Demo
https://github.com/flutter/flutter/assets/104349824/fc3c929e-17c1-40da-9ca4-fd38b7669dc6

Updated sample code
import 'package:flutter/material.dart';
import 'package:webview_flutter/webview_flutter.dart';

void main() => runApp(const MaterialApp(home: WebViewExample()));

class WebViewExample extends StatefulWidget {
  const WebViewExample({super.key});

  @override
  State<WebViewExample> createState() => _WebViewExampleState();
}

class _WebViewExampleState extends State<WebViewExample> {
  late final WebViewController controller;

  @override
  void initState() {
    super.initState();
    controller = WebViewController()
      ..setJavaScriptMode(JavaScriptMode.unrestricted)
      ..setBackgroundColor(const Color(0x00000000))
      ..setNavigationDelegate(
        NavigationDelegate(
          onProgress: (int progress) {},
          onPageStarted: (String url) {},
          onPageFinished: (String url) {},
          onWebResourceError: (WebResourceError error) {},
        ),
      )
      ..loadRequest(Uri.parse('https://iclient.supermap.io/examples/leaflet/editor.html#01_tiledMapLayer4326'));
  }

  // #docregion webview_widget
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: const Text('Flutter Simple Example')),
      body: Stack(
        children: [
          WebViewWidget(controller: controller),
          Positioned(
            left: 20,
            bottom: 150,
            child: ElevatedButton(
              onPressed: () {
                print('main.dart:193 --> ${'_resetButton'}');
              },
              child: Text('hidden'),
            ),
          ),
        ],
      ),
    );
  }
// #enddocregion webview_widget
}

flutter doctor -v (stable and master)
[✓] Flutter (Channel stable, 3.19.2, on macOS 14.1 23B74 darwin-x64, locale en-VN)
    • Flutter version 3.19.2 on channel stable at /Users/huynq/Documents/GitHub/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision<PHONE_NUMBER> (5 days ago), 2024-02-27 16:51:22 -0500
    • Engine revision 04817c99c9
    • Dart version 3.3.0
    • DevTools version 2.31.1

[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-34, build-tools 34.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.9+0-17.0.9b1087.7-11185874)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 15.2)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 15C500b
    • CocoaPods version 1.15.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2023.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • android-studio-dir = /Applications/Android Studio.app/
    • Java version OpenJDK Runtime Environment (build 17.0.9+0-17.0.9b1087.7-11185874)

[✓] VS Code (version 1.87.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.84.0

[✓] Connected device (3 available)
    • RMX2001 (mobile) • EUYTFEUSQSRGDA6D • android-arm64  • Android 11 (API 30)
    • macOS (desktop)  • macos            • darwin-x64     • macOS 14.1 23B74 darwin-x64
    • Chrome (web)     • chrome           • web-javascript • Google Chrome 122.0.6261.94

[✓] Network resources
    • All expected network resources are available.

• No issues found!

[!] Flutter (Channel master, 3.21.0-1.0.pre.46, on macOS 14.1 23B74 darwin-x64, locale en-VN)
    • Flutter version 3.21.0-1.0.pre.46 on channel master at /Users/huynq/Documents/GitHub/flutter_master
    ! Warning: `flutter` on your path resolves to /Users/huynq/Documents/GitHub/flutter/bin/flutter, which is not inside your current Flutter SDK checkout at /Users/huynq/Documents/GitHub/flutter_master. Consider adding /Users/huynq/Documents/GitHub/flutter_master/bin to the front of your path.
    ! Warning: `dart` on your path resolves to /Users/huynq/Documents/GitHub/flutter/bin/dart, which is not inside your current Flutter SDK checkout at /Users/huynq/Documents/GitHub/flutter_master. Consider adding /Users/huynq/Documents/GitHub/flutter_master/bin to the front of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 95bf597afe (37 minutes ago), 2024-03-06 21:57:25 -0500
    • Engine revision 03ebd6460b
    • Dart version 3.4.0 (build 3.4.0-205.0.dev)
    • DevTools version 2.33.1
    • If those were intentional, you can disregard the above warnings; however it is recommended to use "git" directly to perform update checks and upgrades.

[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-34, build-tools 34.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.9+0-17.0.9b1087.7-11185874)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 15.2)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 15C500b
    • CocoaPods version 1.15.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2023.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • android-studio-dir = /Applications/Android Studio.app/
    • Java version OpenJDK Runtime Environment (build 17.0.9+0-17.0.9b1087.7-11185874)

[✓] VS Code (version 1.87.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.84.0

[✓] Connected device (3 available)
    • RMX2001 (mobile) • EUYTFEUSQSRGDA6D • android-arm64  • Android 11 (API 30)
    • macOS (desktop)  • macos            • darwin-x64     • macOS 14.1 23B74 darwin-x64
    • Chrome (web)     • chrome           • web-javascript • Google Chrome 122.0.6261.112

[✓] Network resources
    • All expected network resources are available.

! Doctor found issues in 1 category.

@windyfat Could you please confirm this on your end?


Feature/chobk 265

Added Status Screen new configs

Checkout Themes
RedirectMode

Added SDK features

SiteID on SDK init (not commented for less visibility)
Locale on Brick

Added Status Screen new configs

Checkout Themes
RedirectMode

Added SDK features

SiteID on SDK init (not commented for less visibility)
Locale on Brick

Status Screen ?

@meliguicarvalho podemos mergear?


Feature-gate rocksdb and sled

Makes the rocksdb and sled dependencies optional based on the new db_rocksdb and db_sled features. In addition, moves criterion from [dependencies] to [dev-dependencies].
This reduces the number of crates built by default from 188 to just 81, greatly speeding up the compilation process.
My editor also trimmed some trailing whitespaces in README.md.

No reason to disagree with your valuable comments and contribution.
Thanks for letting me know what I've been missing.