text:
[Error Handling] Create Error boundary

We need to error boundary to wrap the template components in page level in case the error destroy the whole frontend experience.
If the component throw, we need to display something like "AHH Error sorry ah, maybe you try try refresh"
Reference : https://legacy.reactjs.org/docs/error-boundaries.html
Maybe we can use this library : https://github.com/bvaughn/react-error-boundary or write our own handling

Should we use the error boundary from Nest.js?
Reference: https://nextjs.org/docs/app/building-your-application/routing/error-handling

Should we use the error boundary from Nest.js? Reference: https://nextjs.org/docs/app/building-your-application/routing/error-handling

Yea sure

Please add yourself to the contributor page

Let me work on it

repo: Pjaijai/Referalah


text:
chore: bump deps

Describe your changes

Issue ticket number and link
Type of change 🧩

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation update
[ ] Other (please explain in the description section above)

Checklist before requesting a review

[ ] I have performed a self-review of my own code
[ ] I have double checked this work does not include any hardcoded secrets or passwords
[ ] I have made corresponding changes to the documentation
[ ] I have provided details on how I have tested my code
[ ] I have referenced the ticket number above
[ ] I have provided a description of the ticket
[ ] I have included unit tests to cover any testable code changes

:tada: This PR is included in version 1.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

source: gharchive/pull-request

authors: AnthonyJWalsh radum

repo: Planning-Inspectorate/back-office

license: MIT

license_type: permissive

license_source: github-api


text:
Feature/boas 52 api endpoint to get case officer cases

Describe your changes

endpoint for case officer to get all applications

Issue ticket number and link
Type of change 🧩

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation update
[ ] Other (please explain in the description section above)

Checklist before requesting a review

[ ] I have performed a self-review of my own code
[ ] I have double checked this work does not include any hardcoded secrets or passwords
[ ] I have made corresponding changes to the documentation
[ ] I have provided details on how I have tested my code
[ ] I have referenced the ticket number above
[ ] I have provided a description of the ticket
[ ] I have included unit tests to cover any testable code changes

:tada: This PR is included in version 1.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

authors: AnthonyJWalsh mayya-bond-kc


text:
Button component

PR includes

[x] Feature

Related issues
Resolve #16
QA Instructions, Screenshots, Recordings

/canary

Canary available: @plex-inc/bricks@0.0.0-d648d99

authors: DenisVorop maxim-dolgovmd

repo: Plex-Inc/bricks


text:
Add UsedUtxoFilter module implementation.

[x] Implement cache
[x] Add unit tests
[x] Example usage in QueryM

Do we want to integrate these changes with other parts of QueryM (e.g. utxosAt)? Or do we only want to offer this to users as an optional tool they can use if they want to?

I'm not sure about it that's why I didn't implement it. Although I think we probably should because it is nontrivial to keep the valid state at all times. I.e. in case a transaction was rejected it should unlock its inputs. Also it should not be keeping txouts that are already included in the ledger.

repo: Plutonomicon/cardano-browser-tx


text:
Better documentation for BigNum

It isn't currently specified anywhere what BigNum actually is: a 64-bit integer. We should document this information (and by extension, why this forces some conversions to be partial).

https://github.com/mlabs-haskell/purescript-cardano-types/blob/715d4b2dcf8b29cb45001209ee562f758a513261/src/Cardano/Types/BigNum.purs#L68

source: gharchive/issue

authors: klntsky kozross

repo: Plutonomicon/cardano-transaction-lib


text:
data dowloaded by TCGAbiolinks cannot by processed via maftools

query <- GDCquery(project = "TCGA-LIHC",
data.category = "Simple Nucleotide Variation",
data.type = "Masked Somatic Mutation",
workflow.type = 'VarScan2 Variant Aggregation and Masking',
data.format = 'MAF',
access = "open",
legacy = F)
GDCdownload(query)
maf <- GDCprepare(query, save = TRUE, save.filename = "maf.Rdata")
plotmafSummary(maf = maf, rmOutlier = TRUE, addStat = 'median', dashboard = TRUE)
The above is my code to download the Somatic Mutation data through TCGAbiolinks and to visualize it via maftools. But an error poped up. It said "Error in (function (classes, fdef, mtable)  :  unable to find an inherited method for function ‘getSampleSummary’ for signature ‘"spec_tbl_df"’.

@huatang5 Hi, the maf is not a MAF object, please transform it as MAF object by
library(maftools)
maf <- read.maf(maf)

@huatang5 Hi, the maf is not a MAF object, please transform it as MAF object by
library(maftools)
maf <- read.maf(maf)

@huatang5 Hi, the maf is not a MAF object, please transform it as MAF object by
library(maftools)
maf <- read.maf(maf)

Thank you! It really works for me!

@huatang5 Hi, the maf is not a MAF object, please transform it as MAF object by
library(maftools)
maf <- read.maf(maf)

Thank you! It really works for me!

Thnaks @ShixiangWang

Thnaks @ShixiangWang

authors: PoisonAlien ShixiangWang huatang5

repo: PoisonAlien/maftools


text:
updating pfam domain information for lollipopPlot

Hello,
I am encountering the following error when trying to create lollipopPlots for a small number of genes (SLAIN1, MAP3K21, NBPF19, NPIPB6):
"Error in lollipopPlot(maf = input, gene = "SLAIN1", AACol = "HGVSp", showMutationRate = TRUE, showDomainLabel = FALSE, labelPos = 'all', labPosAngle =0, printCount=TRUE, cBioPortal=FALSE)
Structure for protein SLAIN1 not found"
As far as I can see this is due to the gene HGNC symbol not being present in the "protein_domains.RDs" file (https://github.com/PoisonAlien/maftools/blob/master/inst/extdata/protein_domains.RDs). I had a few questions about this:

Would it be possible to get instructions for how a user could update this protein_domains.RDs file to include pfam domain information for currently missing genes?
Could an option be added to allow pfam domain information to be added "on the fly" in the lollipopPlot command?
Could an option be added in lollipopPlot to not require domain information if it is missing (e.g. just plot mutations not domains, rather than exit with an error message)?

Thanks very much!

Hi,

Yes, you can update the RDs file for your protein info and save it back. It should work.
You can check the RDs for the file format. It has several columns but many of them are not necessary. Below is an example for adding SLAIN1 structure to the database. Structure obtained from cBioPortal

domain_data_src = system.file('extdata', 'protein_domains.RDs', package = 'maftools')
domain_data = readRDS(file = domain_data_src)

# your  SLAIN1 protetin structure (refseq.ID column is not necessary)
slain_motif = data.table::data.table(
  HGNC = "SLAIN1",
  aa.length = 568,
  Start = 187,
  End = 568,
  Label = "SLAIN",
  refseq.ID = "NM_001242868"
)

print(slain_motif)
HGNC aa.length Start End Label    refseq.ID
1: SLAIN1       568   187 568 SLAIN NM_001242868

# Add the protein structure to database
domain_data = data.table::rbindlist(
  l = list(domain_data, slain_motif),
  use.names = TRUE,
  fill = TRUE
)

# save back the database
saveRDS(object = domain_data, file = domain_data_src)

lollipopPlot(maf = your_maf, gene = "SLAN1")

I can add an argument for custom user input. The only reason I had not done it because there is no standard data format. Can you share an example pfam format?
For this at-least protein length should be known.

In any case, you can always open an issue with missing protein structure - I am happy to update the database. (See #255 #616 )

Hello,
Thanks very much for sending these detailed instructions! From these I was able to update pfam domain information for SLAIN1 as well as other transcripts and produce lollipopPlots. In fact as I have been annotating mutations to ensembl canonical transcripts rather than to refseq this provided a good opportunity to check that all domain/protein length annotations were consistent with these canonical ensembl transcripts.
For question 2 am not sure if this would be a standard pfam format but the information specified in your "slain_motif" example should be reasonable to provide (as long as the user is clear that the transcript/domain definitions of course have to be consistent with those in the "AACol" specified in the lollipopPlot)?
Thanks again

Thanks for checking. I will add an additional argument for manual domain specification in upcoming BC release. I am closing the issue for now. Please feel free to comment if needed.

Just wanted to check...has there been any progress on the manual domain specification?

Hi,
I have not included such an option. Meanwhile, if you have a protein structure of interest, let me know, I am happy to include it in the database.

hi, whilst updating the domains manually one by one (save after each one), is there a way of removing an existing domain? Thanks.

authors: PoisonAlien bkinnersley bkohrn for8ver3


text:
[Suggestion] Predefined routes?

It would be nice if there were predefined routes that travel all around the world. Like for example: seaMap, which contains the best places for catching water type pokemon and you visit them with believable time laps. Or you just choose mountainMap, which has the best mountains...
The user just has to choose the type of pokemon he/she wants, and the bot will start "mining" in the perfect places.

I believe it would be a good amount of work and other things should be prioritized over this.
But this would be a very cool feature to be implemented in the future

This tool will convert a google maps route to a GPX file for spoofing location on an iOS device using xcode. A GPX file contains coordinates as well as timestamps for moving along the route.
https://mapstogpx.com/pokemon.php

You don't need exactly a route to do this, all you need are close coordinates of dots, of places, since that bot goes around a certain place, all you need is a list of close spots on the same type of terrain... and the distance/time teleportation issue could be resolved with just adding the right amount of time between two places: 1km = 2 min, 2km = 4 min.

A good feature would be have a option to define 2 points, start point (when bot starts) and finish point and bot goes between this 2 points.

This will be very possible once we get to behavior trees: https://github.com/PokemonGoF/PokemonGo-Bot/issues/142

authors: Teodor-Dobrev TheSavior dmateusp rguedes thomaswelton

repo: PokemonGoF/PokemonGo-Bot


text:
How to Print HTML Table & QR code

Can't able to get Print of HTML Table & QR code.If you have any reference please suggest me.
Thank You:)

@VyankeshH I guess you asked question in wrong project?

@Cierpliwy  Yes,I need help to Print HTML Table & QR code.If you know then please suggest any library.
Thank You : )

Unfortunately I don't know any. Closing as this is not related to this library.

authors: Cierpliwy VyankeshH

repo: Polidea/react-native-ble-plx

license_source: bigquery


text:
can't import external svg lit const

Only done2 works but when printing for chrome they are identical
import {svg} from 'https://unpkg.com/lit-html@latest'

export const done = svg`<g><path fill="none" d="M0 0h24v24H0z"/><path d="M9 16.2L4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4L9 16.2z"/></g>`

      import {svg, html, render} from 'https://unpkg.com/lit-html'

      import {done} from './svg-icon.js'
      console.log(done)

      const done2 = svg`<g><path fill="none" d="M0 0h24v24H0z"/><path d="M9 16.2L4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4L9 16.2z"/></g>`
      console.log(done2)

      class HelloWorld extends HTMLElement {
        constructor() {
          super()
        }
        connectedCallback() {
          const root = this.attachShadow({mode: 'open'});
          render(html`
            WTF
            <svg id="save" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" width="24" height="24" viewBox="0 0 24 24">${done}</svg>
          `, root)

        }
      }
      customElements.define('hello-world', HelloWorld)

I get this when using the import one

My first read of this point to 'https://unpkg.com/lit-html@latest' and 'https://unpkg.com/lit-html' not technically resolving to the same lit-html as your issue. Even though these will likely import the same lit-html version, being the URLs are not exactly the same the ES Module resolution will cause two copies of that same version to be downloaded. Can you check to see if this works with those two URLs matched? Either/or should be fine, but with them even a character off you'll trigger multiple copies.

thx for response, tried removing @latest to make them identical but get same result.

Also when trying this I get to see the correct escape quoted string so don't think it has to do with my module itself
export const done = `<g><path fill="none" d="M0 0h24v24H0z"/><path d="M9 16.2L4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4L9 16.2z"/></g>`

Strings are always escaped. You need to tag the fragment with the svg template tag.
For external HTML/SVG you'll need to use innerHTML yourself on a DOM node that lit-html isn't controlling the contents of, or use the unsafeHTML directive.

Wait, your right! forgot to at ?module had to make sure I used from 'https://unpkg.com/lit-html?module' everywhere or I get does shenanigans. Hmm this wil bite somebody else sooner or later i guess also

I think we can close this...

authors: Westbrook gertcuykens justinfagnani

repo: Polymer/lit-html


text:
[3.x] legacy flags (undefined, noBatch, notifyOrder, warnings) - DO NOT MERGE

Adds legacyUndefined setting, which reverts to Polymer 1.x rules around undefined in multi-property observers & computing functions.
Adds legacyNoBatch setting, which reverts to Polymer 1.x behavior around non-batched accessors; each property is initialized and its effects are run one-by one (should always be used in conjunction with legacyUndefined to avoid running multi-prop observers at startup more than once), and property sets are flushed immediately during downward binding.
Adds legacyNotifyOrder setting, which reverts to Polymer 1.x order for when notifying properties fire change events with respect to other effects.  In Polymer 1.x they fire before observers; in 2.x they fire after all other effect types.
Adds legacyWarnings setting which enables warnings useful when migrating from Polymer 1.x to 2.x, specifically warning when non-declared properties are used in a template, since in 2.x these will not automatically be observed attributes.

We'll avoid merging this for now. These settings are being tested by some users but we're not sure if this should land in master yet.

Given that https://github.com/Polymer/polymer/pull/5644 is ready, does this PR need anything before being merged? "DO NOT MERGE" is in the title and description but I'm not sure if that was mainly because it hadn't been reviewed for breaking changes until recently. Does it need a general review?

authors: bicknellr kevinpschaaf sorvell

repo: Polymer/polymer


text:
Landscape orientation

PickerKit Environment

PickerKit version:
70592c1764b498e24dbb913bc4a279b5ea46b374

macOS version:
10.14.4

Xcode version:
10.2.1

Dependency manager (Carthage, CocoaPods, SPM, Manually):
Manually

What did you do?

I downloaded a zip of the master branch.
I ran the Example app.
I changed orientation from Portrait to Landscape.

What did you expect to happen?
I would expect the color picker to resize itself after an orientation change and make use of the entire screen.
What happened instead?
See the attached screenshot.

Hey,
Unfortunately, at the time being, it does not take into account orientation changes, therefore not supporting landscape mode. If landscape support is required for your needs, I would be more than happy to fix this issue, otherwise I would leave it as it is.
I am deeply sorry for the late reply.

No worries.
I currently only use black/white in my TriangleDraw app, but colors would be nice at some point. For this I experimented with your color picker.

authors: Pondorasti neoneye

repo: Pondorasti/PickerKit


text:
populating qualities for adaptive streaming

Description
Hello,
I am trying to populate the quality list for hls.
I included videojs-contrib-quality-levels plugin and according to the instruction: https://github.com/Pong420/videojs-plus/blob/master/guide/plugins/QualityHls.md
It should populate itself automatically, right? But it's not working for me.
How should i connect the quality levels to the QualityMenuItem's entries
https://github.com/Pong420/videojs-plus/blob/master/guide/SettingMenu.md

I have added an example

If you find a warning plugin videojs-contrib-quality-levels do not exsits in console.
You may using webpack or others bundler, you should register videojs-contrib-quality-levels yourself
import videojs from 'video.js';
import qualityLevels from 'videojs-contrib-quality-levels';
import 'videojs-plus/dist/plugins/quality-hls';

videojs.registerPlugin('qualityLevels', qualityLevels);

or assign videojs to window before including  videojs-contrib-quality-levels
import videojs from 'video.js';
window.videojs = videojs

Another possible reason would be your hls format is not correct

Oh great! Thanks for the example. It's working. I just had to include '../quality-hls/index.js' file.


text:
Update sideloaded instructions

Apparently the deb package had too much junk?
Since theos copies layout/ to root folder

Are we reverting back to how it was before days ago?

Are we reverting back to how it was before days ago?

Yep, but a bit modified to include the bundle folder

authors: PoomSmart nicknitewolf

repo: PoomSmart/YouPiP


text:
Fetch new cbits from upstream

I just copied the newer files from the upstream nearby. Builds without any squeaks on x64 linux and aarch64 darwn.
The clang fixes from #21 are presumably somewhere in there already.

@ninegua ping

repo: PortMidi/PortMidi-haskell


text:
Are there Assembly informations for the .Net Framework?

Hello, I have a question to the library as a whole:
When using a standard console Application, the library works just fine! However, I am unable to install it on a winforms application using the .NET Framework 4.6.2 and upwards. The console is throwing an error, stating that there are no assembly informations for the project. Am I doing something wrong or is there a simple way to fix that?

Is there a reason why they can't use .NET 5/6?

I have push a new package with .netstandard 2.0 support with this package you have support for net 4.6.1
https://docs.microsoft.com/en-us/dotnet/standard/net-standard

The new package is available can you test with it again?

I will do that right away

Works! Thanks!

We would love a star for our project ⭐

authors: Proggopogo tinohager


text:
Standard hash to generate index of contract being snapshotted

Is your feature request related to a problem?
The current selection of the indexes of the pair contracts to snapshot out of the entire list available to the Uniswap V2 data market uses a non-standard hash function that may be unavailable or differ in its output when porting to other languages, frameworks or runtimes.
https://github.com/PowerLoom/snapshotter-lite-v2/blob/da390aad5b7a180183d6a62f68b4c515429562c2/snapshotter/modules/computes/trade_volume.py#L73-L79
Describe the solution you'd like
Use a standard one like keccak256.
Describe alternatives you've considered
NA
Additional context
NA

For reference: one of the open PRs on sequencer-dequeuer suggests the implementation of the index selection with keccak256.

This has been implemented in the specific compute branches of the data markets:
https://github.com/PowerLoom/snapshotter-computes/blob/ebb5bbf66122de45fae10c9ef908102e010a8b24/utils/helpers.py#L45-L51
https://github.com/PowerLoom/snapshotter-computes/blob/bcb435176282df66dcf7c94077491e7596337487/utils/helpers.py#L26-L32


text:
Fix WindowsEventLog: Evaluation of event log differ

Pull Request (PR) description
Fix WindowsEventLog: Evaluation of event log differ
This Pull Request (PR) fixes the following issues
- Fixes #229

Task list

[x] Added an entry under the Unreleased section of the change log in the CHANGELOG.md.
Entry should say what was changed, and how that affects users (if applicable).
[ ] Resource documentation added/updated in README.md in the resource folder.
[ ] Resource parameter descriptions added/updated in schema.mof
and comment-based help.
[ ] Comment-based help added/updated.
[ ] Localization strings added/updated in all localization files as appropriate.
[ ] Examples appropriately added/updated.
[ ] Unit tests added/updated. See DSC Resource Testing Guidelines.
[ ] Integration tests added/updated (where possible). See DSC Resource Testing Guidelines.
[x] New/changed code adheres to DSC Resource Style Guidelines and Best Practices.

This change is

Codecov Report

Merging #277 into dev will decrease coverage by <1%.
The diff coverage is 100%.

@@         Coverage Diff         @@
##            dev   #277   +/-   ##
===================================
- Coverage    88%    88%   -1%
===================================
  Files        14     14
  Lines      1483   1481    -2
===================================
- Hits       1308   1306    -2
  Misses      175    175

Hi @Outek - you might need to rebase your branch as this PR includes a bunch of changes that have already been merged to dev. Although this doesn't have merge conflicts the instructions are still valid: https://github.com/PowerShell/DscResources/blob/master/GettingStartedWithGitHub.md#resolve-merge-conflicts

@Outek - Oh wait - I updated the branch and it corrected it. So all good. Sorry about that.

Hi @Outek - looks like you've got some trailing spaces in the MD: https://ci.appveyor.com/project/PowerShell/computermanagementdsc/builds/27898015?fullLog=true#L1083

Hi @PlagueHO
Is here something wrong with the MR?

authors: Outek PlagueHO codecov-io

repo: PowerShell/ComputerManagementDsc


text:
StyleGuideline.md: Should clarify that UTF-8 does not mean UTF-8 with BOM

In the style guideline we should clarify that 'UTF-8' does not mean 'UTF-8 with BOM'.
Suggestion here: https://github.com/PowerShell/xSQLServer/issues/651

Suggested changes in PR #286.

repo: PowerShell/DscResources

license: mit


text:
psake build script review

TL;DR - skim through and look at the bolded questions/issues.  FYI, I'm in the midst of making changes to build.psake.ps1 so please hold off on making changes to this file.
Currently our build script has the following tasks:
Task PreBuild {
Task PostBuild {
Task PreBuildHelp {
Task PostBuildHelp {
Task PreInstall {
Task PostInstall {
Task PrePublish {
Task PostPublish {
Task default -depends Build
Task Init -requiredVariables PublishDir {
Task Clean -requiredVariables PublishRootDir {
Task Sign -depends PostCopySource -requiredVariables SettingsPath, SignScripts {
Task Build -depends BuildImpl, Sign, PostBuild {
Task BuildImpl -depends Init, Clean, PreBuild -requiredVariables SourceRootDir, PublishDir {
Task GenerateMarkdown -depends Build, PreBuildHelp -requiredVariables DefaultLocale, DocsRootDir, ModuleName, PublishDir {
Task BuildHelp -depends BuildHelpImpl, PostBuildHelp {
Task BuildHelpImpl -depends GenerateMarkdown -requiredVariables DocsRootDir, PublishDir {
Task Install -depends InstallImpl, PostInstall {
Task InstallImpl -depends BuildHelp, PreInstall -requiredVariables InstallPath, PublishDir {
Task Test -depends Build {
Task Publish -depends Test, PrePublish, PublishImpl, PostPublish {
Task PublishImpl -requiredVariables SettingsPath, PublishDir {
Task ? -description 'Lists the available tasks' {
Task RemoveApiKey -requiredVariables SettingsPath {
Task StoreApiKey -requiredVariables SettingsPath {
Task ShowApiKey -requiredVariables SettingsPath {
Task ShowFullApiKey -requiredVariables SettingsPath {
Task RemoveCertSubjectName -requiredVariables SettingsPath {
Task StoreCertSubjectName -requiredVariables SettingsPath {
Task ShowCertSubjectName -requiredVariables SettingsPath {

The default task is Build.  The primary build flow is:
 Init -> Clean -> PreBuild -> BuildImpl -> Sign -> PostBuild

The two simple user extension points are:
# Executes before the BuidImpl phase of the Build task.
Task PreBuild {
}

# Executes after the Sign phase of the Build task.
Task PostBuild {
}

The BuildHelp flow is:
<Build flow> -> PreBuildHelp -> GenerateMarkdown -> BuildHelpImpl -> PostBuildHelp

BTW since we usually refer to docs as "help" in PowerShell, shouldn't these be called GenerateHelp or better yet, GenerateMarkdown and BuildHelp?  GenerateFoo and BuildFoo sound a bit like they would do the same thing, at least to me.  Update: I've temporarily made this change.
The install task flow is:
<BuildHelp flow> -> PreInstall -> InstallImpl -> PostInstall

BTW, I think we need an option (property) on the Install task to allow it to "clean" the destination before copying over the module.  The default should probably be to not clean the destination first.
The test task flow is:
<Build flow> -> test

And the publish flow is:
<Test flow> -> PrePublish -> PublishImpl ->PostPublish

This provides two more empty, task extension points for the user: Pre/PostPublish.
# Executes before publishing occurs.
Task PrePublish {
}

# Executes after publishing occurs.
Task PostPublish {
}

Hmm, forgot that I had used this "impl" pattern before.  I like that and may convert PreCopySource/PostCopySource (never liked those names) to more of PreBuild/PostBuild where these would fit in like so:
 Init -> Clean -> PreBuild ->BuildImpl -> Sign -> PostBuild

In fact, I might do the same for Install (Pre/PostInstall).  These are simple to add and give the user easy ways to hook into the build flow without having to drop down and modify the common code.   Update: I've temporarily made this change.
OK this has me thinking (given something @daviwil mentioned a few days ago), we should look into splitting up the build.psake.ps1 file and putting the things the user is going to change in one file and the fixed stuff in another file (perhaps module-build.psake.ps1).
Finally, in testing the build script I found some cases where a newly created module wouldn't build without failures.  When we are creating build steps like the help build for instance, we need to be sure we tolerate conditions like no exported commands.

OK, I've fleshed out more extension points and renamed Pre/PostCopy.  The only one missing that I can think of is Pre/PostTest.  Anybody think we need that?
###############################################################################
# Customize these tasks for performing operations before and/or after Build.
###############################################################################

# Executes before the BuildImpl phase of the Build task.
Task PreBuild {
}

# Executes after the Sign phase of the Build task.
Task PostBuild {
}

###############################################################################
# Customize these tasks for performing operations before and/or after BuildHelp.
###############################################################################

# Executes before the GenerateMarkdown phase of the BuildHelp task.
Task PreBuildHelp {
}

# Executes after the BuildHelpImpl phase of the BuildHelp task.
Task PostBuildHelp {
}

###############################################################################
# Customize these tasks for performing operations before and/or after Install.
###############################################################################

# Executes before the InstallImpl phase of the Install task.
Task PreInstall {
}

# Executes after the InstallImpl phase of the Install task.
Task PostInstall {
}

###############################################################################
# Customize these tasks for performing operations before and/or after Publish.
###############################################################################

# Executes before publishing occurs.
Task PrePublish {
}

# Executes after publishing occurs.
Task PostPublish {
}

Nice!  I like it so far.  Some feedback:

Definitely agree on updated GenerateMarkdown and BuildHelp naming
Agreed on not blowing away the contents of the install folder unless absolutely desired, that could be risky
I don't think Pre/PostTest is needed, but we can add it later if someone comes up with a use case

Nice,

GenerateMarkdown and BuildHelp is much better.
Also agreed on not deleting stuff by default.
Splitting the build.psake.ps1 into plaster and user maintained files is good.
The only thing I can think someone might want a pre/post test step for is to run script analyzer, but it's probably better building in a task to do that anyway.

Good point on PSSA.  You do get the benefit of real-time PSSA in VSCode but yeah, being a configurable/optional part of the build pipeline is a good idea.  That way, you could run the build from the command line and (optionally) have PSSA fail the build if there are rule errors.

After @davegreen has added an Analyze step (using PSScriptAnalyzer), here is the current task list:
Task default -depends Build
Task Init -requiredVariables OutDir {
Task Clean -requiredVariables ReleaseDir {
Task Build -depends BuildImpl, Analyze, Sign, PostBuild {
Task BuildImpl -depends Init, Clean, PreBuild -requiredVariables SrcRootDir, OutDir {
Task Analyze -depends BuildImpl -requiredVariables ScriptAnalysisAction, OutDir {
Task Sign -depends BuildImpl -requiredVariables SettingsPath, SignScripts {
Task GenerateMarkdown -depends Build, PreBuildHelp -requiredVariables DocsRootDir, ModuleName, OutDir {
Task BuildHelp -depends BuildHelpImpl, PostBuildHelp {
Task BuildHelpImpl -depends GenerateMarkdown -requiredVariables DocsRootDir, OutDir {
Task Install -depends InstallImpl, PostInstall {
Task InstallImpl -depends BuildHelp, PreInstall -requiredVariables OutDir {
Task Test -depends Analyze -requiredVariables TestRootDir, ModuleName {
Task Publish -depends Test, PrePublish, PublishImpl, PostPublish {
Task PublishImpl -requiredVariables SettingsPath, OutDir {
Task ? -description 'Lists the available tasks' {
Task RemoveApiKey -requiredVariables SettingsPath {
Task StoreApiKey -requiredVariables SettingsPath {
Task ShowApiKey -requiredVariables SettingsPath {
Task ShowFullApiKey -requiredVariables SettingsPath {
Task RemoveCertSubjectName -requiredVariables SettingsPath {
Task StoreCertSubjectName -requiredVariables SettingsPath {
Task ShowCertSubjectName -requiredVariables SettingsPath {

The default build flow is now:
Init -> Clean -> PreBuild -> BuildImpl -> Analyze -> Sign -> PostBuild

Right now the newly added Analyze task is enabled by default and will fail a build. I'm not sure that should be the default.  Perhaps I'm just used to VS requiring me to enable CodeAnalysis if I want it.
Perhaps the default ScriptAnalysisAction should be Skip or maybe that should be called None?
Also, I think I'd like to allow for script analysis customization via the NewModule template by adding this file to the src dir of a newly created PowerShell module project - ScriptAnalyzerSettings.psd1:
# The PowerShell Script Analyzer will generate a warning
# diagnostic record for this file due to a bug -
# https://github.com/PowerShell/PSScriptAnalyzer/issues/472
@{
    # Only diagnostic records of the specified severity will be generated.
    # Uncomment the following line if you only want Errors and Warnings but
    # not Information diagnostic records.
    #Severity = @('Error','Warning')

    # Analyze **only** the following rules. Use IncludeRules when you want
    # to invoke only a small subset of the defualt rules.
    IncludeRules = @('PSAvoidDefaultValueSwitchParameter',
                     'PSMissingModuleManifestField',
                     'PSReservedCmdletChar',
                     'PSReservedParams',
                     'PSShouldProcess',
                     'PSUseApprovedVerbs',
                     'PSUseDeclaredVarsMoreThanAssigments')

    # Do not analyze the following rules. Use ExcludeRules when you have
    # commented out the IncludeRules settings above and want to include all
    # the default rules except for those you exclude below.
    # Note: if a rule is in both IncludeRules and ExcludeRules, the rule
    # will be excluded.
    #ExcludeRules = @('PSAvoidUsingWriteHost')
}

Then we would add a .vscode\settings.json file if the user has chosen VSCode (or we figure out a way to determine that at runtime e.g. existence of an env var like VSCODE_PID):
{
    //  Use a custom PowerShell Script Analyzer settings file for this workspace.
    //  Relative paths for this setting are always relative to the workspace root dir.
    "powershell.scriptAnalysis.settingsPath": "./PSScriptAnalyzerSettings.psd1"
}
That said, we should only do this *if* we think this setting will be around for a while. I believe there has been talk on PSSA of just adopting a conventional filename then we wouldn't need this setting in vscode-powershell anymore.  Thoughts?  @kapilmb @daviwil

I also like the settings.json idea because I would probably drop this into the workspace settings file as well:
    //-------- Files configuration --------

    // When enabled, will trim trailing whitespace when you save a file.
    "files.trimTrailingWhitespace": true,

This should be a mandatory setting for PowerShell script authoring IMO given the issues with whitespace trailing a line continuation char.

Also, we need to update the NewModule plasterManifest.xml file to indicate if PSScriptAnalyzer is a required module with an appropriate message to the user.  Right now, PSSA appears to be required because if I try to build a newly scaffolded "NewModule" I get an error if I don't have PSSA installed:
The term 'Invoke-ScriptAnalyzer' is not recognized as the name of a cmdlet, function, script file, or operable program.

I think the module probably should not require PSSA and the build script should tolerate not having the module.  Simple emit a message about "Skipping Analyze task" if PSSA is not installed (or ScriptAnalyisAction is set None).  Although, if it's the case of PSSA not installed AND they have ScriptAnalysisAction set to something other than None, then we should let the user know that the Analyze task is being skipped because they haven't installed the PSSA module.
In the NewModule manifest then we would probably want to add a <requireModule> directive with the message that without PSScriptAnalyzer module installed, the build system will not perform script analysis during the "Build".   Thoughts?

I didn't think about users not having PSSA at all, I'm not sure why. We can always detect on the module existence and skip based on that. I set the initial default to Error, mostly because I feel like you have to do some potentially quite bad things to get an error severity out of it. There is currently a 'None' setting which essentially gets you a 'report only' output with no fail, so that would probably be the way forward if the module is present.
The ScriptAnalyzerSettings.psd1 is a good idea, as it gives the user an easy route into customization if they need it.
I definitely agree on the settings.json for VSCode, with a default inclusion like that. That setting is nice :).

I set the initial default to Error, mostly because I feel like you have to do some potentially quite bad things to get an error severity out of it.

RE None vs Skip - any chance we can rename that. I know coming from the VS space, I would consider "None" to be what you currently mean by "Skip". Perhaps the current None behavior could be renamed to "ReportOnly" (can't think of a better name ATM)?
Good point.  I could go either way on "enabled by default or not".  Let's think about that a bit.  I'm in the process of adding in the ScriptAnalysisSettings.psd1 / settings.json.  Let me submit that PR in a few minutes - have you look it over.  After we merge that in, perhaps you can fix the Analyze task to handle PSSA not being installed.  Also, if you wouldn't mind, update plasterManifest.xml to put in a <requireModule> directive letting them know what they don't get without the module. Same as you did for platyPS.  Thanks man!

Also, the current "editor-based" PSSA ruleset is different (more limited) than the current build script that ships with the NewModule template.  It uses the default ruleset with just one rule disabled: PSMissingModuleManifestField.  That is to prevent a warning on the ScriptAnalyzerSettings.psd1 file.  We don't need this rules as we verify the module's manifest file with a Pester test.
All that said, is this going to be confusing for users of the template within VSCode?

RE None vs Skip, That would make more sense with the altered variable names, with None being ReportOnly and Skip becoming None.
Sure, I can do the Analyze task skip if the module isn't installed and the manifest requiremodule directive.
I'm unsure about how to deal with the differences in PSSA between editor based and running the module. I imagine the goal is to eventually get to parity?

Sounds good. I've merged by PR so you have the floor.  :-)  WRT to the ruleset difference, hopefully @daviwil will weigh in on that.

After using the latest build script I'm beginning to wonder about a couple of things.  First, script analysis is slow. Should we put this in a later build step?  Second, should we be doing anything with New-FileCatalog on system that have this cmdlet installed?  We could be creating a .cat file for a module and if script signing is enabled, Authenticode sign the .cat file.
Also, I find this name $CodeCoverageStop and tristate use unintuitive.  I think we should have a simple "$CodeCoverageEnabled" bool.  I don't think we need to fail a build for lack of code coverage.  I've never seen that out in the real world (well, at least where I work).  :-)  Plus that might be getting a bit too opinionated.  Most IDE/build systems tend to just "report" code coverage.
Similarly for $ScriptAnalysisAction, I'd like to break that tristate up into a $ScriptAnalysisEnabled bool and a $ScriptAnalysisFailBuildOnSeverityLevel  [string] (defaults to Error but could be Warning or Information or None).  There are not many PSSA error rules and the ones that exist should probably break the build if the user has enabled ScriptAnalysis.  The user has several ways to mitigate the build error.  They can add the rules to the list of exclusions in the PSSA settings file or they can suppress the message in the source.  This has the benefit of removing the error from VSCode's problems window.   I also propose we eliminate $SkipScriptAnalysisHost.  PSSA still runs in VSCode because A) the terminal name is ConsoleHost.  Besides, if I have ScriptAnalyis set up to fail my build, I definitely want it to run.  BTW we've been using the general term ScriptAnalysis.  I wonder if we should just called it $ScriptAnalyzer*?
Finally, for consistency I'd like to change the $SignScripts to $ScriptSigningEnabled.
I'll take a whack at the build script bits and submit a PR today so we have some code to look at.

I had other work to do so I went ahead and merged this PR.  If we decide we want the "fail build on lack of code coverage", let me know.  If we do then I would add a new variable called something like $CodeCoverageFailBuildUnderPercentage and default it to 0.  Then folks that want this can up the percentage to whatever they want.
Yeah I know, long variable name but I figure folks won't need to go into the settings very often.  So when they do, we want variable names to be pretty obvious.

OK, that sounds good. I don't use code coverage in the things I write, so I thought if I included the option, it could be used or not, so that's fine. That's probably a better way to control it as well if we were to re-add it.
The script analyzer bits sound great too. the variable format $ScriptAnalyzer* for all of the PSSA settings would be nice, it sets us up for each section to have nice organised variable names for the settings.

I didn't know VS code used ConsoleHost, I obviously didn't dig deep enough there, sorry!

I dithered on the ScriptAnalyzer* names.  I changed all three variables to ScriptAnalyzer* and looked at it and didn't like it.  Mainly for the variable that controls build failure severity level as that isn't a ScriptAnalyzer thing, it is purely a construct of our build script.  OTOH the settings files is definitely ScriptAnalyzer specific file, so I did change that variable to ScriptAnalyzerSettingsPath.  And ScriptAnalyzerEnabled seemed less idea than ScriptAnalysisEnabled.  That said, I could be convinced to go either way as I'm kind of on the fence as it is on this. Naming is hard.  :-)

I didn't know VS code used ConsoleHost

Well the current implementation for the debugger host returns "Visual Studio Code Host" but you rarely the build script under the debugger.  Most of the time, from VSCode, you run build & test tasks via the Task Runner and it is configured to launch PowerShell.exe.  So you get ConsoleHost.

Should we try to tackle versioning at all? Or just leave it up to the user to change the version number if their .psd1 file (and anywhere else it might need updating)?
Should we try to tackle combining individual .ps1 script files into the module's .psm1 file (perhaps as an option)?  Does having separate scripts to dot source from within a .psm1 really impact load time that much?

There is a module called BuildHelpers that is used as a Helper Module for PSDeploy. It has functions to update the psd1 metadata, update functions to export and get/update the next module version etc. I have been using it in my build scripts to update functions to export(my exported functions are in a public folder), Formats to export (in a formats folder), Module version, and things like that. It has really made that very easy with only a few lines of code.
What I am trying to figure out, is how to integrate these sorts of builds into something like AppVeyor that is triggered upon a commit. Since it is triggered at commit, how do you handle all of the steps that are generating markdown, building help, making updates to the psd1, signing, publishing etc that are now out of sync with git and your local build.  This is an issue that I hear people talk about very often. I have had multiple people message me asking about how to handle this problem, and I don't know the answer and have not be able to find anyone that had a clear solution.

@gerane
About:

Since these platforms are typically triggered at commit, how do you handle all of the steps that are generating markdown, building help, making updates to the psd1, signing, publishing

Maybe the issues arise from the fact that some of those steps should not be in the build process. For instance, updating the functions to export is a step taken by the developer. It is a conscious decision when adding the new function. Which means that it should be part of the source code, not the build process. If the building tools like PSake offer a way to automate repetitive tasks, it does not mean they should all end in the automated build.
To me, changing the version number is one of those. You can automate the various steps, tag, change version number, generate release notes. But obviously, you would not like to release each time a build is launched. If you use a git workflow you could rig the build so that a release happens automatically when you commit to a particular branch. However, I cannot see how the build process could automatically increment the version number. This is a decision the release manager has to make: do i increment patch, minor or major ?
Maybe I did not get the question correctly, but it reminded me a lot of a colleague of mine I was helping releasing his module so I thought I would add my 2c.

I agree that a "publish" step shouldn't be part of a "normal" build.

If the building tools like PSake offer a way to automate repetitive tasks, it does not mean they should all end in the automated build.

That's the key.  You can have many build steps that are not part of what you would run as an "automated" Travis/AppVeyor build.  But they are there when you need to run them manually or via a Task Runner like the one in VSCode.
As for updating version numbers, it is actually quite common to update version numbers automatically during a build.  It is just that the major & minor version (and sometimes the patch version) are specified in a config file or build variable somewhere so you still have that control.  The rest of the version number (typically build metadata) gets auto-generated based on that static info.  Checkout GitVersion.

@rkeithhill
Yes your are correct, I was referring to version number changes that occur in case of a release, build numbers should be changed by the build. I did not know GitVersion, I will look into it.Thanks for mentioning it.
About :

Should we try to tackle combining individual .ps1 script files into the module's .psm1 file (perhaps as an option)? Does having separate scripts to dot source from within a .psm1 really impact load time that much?

For small modules it may not matter much, but as soon as things get a bit bigger you need a way to split things up. I contribute to the Netscaler module https://github.com/devblackops/NetScaler where we have more than a hundred functions. It would be completely unmanageable if they were not organised by file. I did not consider the performance impact. That could be an issue but did not see a really noticeable impact for the 135 files we currently have.
In the Netscaler module we use the following loading pattern, because Public and Private functions are separated into distinct directories:
# Load public functions
$publicFunctions = Get-ChildItem -Path "$PSScriptRoot\Public" -Recurse -Include *.ps1 -Exclude *.tests.ps1
foreach ($function in $publicFunctions) {
    . $function.FullName
}

# Load private functions
$privateFunctions = Get-ChildItem -Path "$PSScriptRoot\Private" -Recurse -Include *.ps1 -Exclude *.tests.ps1
foreach ($function in $privateFunctions) {
    . $function.FullName
}

In Forge and in all modules with more than 1 public function that I did during the last months I use the following pattern:
$functions = Get-ChildItem -Path $PSScriptRoot -Recurse -Include *.ps1
$functions | ForEach-Object { . $_.FullName }

In any case, even if the template generates the loading code, it is very easy for the module developer to just remove it if he does not like it.
From my point of view that way of doing things has  two other advantages:

It allows for generating module functions (after the module has already been generated and development is ongoing). That generator can then generate both the function scaffold and the pester test scaffold.
If things are laid out like that, it also allows for the test to load just the code it needs and make things more "atomic". At first I was always loading the full module to run a unit test but it has the disadvantage of forcing a full load of the module and it hides private functions from the tests. Pester can circumvent that but it brings unnecessary complexity to the tests. Usually I use following pattern:

$sut = (Split-Path -Leaf $MyInvocation.MyCommand.Path) -replace '\.Tests\.', '.'
. "$PSScriptRoot\..\MyModule\$sut"

What do you think ?

I run my pester tests on the release folder since that is where the full module resides. The means code, help, formats, and manifest. Since I create pester tests to make sure the help is complete ( is it auto generated vs actually populated, do parameters have help, etc)  but the test task does not generate help.
Shouldn't Build include generating the MAML file from the docs?

Notes on the build :
The build tasks are implicitly linked to the structure of the project, that is not specified.
The order of execution of the tasks is not specified. See
Specify that the template is oriented mono-module.
The Apikey should be linked to the repository not to the template, if I change the key I have to change all projects using the same repository.
If I have a separate file I change it once.
Tasks to improve
CoreStagefiles:
The task creates the destination directory $ModuleOutDir, it is inaccessible in the 'beforeStageFile'
Move :
    New-Item $ModuleOutDir -ItemType Directory -Verbose:$VerbosePreference > $null

to the 'Clean' task :
 Get-ChildItem $OutDir | Remove-Item -Recurse -Force -Verbose:($VerbosePreference -eq 'Continue')
  #NewDirectory is a function to create directory
 NewDirectory -Path $ModuleOutDir -TaskName $psake.context.currentTaskName

CorePublish :
The first declaration seem duplicate :
    $publishParams = @{
        Path        = $ModuleOutDir
        NuGetApiKey = $NuGetApiKey
    }

When I want publish inside a CI (Appveyor) or execute the build inside a Job, the function 'PromptUserForCredentialAndStorePassword' is not appropriate.
Analyze :
The task does not use the external rule modules. See  https://github.com/PowerShell/PSScriptAnalyzer/issues/675
Settings
May be add this variables :
 $ProjectName= 'PROJECTNAME'
 $ProjectUrl= 'https://github.com/USER/Project.git'

Name of the Modules for additionnal custom rule :
    [String[]]$PSSACustomRules=@(
       #GetModulePath return the full path of the module
      GetModulePath -Name OptimizationRules
      GetModulePath -Name ParameterSetRules
    )

ApiKey setting file name :
    # Path to encrypted APIKey file(s).
    $NuGetApiKeyPath = "$env:LOCALAPPDATA\Plaster\SecuredBuildSettings\$PublishRepository-ApiKey.clixml"

Template can targeted many projects
May be change :
   $SettingsPath = "$env:LOCALAPPDATA\Plaster\NewModuleTemplate\SecuredBuildSettings.clixml"

to
   $SettingsPath = "$env:LOCALAPPDATA\Plaster\SecuredBuildSettings\$ProjectName.clixml"

Add BuildConfiguration : 'Release' or 'Debug'
    $BuildConfiguration='Release'

I can deploy a module with trace (DEBUG) or without trace (RELEASE)
bug :
-Verbose:$Verboseprefrence

to
-Verbose:($VerbosePreference -eq 'Continue')

During the execution of the  'Publish" task, I get this Warning :
WARNING: ReleaseNotes is now supported in the module manifest file (.psd1). Update the module manifest file of module
'Template' in 'G:\PS\Template\Release\Template' with the newest ReleaseNotes changes. You can run Update-ModuleManifest
 -ReleaseNotes to update the manifest with ReleaseNotes.

Any idea  (ps v5.1) ?

The note on the export of the apikey in a separate file concerns the case where I want to use two repository,  one for testing (MyGet) and one for the public (PSGallery).

For information, inside a PS Job the $Profile variable do not exist, this statements fail :
 $InstallPath = Join-Path (Split-Path $profile.CurrentUserAllHosts -Parent) `
             "Modules\$ModuleName\$((Test-ModuleManifest -Path $SrcRootDir\$ModuleName.psd1).Version.ToString())"

I get this exception :
~~~ [<<==>>] Exception: Cannot bind argument to parameter 'Path' because it is null.

Test :
test-path variable:Profile
True
start-job {test-path variable:Profile}|Receive-Job -Wait -AutoRemoveJob
False

Same issue under Appveyor, possible workaround :
install:
  - ps: |

          PowerShell.exe -Command {
           Export-Clixml -InputObject $Profile -Path  $env:temp\PSProfile.xml }

build_script:
   - ps: |

         $Profile=Import-Clixml $env:temp\PSProfile.xml
         .\build.ps1 ....

authors: LaurentDardenne davegreen daviwil dbroeglin gerane ngetchell rkeithhill

repo: PowerShell/Plaster


text:
Feature Request

Summary of the new feature/enhancement

Proposed technical implementation details (optional)

koaungminko93@gmail.com

aungminko93750

This looks like spam. If there is an actual issue here, please elaborate and fill out the issue / feature request template.
In the meantime, I'm closing this until there's more information.

repo: PowerShell/PowerShell


text:
Win32 does not display window when executed from PowerShell

Prerequisites

[X] Write a descriptive title.
[X] Make sure you are able to repro it on the latest released version
[X] Search the existing issues.
[X] Refer to the FAQ.
[X] Refer to Differences between Windows PowerShell 5.1 and PowerShell.

Steps to reproduce
I have a simple Win32 application and when executed from PowerShell no window is displayed.

No such issues if executed via debugger, Command Prompt or Windows Explorer.

What's wrong?
Expected behavior
Win32 works

Actual behavior
Win32 does not work

Error details
No response
Environment data
Name                           Value
----                           -----
PSVersion                      7.3.6
PSEdition                      Core
GitCommitId                    7.3.6
OS                             Microsoft Windows 10.0.19045
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
WSManStackVersion              3.0

Visuals
No response

That sounds very unusual. Can you provide minimal code to reproduce the issue?

That sounds very unusual. Can you provide minimal code to reproduce the issue?

RToolBox - Copy.zip
Thank you. Here is a minimal example attached. It requires CMake 3.27, ninja, MSVC  (VS 2022), optionally Visual Studio Code. If used with VSCode, you should probably remove (.vscode, .vs) first.

Do you mean your application attached to current pwsh windows but you expect new windows opened?

Do you mean your application attached to current pwsh window but you expect new window opened?

I don't understand exactly what you mean by " application attached to current pwsh window".
My application is a standard (almost) C++ Win32 application. Which creates a window by:
// Register the window class.
  WNDCLASS wc = {};

  const auto utf8_to_wstring = [](const std::string& str) {
    std::wstring_convert<std::codecvt_utf8<wchar_t>> myconv;
    return myconv.from_bytes(str);
  };

  auto titleStr = utf8_to_wstring(description.title);

  wc.lpfnWndProc = &Window_Implementation::WindowProcedure;
  wc.hInstance = ::GetModuleHandle(nullptr);
  // wc.hIcon = LoadIcon(wc.hInstance, MAKEINTRESOURCE(IDI_APPICON));
  wc.lpszClassName = titleStr.c_str();

  ::RegisterClass(&wc);

  // Create the window.

  hwnd = ::CreateWindowEx(
    0,                   // Optional window styles
    titleStr.c_str(),    // Window class
    titleStr.c_str(),    // Window text
    WS_OVERLAPPEDWINDOW, // Window style

    // Size and position
    CW_USEDEFAULT,
    CW_USEDEFAULT,
    CW_USEDEFAULT,
    CW_USEDEFAULT,

    NULL,         // Parent window
    NULL,         // Menu
    wc.hInstance, // Instance handle
    NULL          // Additional application data
  );

I have tested the following scenarios:

Windows Explorer: double click - the Win32 window is displayed
Command Prompt (cmd.exe) - the Win32 window is displayed
Visual Studio Code with cpptools - default debugger - the Win32 window is displayed

Visual Studio Code with cpptools - CodeLLDB debugger - the Win32 window is NOT displayed (I am not sure if CodeLLDB issue is related)

Visual Studio Code with cpptools - run app (uses Pwsh.exe) - the Win32 window is NOT displayed
Windows Terminal - Command Prompt- run app with ".\MyExcutable.exe" - the Win32 window is displayed
Windows Terminal - PowerShell - run app with ".\MyExcutable.exe" - the Win32 window is NOT displayed

BTW I am using main() instead of WinMain as this code is supposed to be cross-platform. I couldn't test Visual Studio 2022 as my setup requires CMake 3.27 and VS2022 is on 3.26.
This is what I expect to see (Windows Terminal is on the top):

When executing via PowerShell (the main Window of my Application isn't getting displayed):

I compile the application with:
add_executable("SimpleGame")
set_property (TARGET "SimpleGame"
  PROPERTY
    $<$<AND:$<PLATFORM_ID:Windows>,$<CXX_COMPILER_ID:Clang>>:WIN32_EXECUTABLE TRUE>
)

My system  is:

I guess your application is compiled as console application but you need Windows application. It is a flag in exe file. PowerShell check the flag.

@iSazonov So basically if I use this #pragma comment(linker, "/ENTRY:mainCRTStartup to enable my main function to be main() instead of wWinMain(), the app window will not be displayed under certain circumstances, probably because of PowerShell.
Why is that limitation of PowerShell?
I narrowed down this with the default Visual Studio 2022 Windows project by converting it to CMake as I need to use CMake for cross platform compilation, which is the reason I'd like to use main() instead of wWinMain() and avoid #ifdef as much as possible.
This may have been a long standing issue which I notices just now.
WindowsProject1.zip

I believe you should use winmain to avoid problems. Thus pwsh checks win flag of exe file and will redirect output of that exe if it is a console application (no win flag). That's not what you want.
Related https://stackoverflow.com/questions/2753761/how-do-i-tell-cmake-not-to-create-a-console-window

I believe you should use winmain to avoid problems. Thus pwsh checks win flag of exe file and will redirect output of that exe if it is a console application (no win flag). That's not what you want.

@iSazonov First thank you for taking your time to explain!
In the example from my previous post above: I converted the default MSBuild sample project to CMake. It uses /SUBSTYTEM:WINDOWS linker flag and wWinMain(). This setup works as expected in PowerShell and in VS2022 debugger.
Then I ported these changes to my actual project, which I build in VSCode with the cpptools extension (due to needing CMake 3.27 as I use C++ modules). And it doesn't work (yet). It looks like it may be more to it than just /SUBSTYTEM:WINDOWS linker flag and wWinMain().
But there is also a difference between the VS2022 debugger and the VSCode cpptools debugger as in the latter case the debugger fails to start the application with a windows just like when starting it from PowerShell, which makes the situation even more interesting.
Thank you for your time. I'll need to dig deeper and apparently I'll need to abstract the main function like some GUI toolkits do.

@iSazonov
It seems that if I call
  STARTUPINFO si;
  GetStartupInfo(&si);
  nCmdShow = si.wShowWindow;

To fetch the nCmdShow, even though during debugging it appears the same nCmdShow as the value passed to WinMain, the window will not be shown in PowerShell.

@Zingam I know that the debugger can change a behavior of the application in some cases. Perhaps this is one of those cases. You might want to look for a more appropriate forum to learn more. As long as pwsh works correctly in basic scenarios we can't change anything. If you will have more information on how to improve the debugger scenario, then it would be worth posting it here.

@Zingam I know that the debugger can change a behavior of the application in some cases. Perhaps this is one of those cases. You might want to look for a more appropriate forum to learn more. As long as pwsh works correctly in basic scenarios we can't change anything. If you will have more information on how to improve the debugger scenario, then it would be worth posting it here.

For the record. It appears that when executing the program under PowerShell:
 STARTUPINFO si;
 GetStartupInfo(&si);
 nCmdShow = si.wShowWindow;

and
int __clrcall WinMain(
  [in] HINSTANCE hInstance,
  [in] HINSTANCE hPrevInstance,
  [in] LPSTR     lpCmdLine,
  [in] int       nShowCmd
);

Don't return the same value for nCmdShow. I worked around by storing and passing the value returned by WinMain.
BTW. Visual Studio Codes cpptools extension debugger behaves like cmd.exe and the Visual Studio 2022 debugger behaves like pwsh.

I ran into a similar problem, but I've managed to fix it. This may not be a PowerShell issue.
The startup info struct also has a field for startup flags (STARTF_*). I confirmed that when I launched my app from PowerShell, the STARTF_USESHOWWINDOW flag was unset. In that case, the right move is to use SW_NORMAL as the value of nCmdShow.
let nCmdShow = if si.dwFlags & STARTF_USESHOWWINDOW == 1 { si.wShowWindow } else { SW_NORMAL };

authors: LightAndLight Zingam iSazonov mklement0


text:
Add copyright header to .editorconfig and update files

PR Summary

Specify file_header_template in `.editorconfig for easy addition to new files
Update missing/incorrect copyright header in .cs files

PR Context
Follow-up: #12190
PR Checklist

[x] PR has a meaningful title

Use the present tense and imperative mood when describing your changes

[x] Summarized changes
[x] Make sure all .h, .cpp, .cs, .ps1 and .psm1 files have the correct copyright header
[x] This PR is ready to merge and is not Work in Progress.

If the PR is work in progress, please add the prefix WIP: or [ WIP ] to the beginning of the title (the WIP bot will keep its status check at Pending while the prefix is present) and remove the prefix when the PR is ready.

Breaking changes

[x] None
OR
[ ] Experimental feature(s) needed

[ ] Experimental feature name(s):

User-facing changes

[x] Not Applicable
OR
[ ] Documentation needed

[ ] Issue filed:

Testing - New and feature

[x] N/A or can only be tested interactively
OR
[ ] Make sure you've added a new test if existing tests do not effectively test the code changed

Tooling

[x] I have considered the user experience from a tooling perspective and don't believe tooling will be impacted.
OR
[ ] I have considered the user experience from a tooling perspective and enumerated concerns in the summary. This may include:

Impact on PowerShell Editor Services which is used in the PowerShell extension for VSCode (which runs in a different PS Host).
Impact on Completions (both in the console and in editors) - one of PowerShell's most powerful features.
Impact on PSScriptAnalyzer (which provides linting & formatting in the editor extensions).
Impact on EditorSyntax (which provides syntax highlighting with in VSCode, GitHub, and many other editors).

@xtqqczze Please rebase to pass CIs.

authors: iSazonov xtqqczze


text:
Update SSHRemoting demo README.md

Clarified subsystem string due to feedback that the single quote caused confusion on what the path should look like

LGTM.

authors: SteveL-MSFT iSazonov


text:
WebApplicationHandler: Changed localization folder casing

Pull Request (PR) description
Changed localization folder casing from en-us to en-US
This Pull Request (PR) fixes the following issues

Fixes #460

Task list

[ ] Added an entry under the Unreleased section of the change log in the README.md.
Entry should say what was changed, and how that affects users (if applicable).
[ ] Resource documentation added/updated in README.md.
[ ] Resource parameter descriptions added/updated in README.md, schema.mof
and comment-based help.
[ ] Comment-based help added/updated.
[ ] Localization strings added/updated in all localization files as appropriate.
[ ] Examples appropriately added/updated.
[ ] Unit tests added/updated. See DSC Resource Testing Guidelines.
[ ] Integration tests added/updated (where possible). See DSC Resource Testing Guidelines.
[ ] New/changed code adheres to DSC Resource Style Guidelines and Best Practices.

This change is

@nkzlkk Thank you for this! 🙇 Will merge as soon at the CI passes.

Codecov Report

Merging #478 into dev will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##              dev     #478   +/-   ##
=======================================
  Coverage   90.87%   90.87%
=======================================
  Files          17       17
  Lines        2467     2467
=======================================
  Hits         2242     2242
  Misses        225      225

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 4f19e76...346ced9. Read the comment docs.

authors: codecov-io johlju nkzlkk

repo: PowerShell/xWebAdministration


text:
Ошибка после правки таблицы и перезагрузки фичи

Vanessa Automation Single ver. 1.2.032
Ошибка была уже на 1.2.029 а может и раньше.
Допустим есть фича:
#language: en

Feature: test

As Developer
I want to test

Background:

	And I launch TestClient opening script or connect the existing one

Scenario: Test

	* I open document Bank Payment

		And In the command interface I select "Money" "Bank Payments"
		Then "Bank Payments" window is opened

		And I go to line in "List" table
			|'Number'   | 'Amount'        |
			|$$DocNum1$$| '1,234.1201, $' |

И сумма 1,234.1201 не верная. Когда выполнение упадет на строчке с суммой: исправляем сумму, перезагружаем фичу, пытаемся выполнить этот шаг и получаем ошибку:
{ExternalDataProcessor.VanessaAutomationsingle.Form.УправляемаяФорма.Form(5351)}: Object field not found (Кол2)

Видео: https://i.imgur.com/8fPYji2.gifv
Что там за ошибка с File access не знаю, это что-то новое на релизе 1.2.032.
На 1.2.029 такого не было.

Еще одна ошибка при перезагрузке на такой фиче:
#language: en

Feature: test

As Developer
I want to test

Background:

	And I launch TestClient opening script or connect the existing one

Scenario: Test

	* I open document Bank Payment

		And In the command interface I select "Money" "Bank Payments"
		Then "Bank Payments" window is opened

		And I go to line in "List" table
			| 'Transaction Type' |
			| <not present> |

Например у нас падает на <not present>. Меняем на <not presented>, перезагружаем фичу, пытаемся выполнить исправленный шаг и получаем такую ошибку:
Unknown Type: ПараметрИменованный in GetValueToPassToMethod
{ExternalDataProcessor.VanessaAutomationsingle.Form.УправляемаяФорма.Form(16750)}:		ВызватьИсключение ТекстСообщения;
{ExternalDataProcessor.VanessaAutomationsingle.Form.УправляемаяФорма.Form(16956)}:					Значение = ПолучитьЗначениеДляПередачиВМетод(СтруктураПараметра.Значение, СтруктураПараметра.Тип);
{ExternalDataProcessor.VanessaAutomationsingle.Form.УправляемаяФорма.Form(17467)}:	ВыполнитьШагПродолжение(РезультатПрохожденияШага,ОбработкаТеста);
{ExternalDataProcessor.VanessaAutomationsingle.Form.УправляемаяФорма.Form(18186)}:		ВыполнитьШаг();
{ExternalDataProcessor.VanessaAutomationsingle.Form.УправляемаяФорма.Form(19111)}:	ПерейтиКВыполнениюСледующегоШага();
{ExternalDataProcessor.VanessaAutomationsingle.Form.УправляемаяФорма.Form(19052)}:	ВыполнитьСценарийАссинхронноТаймерПродолжение();

Данная ошибка возникает только в том случае если значение <not presented> не взято в кавычки.

@tsukanov-as
Сасибо! Буду смотреть.

Закрываю как неактуальную. Переоткройте если проблема воспроизводится.

authors: Pr-Mex tsukanov-as

repo: Pr-Mex/vanessa-automation


text:
Design a proper logo for the website

We currently lack a proper logo for our website, which is essential for branding and visual identity. This issue is created to request the design and implementation of a unique and suitable logo.
Current logo

Background:
A well-designed logo is a crucial element for our website's visual identity. It helps in brand recognition, creating a strong first impression, and conveying the essence of our website's content or purpose.
Design Requirements:

Simplicity: The logo should be simple and easy to recognize. It should not be overly complex or cluttered.
Relevance: The design should reflect the theme or purpose of our website.
Memorability: A memorable logo is one that sticks in the minds of users. It should be distinctive.
Scalability: The logo should look good at various sizes, from small icons to larger banners.

Hey I would like to work on this issue!

Hey @VibhorGits, you can start working on this issue. If it's possible, please aim to create a pull request (PR) within the next 2 days.

@Prajwal0225 Cool! I will start working on it now.


text:
css styling of hacktober section

hi there,
i wanted to update the css styling of the hacktober section like in the issue i raised #226, #225 but the merge pull request wasn't successful, so i'm trying it again. #249 is a closed pull request, before I realised the branch I was working on was really behind and tried merging my main branch with the current version and adjust some changes, to keep everything that was already there. Not sure if it's the correct way of doing and apologies if it causes any issues!
This is what it looks like on my local machine:

This issue has already been resolved,
Please, try to find a new issue to work on.


text:
Jenkins evaluates some used files as unused.

The job keeps failing due to unused files. Some of those files are referenced through CSS (for example on-symbol.png) and some of the pictures are generated from the liquid code snippets (first one in the first picture). They are being used but Jenkins evaluates them as unused and reports a failure.

This issue is related to the analyzer.rb script running in https://jenkins.praqma.cloud/view/Website_Jobs/job/Web_www.code-conf.com-resource-analysis/
Also referenced in this slack thread: https://praqma.slack.com/archives/C6M0RMK9U/p1516482048000036
Issue is that in the scan for unused images, only .md and .html files are scanned - However it is clear that .css files need to be scanned as well.
Including .css files in the scan currently leaves this list of 7 unused images:
images/includes/newsletter-close-btn.png
images/audience_auditorium.jpg
images/codeconf_jc_nw3.png
images/pages/speakers/speakers_filter.png
images/pages/academy2018/graduates.jpg
images/pages/index/get-involved-4.jpg
images/pages/code-alliance/alliance-seven2.jpg

Related to #18. Check a better way to tag so as to increment the image version that will be automatically build by Docker Hub.

authors: anetacamo mortench3000 sheeeng

repo: Praqma/jekyll


text:
Post and Get Request is working for Sales DATA

Post and Get Request is working for Sales DATA
@CodiumAI-Agent /review

PR Reviewer Guide 🔍
Here are some key observations to aid the review process:

⏱ Estimated effort to review: 3 🔵🔵🔵⚪⚪
🧪 No relevant tests
🔒 Security concerns
Sensitive information exposure: The authenticate middleware logs the decoded token, which could expose sensitive user information. This should be removed or masked to avoid potential security risks.
⚡ Recommended focus areas for review
Input ValidationThe addSale function validates the products array and checks stock levels, but it does not validate other fields like customerName or grandTotal. Ensure all inputs are properly validated to prevent invalid data from being stored.
Error HandlingThe error handling in addSale and getSales functions logs errors to the console but does not provide detailed feedback to the client. Consider improving error messages for better debugging and user experience.
Token VerificationThe authenticate middleware logs sensitive information like the decoded token to the console. This could expose sensitive data in production environments. Remove or mask sensitive logs.
Schema DesignThe products array in the salesSchema includes fields like stock which might not be necessary for a sales record. Consider whether this field is redundant and if it should be removed or handled differently.

repo: PrasanthYT/GSTSync


text:
Connected to MongoDB

@CodiumAI-Agent /review

PR Reviewer Guide 🔍

⏱ Estimated effort to review: 2 🔵🔵⚪⚪⚪
🧪 No relevant tests
🔒 No security concerns identified
⚡ Key issues to review
Hardcoded ExitThe use of process.exit(1) on line 12 can lead to abrupt application termination which might not allow for graceful shutdown processes such as logging or closing database connections.
Default Port ExposureProviding a default port (5000) directly in the code (line 15) might expose the server to predictable network attacks if used in production environments.


text:
Adding The Contributors Page

Well detailed description of the change :

 I worked on the contributor page which lists all the contributors and a bit of info.

Context of the change :

 - Why is this change required ?
 - To view all contributors.

Does it solve a problem ? (please link the issue)

Type of change :

[ ] Bug fix

[x] New feature

[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Preview (Screenshots) :

If it is possible, please link screenshots of your changes preview !

Checklist:

[x] I have read the CONTRIBUTING document.
[x] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[x] All new and existing tests passed.

Reviewers
@PraveenMalethia

@PraveenMalethia let me know if any change is required. Also I think the components look better without border in dark mode, what do you think. I think the url i call is wrong because I dont get all contributors. Can you check that?

@srikarkandula will check !

@srikarkandula  Yes without border is better !

authors: PraveenMalethia srikarkandula

repo: PraveenMalethia/mumble-vue


text:
Chore: Removed mapping shortcuts

Removes mapCamelToSnakeCase and mapSnakeToCamelCase in favor of explicit mapping of each property.
We have found situations where using this shortcut causes errors
Will follow-up nebula-ui which has 9 files that use these utilities

Looks like this PR has changes from another branch.
Also, probably want to give everyone a heads up that you're removing these. Just so everyone's aware and does go and try to use them and wonder.

@pleek91 good catch, that was to try and save the empirical policy in the deployment profile but that can be cherry-picked into the branch that was previously the parent to this one. Should be fixed

repo: PrefectHQ/orion-design


text:
Release 3.2.0

Questions
Answers

Description?
Release 3.2.0

Type?

BC breaks?

Deprecations?

Fixed ticket?

Sponsor company

How to test?

@florine2623 Hello Florine, maybe just a quick glance when you just tested it in https://github.com/PrestaShop/ps_imageslider/pull/96 ? :-)


text:
[Tracking issue] Token types guarantee

This is a tracking issue for the second half of #2849!
Long long list of languages ahead:

[ ] abap
[ ] abnf
[ ] actionscript
[x] ada (#3381)
[x] agda
[x] al
[ ] antlr4
[ ] apacheconf
[x] apex
[x] apl
[x] applescript (#3182)
[x] aql (#3183)
[x] arduino
[x] arff
[ ] asciidoc
[x] asm6502 (#3184)
[x] asmatmel
[ ] aspnet
[ ] autohotkey
[x] autoit
[x] avisynth
[x] avro-idl (#3185)
[ ] bash
[x] basic
[x] batch
[x] bbcode
[x] bicep
[x] birb
[ ] bison
[ ] bnf
[x] brainfuck
[x] brightscript
[x] bro (#3186)
[ ] bsl
[x] c (#3207)
[ ] cfscript
[x] chaiscript
[ ] cil
[x] clike
[x] clojure (#3188)
[ ] cmake
[x] cobol
[x] coffeescript
[x] concurnas (#3189)
[ ] coq
[x] cpp
[x] crystal (#3194)
[x] csharp (#3270)
[ ] cshtml
[x] csp (#3276)
[x] css
[x] css-extras
[x] csv
[x] cypher (#3195)
[x] d (#3196)
[x] dart (#3197)
[x] dataweave
[ ] dax
[ ] dhall
[x] diff
[ ] django
[ ] dns-zone-file
[x] docker
[x] dot
[ ] ebnf
[x] editorconfig (#3272, #3305)
[x] eiffel (#3198)
[x] ejs
[ ] elixir
[x] elm
[x] erb
[ ] erlang
[x] etlua
[ ] excel-formula
[ ] factor
[x] false
[x] firestore-security-rules
[ ] flow
[x] fortran
[ ] fsharp
[ ] ftl
[x] gap
[x] gcode (#3205)
[x] gdscript
[ ] gedcom
[ ] gherkin
[ ] git
[x] glsl
[x] gml
[x] gn
[x] go (#3208)
[x] graphql
[ ] groovy
[x] haml (#3210)
[ ] handlebars
[ ] haskell
[x] haxe (#3211)
[ ] hcl
[x] hlsl
[x] hoon
[x] hpkp (#3278)
[x] hsts (#3277)
[x] http
[x] ichigojam
[x] icon
[x] icu-message-format
[x] idris
[x] iecst (#3213)
[x] ignore
[ ] inform7
[x] ini (#3304)
[x] io
[x] j
[x] java (#3217)
[x] javadoc
[x] javadoclike
[x] javascript
[x] javastacktrace
[x] jexl
[x] jolie (#3221)
[x] jq
[x] js-extras
[x] js-templates
[x] jsdoc
[x] json
[x] json5
[x] jsonp
[x] jsstacktrace
[x] jsx
[x] julia (#3223)
[x] keepalived
[x] keyman (#3224)
[x] kotlin (#3225)
[x] kumir
[x] kusto
[ ] latex
[x] latte (#3226)
[x] less
[x] lilypond
[x] liquid
[ ] lisp
[x] livescript
[x] llvm
[ ] log
[x] lolcode
[x] lua
[x] magma
[x] makefile (#3227)
[ ] markdown
[x] markup
[x] markup-templating
[x] matlab
[x] maxscript
[ ] mel
[x] mermaid
[ ] mizar
[ ] mongodb
[x] monkey (#3228)
[x] moonscript
[x] n1ql
[x] n4js
[x] nand2tetris-hdl
[ ] naniscript
[ ] nasm
[ ] neon
[x] nevod
[x] nginx
[x] nim (#3231)
[x] nix (#3232)
[x] nsis
[x] objectivec (#3235)
[ ] ocaml (#3269)
[x] opencl
[x] openqasm
[x] oz (#3240)
[x] parigp
[ ] parser
[ ] pascal
[ ] pascaligo
[x] pcaxis
[x] peoplecode
[x] perl
[ ] php
[x] php-extras
[x] phpdoc
[x] plsql
[x] powerquery (#3244)
[x] powershell
[x] processing (#3246)
[x] prolog (#3247)
[ ] promql
[x] properties (#3377)
[x] protobuf
[x] psl (#3248)
[ ] pug
[ ] puppet
[ ] pure
[ ] purebasic
[x] purescript
[x] python
[x] q
[x] qml
[x] qore
[x] qsharp
[x] r
[x] racket
[x] reason (#3251)
[x] regex
[x] rego
[x] renpy
[ ] rest
[x] rip (#3252)
[ ] roboconf
[x] robotframework
[x] ruby
[x] rust (#3253)
[ ] sas
[ ] sass
[x] scala
[x] scheme (#3254)
[ ] scss
[x] shell-session
[x] smali
[x] smalltalk (#3255)
[x] smarty (#3268)
[x] sml
[x] solidity
[x] solution-file
[ ] soy
[x] sparql
[x] splunk-spl
[x] sqf
[x] sql
[x] squirrel (#3256)
[x] stan
[ ] stylus
[x] swift
[x] systemd (#3306)
[x] t4-cs
[x] t4-templating
[x] t4-vb
[x] tap
[x] tcl
[ ] textile
[ ] toml
[x] tremor (#3257)
[x] tsx
[ ] tt2
[x] turtle
[x] twig (#3259)
[x] typescript
[ ] typoscript
[x] unrealscript
[x] uri
[x] v (#3260)
[x] vala
[x] vbnet
[ ] velocity
[x] verilog (#3261)
[ ] vhdl
[x] vim
[x] visual-basic
[x] warpscript
[x] wasm
[x] web-idl
[ ] wiki
[x] wolfram
[x] wren
[ ] xeora
[x] xml-doc
[x] xojo (#3263)
[x] xquery
[ ] yaml
[x] yang
[x] zig (#3264)

I'm looking at systemd right now, and I'm noticing some inconsistencies between systemd, INI, and editorconfig.
These three file types generally have key = value. INI and editorconfig considers the = to be punctuation, while systemd considers it an operator. I'm not sure what = should be for all three languages, what do you think?
These three file types also have [SectionName], but the tokens are a little different:
https://github.com/PrismJS/prism/blob/441a14221fca2f2d081e1f44e8cfd0e40bfddb7c/components/prism-editorconfig.js#L4-L13
https://github.com/PrismJS/prism/blob/441a14221fca2f2d081e1f44e8cfd0e40bfddb7c/components/prism-ini.js#L13-L24
https://github.com/PrismJS/prism/blob/441a14221fca2f2d081e1f44e8cfd0e40bfddb7c/components/prism-systemd.js#L15-L25
Officially, editorconfig calls them Section Headers, INI calls them stanza names, and systemd calls them sections. Regardless of the main token name, they do not have consistent aliases. I'm not very sure what to do here!
This is what I'm thinking:

Give all of them their official names (including the [ and ]).
Alias them to either selector (what INI and systemd use) or keyword (what editorconfig uses), though retaining the existing patterns (so this alias applies only to the SectionName part for INI and systemd, while it applies to the whole [SectionName] for editorconfig).

I'm not sure what = should be for all three languages

Hard to say. Syntactically speaking, = is just a separator token, so punctuation. However, highlighting it as an operator would probably look better in some themes, so I can understand why someone would use operator.
Honestly, I think both operator and punctuation are acceptable here. Just go with which you like best. ¯\_(ツ)_/¯

Officially, editorconfig calls them Section Headers, INI calls them stanza names, and systemd calls them sections.

That depends on who you ask. To my knowledge, there is no official spec for INI, so I don't think we have to worry about names here.

Give all of them their official names (including the [ and ]).

Hmmm. Since the headers and sections all have the same function, I would favor giving them the same name. I would call of all of them "section".
These languages aren't so complex or popular that we have to offer very granular token names, so I think it's ok to go for more generic names.

Alias them to either selector (what INI and systemd use) or keyword (what editorconfig uses), though retaining the existing patterns (so this alias applies only to the SectionName part for INI and systemd, while it applies to the whole [SectionName] for editorconfig).

Good idea.

I'm looking at AutoIt right now (docs), and I'm not very sure about this one:
https://github.com/PrismJS/prism/blob/081d515aa5493ac54bb77071e9f7e387acf6c2ee/components/prism-autoit.js#L21-L25
This will highlight stuff like #include and #NoTrayIcon, but it will miss out #include-once (which is the only directive with a hyphen in its name). Since this is about the regex rather than the token itself, I'm not very sure how to address it.
The rest of it looks fine to me though!

Huh, that's just a good old bug that needs some fixing. Do you want to make a PR, or shall I?
However, regex bugs don't have anything to do with token types, so you can mark AutoIt as done.

Hmm, I'd like to give it a shot, is this right?
pattern: /(^[\t ]*)#[\w-]+/m

Yup, that works. Thank you for taking this on.

Hmm, I'm not super sure about this one:
https://github.com/PrismJS/prism/blob/c30b736f53e1fa59ed2f02891a3a9b7feecb5cc3/components/prism-ada.js#L12
Ada simply calls it an attribute, and it is defined in the 2012 Language Reference Manual (page 98 on the version without change bars):

Is attr-name suitable? Or should attr-name (or some other standard token) be used as an alias instead?

You're right. Some name like attribute + attr-name as its alias would probably be better.

@RunDevelopment I see! I'll make a PR for it.
Also, I just quickly looked through the other languages, I don't think there's any more config-type languages that don't use key and value, except maybe .ignore?
https://github.com/PrismJS/prism/blob/c30b736f53e1fa59ed2f02891a3a9b7feecb5cc3/components/prism-ignore.js#L5-L16
Though it's a slightly different question: is string the most suitable alias?

Well, ignore (think .gitignore) isn't really a config language like INI or .properties. Ignore just contains file (glob) patterns (plus some comments), so the key-value semantics of other languages don't apply to it.

is string the most suitable alias?

I'm not sure about "most" suitable, but it's a pretty good IMO. Entries in ignore file will be file path and file path patterns, so string seems like a decent choice to me. Since we are talking about patterns, regex would also be fitting.
Apart from string and regex, I can't think of any standard tokens that are semantically close to the entries in ignore files. Got any suggestions?

I guess selector makes some sense in that these file paths and file path patterns are being chosen to be ignored (or not), but I agree that string works well too! I don't think regex is a good idea, but only because the token already allows for regex to be contained inside.
Overall, I think keeping it as it is is alright!

I'm having some doubts about AutoHotkey 😅
First of all, with respect to the token types guarantee, I'm not sure about the following tokens and how they are classified (constant, symbol, and important make sense in terms of classification though). I'll admit, I've never used AutoHotkey myself, so I might not be informed enough here, perhaps there are nuances that I am not seeing:
https://github.com/PrismJS/prism/blob/c30b736f53e1fa59ed2f02891a3a9b7feecb5cc3/components/prism-autohotkey.js#L25-L35
Secondly, based on this Alphabetical Command and Function index, it seems that there are bunch that are missing, such as ComObject() and IsByRef(). I don't mind going through the list and adding them, but I am not sure if they were intentionally left out or something! Do you have any idea?

I'm not sure about the following tokens and how they are classified

I've never used AutoHotkey myself

Same, but I highly doubt that AutoTrim is a selector... It's probably safe to assume that the tokens you mentioned don't follow the rules for standard tokens.

it seems that there are bunch that are missing

They were probably added to the language after our AutoIt grammar was last updated by someone. This is the reason we typically try to avoid long list of function/type/command names.
Regarding directives (currently important), I think we could just use /#[a-z]+\b/i and save ourselves the work of maintaining another list.

I highly doubt that AutoTrim is a selector...

Same! I really have no idea which token we can use for it. I wanted to call it a function, but it's already used. Then I thought of builtin, but it doesn't quite fit with the existing names in builtin. Maybe they can be combined with keyword? (Maybe I should read the docs more to see if there's a distinction between these two groups though.)

This is the reason we typically try to avoid long list of function/type/command names.

I see your point, do you think it's possible to write another regex that can replace (some of) the lists? I'm not familiar enough with regex to answer this 😅

Regarding directives (currently important), I think we could just use /#[a-z]+\b/i and save ourselves the work of maintaining another list.

I appreciate your wisdom! Would you like to make the PR for it? It would be nice to use directive as the token name instead too, though I'm not sure what standard token it can be aliased to...

Sorry to bring up another topic! I'm looking at Erlang, and it seems pretty alright, but I have a question about the operator token:
https://github.com/PrismJS/prism/blob/cde0b5b25f15465456b6e2ee6049a433b9f9d634/components/prism-erlang.js#L28-L29
I'm not sure whether the keywords there should be classified as operator or keyword. I remember this was mentioned early on in #2849, but I'm not sure what the conclusion is. I see that there's no change to SQL (the original example that was brought up), so I suppose I don't have to update Erlang here either? What do you think?

Regarding Autohotkey:

selector seems to contain commands, so let's call them that and use selector as an alias (it looks good).
constant seems to contain static variables and other predefined stuff. constant is probably an ok fit here.
builtin contains built-in functions, so calling it builtin-function + function alias would probably be better than builtin.
symbol seems to contain virtual keys (I think). So symbol is actually be a good fit.
important: As I suggested above, directive + important alias.
keyword: I think those are actually keywords. Not sure.

I think I'll make a PR with that. Not sure if all of those changes are that great, but they're probably a little better than what we have now. Let's continue the discussion about this topic there.

Would you like to make the PR for it?

Done.

Sorry to bring up another topic!

Don't worry. You're a great help, so don't hesitate to ask.

I'm not sure whether the keywords there should be classified as operator or keyword.

Honestly, I'm not sure what to do about them myself... They fit into both operator and keyword but using both classes together doesn't work with standard tokens. I think it's okay to just leave Erlang operators as they are right now until we find a good solution.

I think it's okay to just leave Erlang operators as they are right now until we find a good solution.

Sounds great, thank you 😄

I'm currently looking at MEL (Maya Embedded Language), it seems mostly fine, but I have some questions:
MEL has flags, and they are currently aliased to operator in Prism:
https://github.com/PrismJS/prism/blob/31a38d0ca02e6399637a6c693f65f1b007c71c63/components/prism-mel.js#L21-L24
I'm not really sure if operator is the best token for aliasing, I feel like attr-name or property or builtin would be a better fit in terms of meaning. What do you think?
Next, there's code, which highlights code that's contained within backticks. The purpose is defined here (essentially evaluates the code within it and returns a value).
https://github.com/PrismJS/prism/blob/cf38d0590e2a2688aa75ea735f191e75bcab0950/components/prism-mel.js#L3-L14
I don't think italics is a meaningful alias, although I can see how having the code italicized helps a lot in readability. As such, using italics as an alias would allow the code to be italicized without requiring the user to have to have to modify their Prism CSS file at all. But since we're on the topic of using standard tokens appropriately, I wonder if we can give this a pass?
Finally there are built-in commands (very long list! Probably even longer than AutoHotKey!).
https://github.com/PrismJS/prism/blob/cf38d0590e2a2688aa75ea735f191e75bcab0950/components/prism-mel.js#L26
Prism currently calls them functions but I think builtin is a better fit as it is possible for users to define their own functions (or procedures, as MEL calls it). And speaking of user-defined functions, I wonder if it's possible to capture them (at least when they're being defined) with regex?

I'm looking at Flow, and I'm not sure if tag is a good alias for type.
https://github.com/PrismJS/prism/blob/cf38d0590e2a2688aa75ea735f191e75bcab0950/components/prism-flow.js#L5-L10
I'm thinking maybe class-name would be more suitable?
Flow also has function-variable like JavaScript:
https://github.com/PrismJS/prism/blob/cf38d0590e2a2688aa75ea735f191e75bcab0950/components/prism-flow.js#L12
In JS, it's aliased to function. I suppose we can do the same for Flow?

I'm looking at Excel formula:
I wonder if function or builtin would be a better fit than function-name?
https://github.com/PrismJS/prism/blob/cf38d0590e2a2688aa75ea735f191e75bcab0950/components/prism-excel-formula.js#L40-L43
keyword also makes some sense though.
I also see why range and cell have the same alias, property:
https://github.com/PrismJS/prism/blob/cf38d0590e2a2688aa75ea735f191e75bcab0950/components/prism-excel-formula.js#L44-L59
But perhaps selector or variable would be a better fit?
Also, as a note, I haven't really been paying attention to the colours, so there's a chance that the tokens will end up having the same colours in some themes 😅

I'm not really sure if operator is the best token for aliasing, I feel like attr-name or property or builtin would be a better fit in terms of meaning. What do you think?

I agree, attr-name or property would be better.

Next, there's code

Yeah, italics is weird. I mean, it does highlight code sections well, but I wonder if we could achieve the same result with more convential aliases.

Finally there are built-in commands (very long list! Probably even longer than AutoHotKey!).

Oof. 16kb of built-in commands... Yes, builtin is a better name.

And speaking of user-defined functions, I wonder if it's possible to capture them (at least when they're being defined) with regex?

Procedure calls will be very difficult to detect because the parenthesis are optional. Procedure definition might be doable, depends on the return type. Assuming that the (optional) return type is only a single word, { pattern: /(\bproc\s+(?:\w+\s+)?)[a-zA-Z_]\w*(?=\s*\()/, lookbehind: true } will work.

I'm looking at Flow, and I'm not sure if tag is a good alias for type.

Definitely class-name, you're right.

Flow also has function-variable like JavaScript:

Flow extends JS and changes the regex. So it also inherits the function alias from JS.

I'm looking at Excel formula:
I wonder if function or builtin would be a better fit than function-name?

I think I did this because Excel only has built-in functions and keyword as still available. You're right, builtin is better.

But perhaps selector or variable would be a better fit?

They are essentially just the names/indices of cells in a table. So I don't think variable fits. I do like selector though.

Also, as a note, I haven't really been paying attention to the colours

Don't worry about it. You win some, you lose some. Having a consistent standard is more important that some languages not looking their best in some themes.

I wonder if we could achieve the same result with more convential aliases.

I see! I'm not sure what's a good one though, I think italics works because it's the token that is closest to guaranteeing font-style: italic. Maybe we'll think of something soon!

16kb of built-in commands...

I was close to offering to update the list, but I'm not sure now :P I was wondering if we could use a pattern instead, but looking at the snippets earlier, I highly doubt that it's possible.

Procedure calls will be very difficult to detect...

I see! I think the function definition would be good enough, consistent with other languages. I presume you'll make a PR for the new regex?

Flow extends JS and changes the regex. So it also inherits the function alias from JS.

Oh right, thanks for catching that! :)
I'll make the PR for Excel and Flow shortly!

I was wondering if we could use a pattern instead, but looking at the snippets earlier, I highly doubt that it's possible.

Hmmm, maybe. I'll look into it. Since built-in commands/functions and user-defined procs use the same calling syntax, it will detect both, though.

Wow, that's amazing!!! I am once again impressed by your regex skills :D

authors: RunDevelopment hoonweiting

repo: PrismJS/prism


text:
error screenshot.js

When I try to take a screenshot, I get an error that no. png file with textures was found at the specified path
Using version: 1.12
(node:2072) UnhandledPromiseRejectionWarning: Error: ENOENT, No such file or directory 'C:\Users\shketov\Desktop\Bot\node_modules\prismarine-viewer\public\textures\1.12.png'
    at setSource (C:\Users\shketov\Desktop\Bot\node_modules\canvas\lib\image.js:91:13)
    at Image.set (C:\Users\shketov\Desktop\Bot\node_modules\canvas\lib\image.js:62:9)
    at C:\Users\shketov\Desktop\Bot\node_modules\canvas\index.js:34:15
    at new Promise (<anonymous>)
    at loadImage (C:\Users\shketov\Desktop\Bot\node_modules\canvas\index.js:23:10)
    at loadTexture (C:\Users\shketov\Desktop\Bot\node_modules\prismarine-viewer\viewer\lib\utils.js:7:3)
    at WorldRenderer.setVersion (C:\Users\shketov\Desktop\Bot\node_modules\prismarine-viewer\viewer\lib\worldrenderer.js:61:5)
    at Viewer.setVersion (C:\Users\shketov\Desktop\Bot\node_modules\prismarine-viewer\viewer\lib\viewer.js:34:16)
    at Object.module.exports.main (C:\Users\shketov\Desktop\Bot\modules\screenshot.js:27:10)
    at C:\Users\shketov\Desktop\Bot\commands\help.js:17:16

Did you follow these instructions https://github.com/PrismarineJS/prismarine-viewer/tree/master/examples/exporter ?

Did you follow these instructions https://github.com/PrismarineJS/prismarine-viewer/tree/master/examples/exporter ?

and did you run npm install in the main folder ?

and did you run npm install in the main folder ?

Working now ?
On Wed, Jan 20, 2021, 10:52 Valeriya notifications@github.com wrote:

Closed #120 https://github.com/PrismarineJS/prismarine-viewer/issues/120
.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/PrismarineJS/prismarine-viewer/issues/120#event-4226988954,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAR437U7Z6VR6TITPLQ3QV3S22RXHANCNFSM4WCMUDYA
.

Working now ?
On Wed, Jan 20, 2021, 10:52 Valeriya notifications@github.com wrote:

Closed #120 https://github.com/PrismarineJS/prismarine-viewer/issues/120
.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/PrismarineJS/prismarine-viewer/issues/120#event-4226988954,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAR437U7Z6VR6TITPLQ3QV3S22RXHANCNFSM4WCMUDYA
.

repo: PrismarineJS/prismarine-viewer


text:
Display for Smaller Screens

the website is not responsive.
elements can be enhanced further for

better UI/UX.

pls assign it to me under jwoc