text:
[WIP] Example RV OTIO reading application plugin

Re-creating #395 as an example RV plugin for loading an OTIO file into the current RV context.

Codecov Report

Merging #565 into master will increase coverage by <.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #565      +/-   ##
==========================================
+ Coverage   81.28%   81.29%   +<.01%
==========================================
  Files          72       72
  Lines        2731     2726       -5
==========================================
- Hits         2220     2216       -4
+ Misses        511      510       -1

Flag
Coverage Δ

#py27
?

#py36
?

#py37
81.29% <ø> (ø)
:arrow_up:

Impacted Files
Coverage Δ

...eio/opentimelineio-bindings/otio_anyDictionary.cpp
100% <0%> (ø)
:arrow_up:

...elineio/opentimelineio-bindings/otio_anyVector.cpp
100% <0%> (ø)
:arrow_up:

...ntimelineio/opentimelineio-bindings/otio_utils.cpp
85.88% <0%> (+0.65%)
:arrow_up:

Continue to review full report at Codecov.

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

Hi, my name is Eric Desruisseaux, I am a SW developer at Autodesk. I am very happy to see this PR, good job! I think the approach makes great sense. I have a few questions.

Did you think of how this could scale to support custom SchemaDef? One way to do this could be to expose the WRITE_TYPE_MAP map and let the user append its own "Schema --> function" entry. Assuming that the $OTIO_PLUGIN_MANIFEST_PATH path is properly set, this would require very minimal work per custom schema and would allow customization.

Did you try loading timelines with nested compositions? The create_rv_node_from_otio function seems to support arbitrary structures, but I am wondering if you've successfully done it.

Did you think of how you'd write the reverse logic? RV to OTIO? Since the RV graph topology is arbitrary and OTIO supports nested tracks, an RV-to-OTIO package could support almost all RV graph cases but I guess we could start with a fixed number of topologies, ie.: Stack of Sequences of Sources, Stack of Sources, Sequence of Sources. Any thoughts?

Metadata is supported in _create_item (for Clips and Gaps), but I think OTIO supports metadata on all objects. It would be nice if the plug-in supported it too.

Are there any known limitations which should be discussed (and ideally documented in the plug-in or elsewhere)?

Again, great work, this is very nice!
Eric

Another question :

The package calls otio.adapters.read_from_file. If I understand properly, this can be implemented by any registered adapter in opentimelineio. Does it mean that any format supported by adapters could be loaded through the package (ie.: native OTIO, but also FCP, AAF, etc.)?

Another question :

The package calls otio.adapters.read_from_file. If I understand properly, this can be implemented by any registered adapter in opentimelineio. Does it mean that any format supported by adapters could be loaded through the package (ie.: native OTIO, but also FCP, AAF, etc.)?

Yes, otio.adapters.read_from_file will dispatch to the adapter plugins based on file suffix.

Yes, otio.adapters.read_from_file will dispatch to the adapter plugins based on file suffix.

Exactly, there is this code:
if ext in otio.adapters.suffixes_with_defined_adapters(read=True):

That'll have the plugin only "wake up" when it sees extensions that OTIO supports. There is an interesting question though of who would "win" in the case where there is any overlap with other supported extensions from other plugins or the built in file reading logic since this is not using the standard way file format plugins work.

@eric-desruisseaux-adsk here are responses to your numbered questions:

I agree that would be great if there was a clean way to override or extend the WRITE_TYPE_MAP entries. Internally we are using a fork of this code which uses a special Pixar-specific node for dissolves. If there was a mechanism to override/extend then we wouldn't need a fork.

We did some testing with multi-track and nesting, but not an exhaustive test. Most of our production use cases are single track. I think @ssteinbach's RV adapter might have more testing around that, but I'm not sure.

I believe that @JoshBurnell and @swallitsch built the inverse (RV to OTIO plugin). OTIO is missing the notion of a Layout, but perhaps this is just a Stack with metadata about placement?

Ideally RV (and any other app) would carry OTIO metadata around blindly and round-trip it back out again. This would allow production metadata to flow through RV seamlessly.

Yes, there are some known limitations. In particular, image sequences are not formally handled, but can work if you use RV syntax in a MediaReference's target_url. We should discuss better handling for that.

Thanks @jminor for your answers!

We've implemented support for layouts by adding custom metadata at the media-reference level. We injected some resolution-independent coordinates and sizes that we call bounds. Bounds are basically 4 doubles : centerX, centerY, sizeX, sizeY. Those are in an arbitrary units so pixel density has no impact on the way the source is displayed. This is similar to the concept of Data Window in OpenEXR. It differs from a 2D Transform (effect) in that it is seen as source-metadata, but ultimately it is still implemented by a RVTransform2D node in the source group.

At some point (unrelated to this RV package) it would be nice to have a discussion on what would be the best way to make this data OTIO standard.

Which relates to the discussion we had previously in representing position and size in a universal coordinate system.

Yes, we'd like to hear more details about your universal coordinate system. Are you available to discuss at our next OTIO Technical Steering Committee meeting (video conf) Sept 26th?
Separate from that, do you see any of items 1-6 as blockers to accepting this PR, or smaller changes that should be addressed? You should be able to check out @avrata's branch to try it yourself.

I already checked it out and played with it in RV, I tried it with our OTIO and it worked well, except of course for all the missing private schemas. The only thing that should be added (now or in a follow-up) is the support of the metadata on all nodes (as expected based on the OTIO spec).
The rest was more some curiosity/question I had.
Thanks!
Eric

Great. @avrata is going to look at the metadata support.

I took a quick pass at adding metadata to each rv node if the associated otio item has any here: f7af52c833e0384ae62158e4056362874d2f7c6f If this looks interesting I can look into trying to update the external rv adapter with this same pattern as well. I did change the property location of the RV metadata with this a little to something that made more sense to me (.otio.metadata), but that's easy to revert if people are attached to the old one.

Thanks @avrata!

authors: avrata codecov-io eidmi eric-desruisseaux-adsk jminor ssteinbach

repo: PixarAnimationStudios/OpenTimelineIO


text:
Autolayout issue

I am just starting to use Freestyle in a project that uses autolayout.
I have a UIButton subclass where I added my own image and label and lay them out side by side using autolayout.
I get the following error: "Auto Layout still required after executing -layoutSubviews. QButton's implementation of -layoutSubviews needs to call super".

Here is my scss style for button:
view.light-theme {

    button {
        border-radius: $button-border-radius;

        label {
            font-family: $button-text-font;
            font-size: $button-text-size;
            font-weight: $button-font-weight;
            text-transform: uppercase;
        }
    }

    button.flat{

        label{
            color: $button-flat-light-theme-normal-text-color;
        }

        &:normal{
            background-color: $button-flat-light-theme-normal-bg-color;
        }

        &:highlighted{
            background-color: $button-flat-light-theme-highlighted-bg-color;
        }
        &:selected{
            background-color: $button-flat-light-theme-selected-bg-color;
        }
        &:disabled{
            background-color: $button-flat-light-theme-disabled-bg-color;

            label {
                color: $button-flat-light-theme-disabled-text-color;
            }
        }
    }

}

Calling [PixateFreestyle updateStyles:self] solved the issue.

source: gharchive/issue

repo: Pixate/pixate-freestyle-ios

license_type: permissive

license_source: bigquery


text:
Optimize File Picker loading

File picker needs to pre-process file data

This has been fixed.

license: MS-PL

license_source: github-api


text:
Feature/password sign up and sign in

Created sign-in and sign up page
path :
/auth/sign-in
/auth/sign-up

Designed by @yannyyau

@yannyyau  Please check the screen shots

Just some suggestions for discussions:

For consistency with log-in page, suggest to have both title and the action button on sign-up as “註冊”
Is a checkbox better for confirming users are aware of the privacy policy and terms?
Suggest to have an option to view password instead of asking user to retype password
Not sure about this, do we need users to have an username at registration? It could lower conversions and we only need their emails at log-in. Is it better to wait until when they set up their profile?
Also I think “username” and “display name” are often understood as different thing. Would it be clearer if we go with “First Name” “Last Name”?
If having a username at registration is a must, should we have a helper text (on focused state) saying “註冊後可以更改名稱”?
Some minor suggestion on the copy & focused state examples:

Suggestions on the layout & style:

註冊後可以更改名稱

Updated. Please check the screen shots.
For username, currently the sever will assign a partial random username to user. Some user said they want a more human way to create a username. Moreover, username is user name and not display name. Will consider to add 'First Name ' and 'Last Name'
For the check box for privacy policy and T&C. I checked some sites like Glassdoor and LinkedIn, they both adopt this approach

@Pjaijai Thanks for the update! and sorry for my late reply. Something for you to consider:

@Pjaijai Thanks for the update! and sorry for my late reply. Something for you to consider:

For password icon one, a issue was created to fix it https://github.com/Pjaijai/Referalah/issues/278. The other issues were mostly solved.

source: gharchive/pull-request

authors: Pjaijai yannyyau

repo: Pjaijai/Referalah


text:
模型重新训练时报错D:\AItool\VITS_fast_finetune\mel_processing.py:96: FutureWarning: Pass sr=22050, n_fft=1024, n_mels=80, fmin=0.0, fmax=None as keyword args. From version 0.10 passing these as positional arguments will result in an error   mel = librosa_mel_fn(sampling_rate, n_fft, num_mels, fmin, fmax)

:\AItool\VITS_fast_finetune\mel_processing.py:78: FutureWarning: Pass sr=22050, n_fft=1024, n_mels=80, fmin=0.0, fmax=None as keyword args. From version 0.10 passing these as positional arguments will result in an error
mel = librosa_mel_fn(sampling_rate, n_fft, num_mels, fmin, fmax)
D:\AItool\VITS_fast_finetune\mel_processing.py:96: FutureWarning: Pass sr=22050, n_fft=1024, n_mels=80, fmin=0.0, fmax=None as keyword args. From version 0.10 passing these as positional arguments will result in an error
mel = librosa_mel_fn(sampling_rate, n_fft, num_mels, fmin, fmax)
之前训练的模型跑到二十多跑一半就关了，然后回来重新训练就开始报错

等了亿会，看样子是跑起来了，

现在you'shua又双叒叕报错了:(

好了我是伞兵，第一个那不是报错，只是单纯的显卡差没有进度，第二个是跑的爆显存了

repo: Plachtaa/VITS-fast-fine-tuning


text:
Uncart no longer needed?

Now that Decrypt9WIP can dump game carts as .3ds files in its latest stable release, the use of uncart can probably be removed from the guide. Hourglass9 could still be used for the initial installation steps, but then added/replaced with Decrypt9WIP at the end of Part 5, unless Hourglass9 adds the cartridge dumping feature at some point in the future.

Uncart can make stripped .3ds roms and normal roms(I don't know the difference) if decrypt9WIP can do that then there is no longer a need for uncart.

On Jun 26, 2016, at 9:46 PM, jaxrogers2 notifications@github.com wrote:
Now that Decrypt9WIP can dump game carts as .3ds files in its latest stable release, the use of uncart can probably be removed from the guide. Hourglass9 could still be used for the initial installation steps, but then added/replaced with Decrypt9WIP at the end of Part 5, unless Hourglass9 adds the cartridge dumping feature at some point in the future.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

I think Decrypt9WIP can do both from my understanding sine in the release page (https://github.com/d0k3/Decrypt9WIP/releases/tag/20160626) says that the cartridge dumper includes "full/trimmed, with/without on the fly decryption" options so I assume that's what you are talking about when you say stripped vs normal .3ds rom dumps.

I am waiting for this to be integrated into Hourglass9 (which @d0k3 seemed inclined to add when last we spoke about this).

I've been thinking about adding the cartridge dumper to Hourglass9, but for now I decided that this is an 'advanced' feature rather than a 'novice' one (especially since there are four ways to dump a cart, and the user should get informed about the differences). I may add something to Hourglass9 at a later point, but not anytime soon. Still need to think about how to simplify it.
For those scared about D9's ability to overwrite an existing a9lh installation. I'm currently thinking about adding in extra safety, but I haven't decided yet how to do this. Maybe discuss this later, @Plailect ?

I'm currently thinking about adding in extra safety, but I haven't decided yet how to do this.

I've kind of had a few ideas but never got around to mentioning them. such as when "NAND Restore" is used, check for FIRM0 in NAND being corrupt, and if it is, notify/stop the user (maybe stop entirely, and tell them to use "forced" to bypass?). that would probably stop many accidental a9lh removals.

That's actually not a bad idea at all, although I'd rather just check if a9lh is running at that point (a corrupted FIRM0 can mean different stuff, too). Take note that you can also overwrite your a9lh installation by injecting the FIRM0, FIRM1, sector0x96 and / or NAND header (and I don't want to add 'forced' versions to all of them). But, off-topic here - maybe discuss this in thread?

repo: Plailect/Guide

license: mit


text:
Steelhax question

Steelhax is hax based on the save data right, can i copy manually the save data after i access homebrew in 3ds#1 and paste on 3ds#2, does it work?

Nope. Save data for installed games is per-console.

Yes, i success i put the .sav to 3ds#2 and do success to exploit the homebrew, because i do system transfer before that, but the file was missing and i re-download the game, i just copy the sav in 3ds#1 and paste into 3ds#2. But after i downgrade to 9.2, the steelhax was error, what happen???

Since you downgraded to 9.2 the save is no longer compatible.
Just use another entrypoint.


text:
Possibility to change text color

Hi,
I'd love to have the ability to change the text color without creating a layout for the ChipViews, would be that possible?
Thanks

Hi khrizt,
You can do it via a custom adapter, you have an example of changing the text color here : https://github.com/Plumillon/ChipView/blob/master/app/src/main/java/com/plumillonforge/android/chipview/sample/MainChipViewAdapter.java#L74
In fact, the TextView created have the android.R.id.text1 id by default, so you can access it this way

Thanks man, sorry I didn't see that one.

Np, I'm here to help :)
Also, the onLayout adapter method is a bit of "all-in" where you got access to all the Chip View
Let me know if you got any question

authors: Plumillon khrizt

repo: Plumillon/ChipView


text:
Automated testing @keano to define

Have moved this here as it was on a big Trello card that has now been closed (https://trello.com/c/AuU9Cpgb/203-updates-to-ui-toolkit-to-ensure-its-re-useable-across-future-projects-all-team-discussion)

I can recommend http://www.nightmarejs.org/ for browser automation.

authors: matine threesquared

repo: Pod-Point/pod-point-ui-toolkit


text:
The Authorization of New Podping sending accounts: need to automate?

As it is
Right now the new server software will let anyone send a podping. It does give a warning during startup but doesn't actually stop you from sending a ping. This is the way it should be.
It is the Watching programs that actually look up the list of authorized accounts and filter out unauthorized.
The manual part
At present I need to manually go into the Podping account on Hive and "follow" a new podping-ing account.
The Automation
I could quite easily write a small bot that automatically followed anyone who sends a small transfer (say 1 HBD or 2 Hive) i.e. a dollar's worth to @podping on Hive.
I'm just not sure it's worth the time and effort right now.

I personally wouldn’t bother until we get all of the heavy lifting done on the dockerizing. I will also be writing a self service site for podping.cloud and we can do them both at the same time.

10-4

authors: brianoflondon daveajones

repo: Podcastindex-org/podping-hivewriter

license: MIT


text:
Support for namespaces: how hard?

I don't want to be pessimistic, but IMHO xml namespaces are a hard beast: you can mix nested default namespaces with named namespaces, making everything difficult to grasp at a first look for a human being. Unfortunately, I think that namespaces could be difficult to implement with a strong type system, but on the other hand in Rust we have powerful tools in our belt.
Do you think that implementing xml namespaces in strong-xml could be achieved in an appropriate amount of time (I explicitly wanted to avoid the short term)? Is it doable for the project or it is out of scope, at least for now?

Now, here some possible issues that come to my mind.
Each struct deriving XmlRead and XmlWrite is independent from their parent (if A contains b: B, B is still independent from A), but during read and write process, the namespaces are inherited from parent structs (I don't like to use parent/child terminology, which reminds OO polymorphism, but you get the idea in this context). Let's hypothesize that A contains c: C, and B contains c: C, but A and B have different default namespaces; what's the intended behavior of C in the two different contexts? The user would expect that both the namespaces of A and B have the same inner structure (represented by C), therefore the namespace of C would be inherited?
What's the best way to work with namespaces? From one point of view, each xml document can have a finite set of namespaces, therefore the simplest idea could be each namespace is an enum variant, and relative enum represents the set of namespaces. In this case it should be necessary to define a trait in order to make the enum usable as set of namespaces. I am still doubtful about this solution, because I am not sure if the approach could lead to some issue when working with different xml structures with different set of namespaces but with common structs.
Attribute namespaces should be handled? In theory it is possible to specify a namespace for each attribute, and I imagine that it is possible to pay for the feature only at compile-time, without any cost for attributes without explicit namespace (which is the common case). Am I right?
Said that, I would like to help implementing the feature, but at the same time I have a limited amount of time. Surely the author has a better understanding of the efforts required to implement xml namespaces. If this is doable and the amount of time I can invest could bring to something useful, then I will be happy to contribute. :relaxed:

Sorry for replying late, I was out of town.
I rarely use xml namespace feature, so i'm not quite sure about the use case in real world. Could you provide some examples? What kind of xml file you want to parse and what result you want to get?
The closest thing that I can provide now is adding some macro for declaring and using namespaces:
#[derive(XmlWrite)]
#[xml(tag = "foo")]
#[xml(xmlns:a = "b")]
struct Foo {
    #[xml(ns = "a", attr = "bar")]
    bar: String,
    #[xml(ns = "a", flatten_text = "child")]
    baz: String,
}

let foo = Foo { bar: "bar".into(), baz: "baz".into() };

should result in
<foo xmlns:a="b" a:bar="bar"><a:child>baz</a:child></foo>

The main real world case, unfortunately, is being able to perform SOAP requests, which generally involve specific usage of namespaces. I am saying unfortunately because there is an incredible amount of better intercommunication protocols out there... but, you know, legacy... :roll_eyes: -- end of rant.
I am working on a crate to handle these problems, and the more I do, the less I am sure I want this feature in strong-xml: the fact that XML namespaces does not work well with composition unless you forward some sort of namespaces state to children, and this introduces some overhead (in theory, I think it could be possible to partially avoid this issue using complete const generics, but it is probably kinda messy anyway). Moreover, for my use case I decided to bind the structs to one namespaces enum, which is very objectionable and not a good solution for public API. On the other hand, if namespaces needs to be checked at compile time (which I really want because they are incredibly error prone), it is not easy to find a design that does not end up being limiting or with avoidable runtime overhead.
I hope that in the future I will be allowed to release the source code of the ~mess~ crate I am developing. In this way it would be easier for you and other people to see, in practice, how I tackled the problem, the limitations of my solution and the errors made, in order to think about a better design that could be used inside strong-xml or other major XML crates.

Lots of standard formats, like epub or collada, tend to use namespaces.

I totally forgot to write some updates about this.
I wrote a package for XML serialization and deserialization with namespace support. Unfortunately the project is private and I cannot publish anything related, but I can write about my experience.
First of all, it is definitely possible to support namespaces using struct and field attributes. On the other hand, it is incredibly painful, because there are a huge amount of edge cases. For instance, if a struct B declares a default namespaces and it is included in another struct A which uses a default namespace attribute on member b: B, probably the member namespace should take precedence over the declaration for B. But if this is already the default namespace, the whole ns override should be omitted for b.
I don't want to be pessimistic, but in my experience namespace support for XML using attributes should be handled as first-citizen feature, otherwise it could end up with a huge, unmaintainable mess. I don't know it it could be "too late" for strong-xml, surely the feature would require a lot of work and a good rewrite of the codebase.
The usefulness is extremely relative: if you need to support something heavily depending on namespaces (i.e.: SOAP), probably anything partially complete would not be sufficient. On the other hand, for most use cases, namespaces support would be almost useless.

I totally forgot to write some updates about this.
I wrote a package for XML serialization and deserialization with namespace support. Unfortunately the project is private and I cannot publish anything related, but I can write about my experience.
First of all, it is definitely possible to support namespaces using struct and field attributes. On the other hand, it is incredibly painful, because there are a huge amount of edge cases. For instance, if a struct B declares a default namespaces and it is included in another struct A which uses a default namespace attribute on member b: B, probably the member namespace should take precedence over the declaration for B. But if this is already the default namespace, the whole ns override should be omitted for b.
I don't want to be pessimistic, but in my experience namespace support for XML using attributes should be handled as first-citizen feature, otherwise it could end up with a huge, unmaintainable mess. I don't know it it could be "too late" for strong-xml, surely the feature would require a lot of work and a good rewrite of the codebase.
The usefulness is extremely relative: if you need to support something heavily depending on namespaces (i.e.: SOAP), probably anything partially complete would not be sufficient. On the other hand, for most use cases, namespaces support would be almost useless.

I am currently working on support for this. Nothing usable yet but I have a clear path forward.

Hey guys, I am back. I did about a 70% complete implementation over on separate branch of my fork and I learned a lot about how I could do things. So out of respect to the author's original code I am going to do a rewrite that is much closer to the original. This also will potentially include a way that would make it be easier to generate xsds  if we are lucky.
Also my git skills are a little lacking so, sorry in advance.

authors: ColonelThirtyTwo PoiScript TheSchemm dodomorandi

repo: PoiScript/strong-xml


text:
Android Building Issue

Godot version
3.5.1
Plugin version
v2.1.4
Phone information
Samsung A52
Issue description
During building i have got this error:

Task :mergeDexDebug FAILED
ERROR:D8: Cannot fit requested classes in a single dex file (# methods: 70309 > 65536)
com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives:
The number of method references in a .dex file cannot exceed 64K.
Learn how to resolve this issue at https://developer.android.com/tools/building/multidex.html
at com.android.builder.dexing.D8DexArchiveMerger.getExceptionToRethrow(D8DexArchiveMerger.java:151)
at com.android.builder.dexing.D8DexArchiveMerger.mergeDexArchives(D8DexArchiveMerger.java:138)
at com.android.build.gradle.internal.tasks.DexMergingWorkAction.merge(DexMergingTask.kt:863)
at com.android.build.gradle.internal.tasks.DexMergingWorkAction.run(DexMergingTask.kt:809)
at com.android.build.gradle.internal.profile.ProfileAwareWorkAction.execute(ProfileAwareWorkAction.kt:74)
at org.gradle.workers.internal.DefaultWorkerServer.execute(DefaultWorkerServer.java:63)
at org.gradle.workers.internal.NoIsolationWorkerFactory$1$1.create(NoIsolationWorkerFactory.java:66)
at org.gradle.workers.internal.NoIsolationWorkerFactory$1$1.create(NoIsolationWorkerFactory.java:62)
at org.gradle.internal.classloader.ClassLoaderUtils.executeInClassloader(ClassLoaderUtils.java:97)
at org.gradle.workers.internal.NoIsolationWorkerFactory$1.lambda$execute$0(NoIsolationWorkerFactory.java:62)
at org.gradle.workers.internal.AbstractWorker$1.call(AbstractWorker.java:44)
at org.gradle.workers.internal.AbstractWorker$1.call(AbstractWorker.java:41)
at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:200)
at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:195)
at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:75)
at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:68)
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:153)
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:68)
at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:62)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$call$2(DefaultBuildOperationExecutor.java:79)
at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.callWithUnmanagedSupport(UnmanagedBuildOperationWrapper.java:54)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:79)
at org.gradle.workers.internal.AbstractWorker.executeWrappedInBuildOperation(AbstractWorker.java:41)
at org.gradle.workers.internal.NoIsolationWorkerFactory$1.execute(NoIsolationWorkerFactory.java:59)
at org.gradle.workers.internal.DefaultWorkerExecutor.lambda$submitWork$2(DefaultWorkerExecutor.java:206)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.runExecution(DefaultConditionalExecutionQueue.java:214)
at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.runBatch(DefaultConditionalExecutionQueue.java:164)
at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.run(DefaultConditionalExecutionQueue.java:131)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:61)
at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: com.android.tools.r8.CompilationFailedException: Compilation failed to complete, position: null
at Version.fakeStackEntry(Version_3.0.73.java:0)
at com.android.tools.r8.utils.w.a(SourceFile:68)
at com.android.tools.r8.utils.w.a(SourceFile:28)
at com.android.tools.r8.utils.w.a(SourceFile:27)
at com.android.tools.r8.utils.w.b(SourceFile:3)
at com.android.tools.r8.D8.run(D8.java:11)
at com.android.builder.dexing.D8DexArchiveMerger.mergeDexArchives(D8DexArchiveMerger.java:136)
... 35 more
Caused by: com.android.tools.r8.internal.b: Cannot fit requested classes in a single dex file (# methods: 70309 > 65536)
at com.android.tools.r8.internal.UA.a(SourceFile:14)
at com.android.tools.r8.internal.UA.a(SourceFile:22)
at com.android.tools.r8.dex.z.a(SourceFile:58)
at com.android.tools.r8.dex.z$h.a(SourceFile:7)
at com.android.tools.r8.dex.b.a(SourceFile:14)
at com.android.tools.r8.dex.b.c(SourceFile:36)
at com.android.tools.r8.D8.d(D8.java:199)
at com.android.tools.r8.D8.b(D8.java:1)
at com.android.tools.r8.utils.w.a(SourceFile:24)
... 38 more

Task :stripDebugDebugSymbols
Unable to strip the following libraries, packaging them as they are: libc++_shared.so, libgodot_android.so.

FAILURE: Build failed with an exception.

What went wrong:
Execution failed for task ':mergeDexDebug'.

A failure occurred while executing com.android.build.gradle.internal.tasks.DexMergingTaskDelegate
There was a failure while executing work items
A failure occurred while executing com.android.build.gradle.internal.tasks.DexMergingWorkAction
com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives:
The number of method references in a .dex file cannot exceed 64K.
Learn how to resolve this issue at https://developer.android.com/tools/building/multidex.html

Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

Get more help at https://help.gradle.org

BUILD FAILED in 59s
30 actionable tasks: 29 executed, 1 up-to-date
Exit Code: 1
Steps to reproduce
Just follow the normal steps to use the plugin and build to mobile
Additional context
No response

This error normally happens when you are trying to build your application with multiple Android Modules, to fix this you need to enable mergeDex:
https://github.com/Poing-Studios/godot-admob-android/issues/54

Thanks Gustavo, i had just figured looking on the details of the problem,
increasing the minSDK to 21 solved the issue.
One more thing, do you know if the* Share plugin by Shin-NiL* could be
ported as of the new iOS plugin version? is there anything alternative
around? or maybe the one on the repository could be updated? I have tried
to reach out to him, but no reply whatsoever.
Obrigado irmao.
Domenico
On Thu, 1 Jun 2023 at 18:25, Gustavo Maciel @.***>
wrote:

This error normally happens when you are trying to build your application
with multiple Android Modules, to fix this you need to enable mergeDex:
#54 https://github.com/Poing-Studios/godot-admob-android/issues/54
—
Reply to this email directly, view it on GitHub
https://github.com/Poing-Studios/godot-admob-android/issues/171#issuecomment-1571773426,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ANP66YOXJI2JKAXNMDYOQ5LXJBUZPANCNFSM6AAAAAAYWSPRAI
.
You are receiving this because you authored the thread.Message ID:
@.***>

Nice to know you solved the problem!

do you know if the* Share plugin by Shin-NiL* could be ported as of the new iOS plugin version?

I can't be sure, but I guess the answer is yes.
I could try to port but I'm focused on this Issue: #167 and currently, it's only me working on this plugin so it can take longer.

Closing the issue since was solved

authors: CompassDevs gumaciel

repo: Poing-Studios/godot-admob-android


text:
not catching any pokemon just walkin

Expected Behavior

Actual Behavior
Steps to Reproduce
Other Information
OS:
Git Commit: (run 'git log -n 1 --pretty=format:"%H"' and paste it here)

What version are you using? Please run this command: git log -n 1 --pretty=format:"%H" and show me your output.

@TheGoldenXY  fatal:not a git repository

@TheGoldenXY could it be about my level should i chance release configs ?

are you running that command inside the directory?

@VictorChen  what u mean running in cmd.exe

I got that issue too.

authors: TheGoldenXY VictorChen shrunkenolive xushWT

repo: PokemonGoF/PokemonGo-Bot


text:
[Enhancement idea] - Add HTTP endpoints for bot controlling

Hi guys!
Thank you for your amazing work!
Just a suggestion here, take it if you want, leave it if you don't.
I was thinking about REST endpoints to tell the bot to go to specific locations.
I also use, for my true account, the PokemonGo-Map server (here https://github.com/AHAAAAAAA/PokemonGo-Map)
I think it's a good idea to make them both communicate. The map would locate rare pokemon in the bot area, and would tell the bot to go there. There's work to do on both projects, but the major part of the work is putting a REST framework on the bot.
What do you think of it?

I like the idea but I don't know if it's what they had in mind for this bot


text:
Corrected typos and removed inexistent pokemon from config example file

Short Description:
Fixes:

Corrected typos
Removed Munchlax from config.json example because it is a Generation IV pokemon
Added virtualenv "bin" folder and pip's "pip-selfcheck.json" file to .gitignore file

Good catch.

No contributor changes?

authors: pulgalipe solderzzc


text:
Native cssstylesheet

Fixes #774. Supports native CSSStyleSheet if and only if native adopted style sheets are supported.
Discussed with @justinfagnani.
I'm happy to do this differently; CSSResult is maybe not the right thing to overload.

Sorry, I was on paternity leave and then I forgot this when I got back.
PTAL. I've changed the code a bit so we don't subclass CSSResult when we're provided with native CSSStyleSheet instances.

Oops, I didn't notice that change in my rebase. I've restored that line and modified a test to ensure we also call .getStyles().

ping @justinfagnani
I've rebased the PR again.

ugh, sorry for noise—I merged badly. I've just made the changes against master again.

@samthor I tweaked this change to only use one array for both CSSSyleSheets and CSSResults. It's only a small conditional in adoptStyles. I think the rest is simpler. See the diff against master here: https://github.com/Polymer/lit-element/compare/native-stylesheets#diff-2ab97d0f347f8a3887d614f36018898bR187

@justinfagnani I pulled your change in and fixed some comments. PTAL

I've addressed feedback and pushed again. I presume the PR will pass Travis :)

To be clear, you want to test the case where the platform has native constructible stylesheet support, but the polyfill is also forced on. Otherwise there's no way yet to get a constructible stylesheet.

I think what y'all mean is, you're worried about the case where there is native constructible stylesheets support but the WC polyfills are forced on. This can only happen in Chromium right now, since that's the only place native constructible stylesheets are supported. Does that sound right?
If the target doesn't have constructible stylesheets at all (or that is polyfilled—although that space is a bit fuzzy, we did it for Santa Tracker), I don't think there's an issue there.

@sorvell @justinfagnani We're good for another review now.

we flatten CSSStyleSheet rules where native constructible stylesheets are supported but the WC polyfill is enabled
we throw when a user tries to pass a CSSStyleSheet from <style> tag (rather than trying to flatten)

And I've updated the tests a bit. We now explicitly check that, in the fully natively supported case, changing the rules of a CSSStyleSheet will change the rendered style.

Thanks @sorvell for pointing out the test wasn't running. Fixed now.

Thanks for the thorough review. I look forward to the next release so I can pin Santa against it.

authors: justinfagnani samthor

repo: Polymer/lit-element


text:
More descriptive/useful message for html template errors

Description
As a new user of lit-html and lit-element, I hit a snag working on a simple demo of lit-element.  The error was my fault; I simply forgot a closing " on a data-attr.  However, the error message suggested something more catastrophic from the depths of lit-html: TypeError: Failed to set the 'currentNode' property on 'TreeWalker': The provided value is not of type 'Node'.

NOTE: the helpful crew on the Polymer Slack #general channel pointed me to the VSCode lit-plugin which would have helped me see my error much easier.
Steps to Reproduce

Create a template with invalid html.  In this case, a missing " after a data-attr.
render() {    // ERROR here!  Missing closing " after data-someid      return html
<li data-someid="${this.value}>${this.name}
;  }

Live Reproduction Link
https://stackblitz.com/edit/js-3msbzx?file=mymenuitem.js
Expected Results
It would be nice to have a SyntaxError or something as a result of parsing the template up-front rather than allowing a runaway string to wreak havoc.
Actual Results
TypeError: Failed to set the 'currentNode' property on 'TreeWalker': The provided value is not of type 'Node'.

Browsers Affected

[x ] Chrome
[ x] Firefox
[x ] Edge
[x ] Safari 11
[x ] Safari 10
[x ] IE 11

We have a lot more dev mode errors added to 2.0, plus we now handle the case that was problematic here. We can open more issues for other cases as needed.

authors: bmsmg justinfagnani

repo: Polymer/lit-html


text:
Applied styles couldn't be overridden.

Say I imported paper-styles and got the following styles in my own element
:host p.some-p {
  @apply(--paper-font-headline);
  font-weight: bold;
}

And the font-weight wont be overridden to bold as expected. Looks like stamping and applying the styles via @apply wont consider the order of styles in the same block.

https://github.com/Polymer/polymer/issues/2439

This does sound like #2439, closing as duplicate.

authors: David-Mulder azakus nanowang

repo: Polymer/polymer


text:
Polymers elements cannot go fullscreen

It seems that (nested) polymer elements cannnot go fullscreen themselves:
Suppose that all these codes are preceded by an import of https://github.com/sindresorhus/screenfull.js/#why
This does not work:
  <core-tooltip label='Fullscreen'>
    <core-icon-button icon='fullscreen' onclick='screenfull.toggle(this)'></core-icon-button>
  </core-tooltip>

But this does:
<div>
    <button onclick='screenfull.toggle(this)'></button>
  </div>

On the other hand, they CAN send the whole page to fullscreen
  <core-tooltip label='Fullscreen'>
    <core-icon-button icon='fullscreen' onclick='screenfull.toggle()'></core-icon-button>
  </core-tooltip>

What makes me think it has to do with 'shadow-root'.

Hi,
I'm getting some troubles to extend a Polymer element to fullscreen.
I did 2 codepen to demonstrate the issue.
The first one is with a very basic element containing just a <h1> : https://codepen.io/Bodhiz/pen/reZXxw
As you can see, it works but on webkit I have to do few tricks :

force the background to white for firefox
force the display to block on webkit (otherwise I get blackscreen even wit the background forced to white)

The second pen contains a bit more complex element with an embedded iron-list : https://codepen.io/Bodhiz/pen/ONoGNK
On this one I can't make it work on webkit, I get a black screen. On firefox, it works better but i'm not able to scroll the list.
I'm not 100% sure that is directly related to Polymer but if you have any clues, it would be great :)

authors: Bodhiz arkeros


text:
does not render properly in Firefox, IE

From @seahrh on June 15, 2015 12:29
The example code in the docs does not render properly in FF38 and IE11.
<paper-drawer-panel>
  <paper-header-panel drawer>
    <paper-toolbar>

Application

    </paper-toolbar>

 Drawer content...

  </paper-header-panel>
  <paper-header-panel main>
    <paper-toolbar>
      <paper-icon-button icon="menu" paper-drawer-toggle></paper-icon-button>

Title

    </paper-toolbar>

 Main content...

  </paper-header-panel>
</paper-drawer-panel>

In FF, drawer seems to be truncated. paper-drawer-toggle doesn't work.

IE's worse:

Changing to the full webcomponents.min.js polyfill didn't help.
Copied from original issue: PolymerElements/paper-drawer-panel#66

From @seahrh on June 18, 2015 9:6
Yes I'm using Win7. Let me try out the fix for Polymer/vulcanize#202 and report back.

@seahrh Are you on Windows? There's probably a path bug in vulcanize on Windows right now: https://github.com/Polymer/vulcanize/issues/202

From @seahrh on June 17, 2015 4:21
OK I took the example code and put it in demo.html, it works.
However, after vulcanizing the same file, I get the errors shown in the OP.
My vulcanize task:
gulp.task('vulcanize', function() {

    var DEST_DIR, VULCANIZED_EXT;
    DEST_DIR = bases.dist + 'WEB-INF/pages';
    VULCANIZED_EXT = '.vul.html';

    return gulp.src(['*.html', '!*' + VULCANIZED_EXT], {
        cwd : DEST_DIR
    }).pipe($.vulcanize({
        inlineScripts : false,
        inlineCss : false,
        stripComments : true
    })).on('error', error).pipe($.rename({
        extname : VULCANIZED_EXT
    })).pipe(gulp.dest(DEST_DIR));

});

Inline scripts or not, I see the same errors.
On gulp-vulcanize@6.0.1, vulcanize@1.9.1
My work can't be deployed to production if paper-drawer-panel only works un-vulcanized.

From @blasten on June 17, 2015 0:24
@seahrh I couldn't replicate the issue.
If you take that markup along with the imports:
<link rel="import" href="../../paper-header-panel/paper-header-panel.html">
<link rel="import" href="../../paper-toolbar/paper-toolbar.html">

and you put it in demo/demo.html, you should see it working. If you still have issues, can you provide a link that replicates the issue?

From @seahrh on June 18, 2015 10:52
Updated to vulcanize 1.9.3 and not using abspath. Same problem persists.
I'm using other PolymerElements such as paper-fab and paper-input and they show up fine on the vulcanized page.

From @blasten on June 18, 2015 20:14
ping @azakus

I'm seeing the exact same issue.
Adding --inline-css to the vulcanize command fixes the layout.
In the "Style Editor" in FF, the version generated by --inline-css has two extra inline stylesheets (the first two listed, actually) which clearly seems to be the source of the problem:
http://pastebin.com/cVX2n1Cp
http://pastebin.com/aNRxmKs4
Also in the Style Editor, manually importing paper-header-panel.css fixes the layout in the broken vulcanized file.

@michaelpg, thanks for the inline-css tip. Yes the vulcanzied page now renders properly in FF39, but the same problem still persists in IE11.

Any news on this issue? ... I have boiled my problem down to precisely this issue in IE11

This is actually a Polymer / Template element polyfill bug, where templates are processed before they are upgraded by the polyfill. I've made a PR in Polymer to work around this: https://github.com/Polymer/polymer/pull/2201

thanks

authors: JustinCase1089 azakus michaelpg seahrh

repo: Polymer/vulcanize


text:
Optimize JS Deployments

IIUC, the JS deployment uses build artifacts shell.js and worker.js, constructed via WebPack.
Deployments can be optimized for performance or for debugging. As of this writing, the defaults are set for debugging, but System Health analysis should be done using performance builds.
My plan is to

change the defaults for shell.js (as defined web/deploy/) to select for performance.
change web/deploy/deploy.sh so that it builds it's own version of worker.js (with performance settings) instead of copying worker.js out of shells/lib (which will remain with debug settings).

cc @ianull @piotrswigon

repo: PolymerLabs/arcs


text:
Launch links

This is great! Are you planning on making links clickable?

Please check version
flutter_html_view: "^0.4.0"
Links are clickable now

repo: PonnamKarthik/FlutterHtmlView


text:
1.17.1 contains no ExportedCommands

Before submitting a bug report:

Make sure you are able to repro it on the latest released version
Perform a quick search for existing issues to check if this bug has already been reported

Steps to reproduce
Install-Module PSScriptAnalyzer
Get-Command -Module PSScriptAnalyzer

Expected behavior
CommandType     Name                                               Version
-----------     ----                                               -------
Cmdlet          Get-ScriptAnalyzerRule                             1.16.1
Cmdlet          Invoke-Formatter                                   1.16.1
Cmdlet          Invoke-ScriptAnalyzer                              1.16.1

Actual behavior
Returns nothing.

If an unexpected error was thrown then please report the full error details using e.g. $error[0] | Select-Object *
Environment data
> $PSVersionTable
Name                           Value
----                           -----
PSVersion                      6.0.1
PSEdition                      Core
GitCommitId                    v6.0.1
OS                             Darwin 16.7.0 Darwin Kernel Version 16.7...
Platform                       Unix
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
WSManStackVersion              3.0

> (Get-Module -ListAvailable PSScriptAnalyzer).Version | ForEach-Object { $_.ToString() }
1.17.1

@jakerobinson For PowerShell Core, the minimum supported version is 6.0.2, you need to update your version.
This is documented on the Release page here but should also go into the main Readme (and we should throw a specific error in the next version of PSSA). The reason for requiring at least 6.0.2 is a bug in the NuGet packages of the reference asemblies for SMA in PS 6.0.0 and 6.0.1

Ouch. Any way we can specify a powershell version requirement for this module?

The psd1 specifies a minimum of 3.0 because we also support Windows PowerShell, therefore we cannot use that field. But the idea would be to add custom code in the psm1 file for that. But PS 6.1 will get released in 1 month, therefore 6.0 is only half a year away from being deprecated.

authors: bergmeister jakerobinson

repo: PowerShell/PSScriptAnalyzer


text:
Installing PowerShell on Ubuntu 20.04 results in an error (failed to fetch Packages.gz)

Building a Docker image using the following Dockerfile results in an error and PowerShell not being installed.
FROM ubuntu:20.04

ENV DEBIAN_FRONTEND noninteractive

RUN apt-get update && apt-get install -y wget apt-transport-https software-properties-common \
    && wget -q https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb \
    && dpkg -i packages-microsoft-prod.deb \
    && apt-get update \
    && add-apt-repository universe \
    && apt-get install -y powershell

The end of image build log:
#5 28.29 Get:6 https://packages.microsoft.com/ubuntu/20.04/prod focal/main amd64 Packages [79.9 kB]
#5 28.29 Err:6 https://packages.microsoft.com/ubuntu/20.04/prod focal/main amd64 Packages
#5 28.29   File has unexpected size (80223 != 79898). Mirror sync in progress? [IP: 40.114.136.21 443]
#5 28.29   Hashes of expected file:
#5 28.29    - Filesize:79898 [weak]
#5 28.29    - SHA512:33a69c24201b3f40d5bbdbeb94043455941bca0a6c5447f7b899e9ce131f9e3930670722b5857c8faa18c15e6fce220ccf192028efde7f21ebcbb3bd04320a33
#5 28.29    - SHA256:c4b106cd62d227c5b272d1d9c81c9f59f2dd1b2127542f6ab329fba993778355
#5 28.29    - SHA1:dbf156e2ef7864e218e36477ae73e8a835438ad5 [weak]
#5 28.29    - MD5Sum:98db4bd510ef8a65b615d7ed923477b0 [weak]
#5 28.29   Release file created at: Sat, 15 May 2021 00:38:08 +0000
#5 28.51 Fetched 10.5 kB in 1s (11.0 kB/s)
#5 28.51 Reading package lists...
#5 29.22 E: Failed to fetch https://packages.microsoft.com/ubuntu/20.04/prod/dists/focal/main/binary-amd64/Packages.gz  File has unexpected size (80223 != 79898). Mirror sync in progress? [IP: 40.114.136.21 443]
#5 29.22    Hashes of expected file:
#5 29.22     - Filesize:79898 [weak]
#5 29.22     - SHA512:33a69c24201b3f40d5bbdbeb94043455941bca0a6c5447f7b899e9ce131f9e3930670722b5857c8faa18c15e6fce220ccf192028efde7f21ebcbb3bd04320a33
#5 29.22     - SHA256:c4b106cd62d227c5b272d1d9c81c9f59f2dd1b2127542f6ab329fba993778355
#5 29.22     - SHA1:dbf156e2ef7864e218e36477ae73e8a835438ad5 [weak]
#5 29.22     - MD5Sum:98db4bd510ef8a65b615d7ed923477b0 [weak]
#5 29.22    Release file created at: Sat, 15 May 2021 00:38:08 +0000
#5 29.22 E: Some index files failed to download. They have been ignored, or old ones used instead.
------
executor failed running [/bin/sh -c apt-get update && apt-get install -y wget apt-transport-https && wget -q https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb     && dpkg -i packages-microsoft-prod.deb     && apt-get update     && add-apt-repository universe     && apt-get install -y powershell]: exit code: 100

Now works, I have no idea why it didn't work before.

repo: PowerShell/PowerShell


text:
Type check in switch statement isn't evaluated correctly

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
The PowerShell switch statement doesn't evaluate a non-trivial type expression correctly.
Here's an MRE:
[hashtable]$assertion = @{ Bool = $true; String = ''; Hash = @(@{}) }

foreach ($key in $assertion.Keys)
{
  $assert = $assertion[$key]

  $t = $assert.GetType()
  "$([System.Environment]::NewLine)$($t -eq [bool]), $($t -eq [string]), $($t -eq $t.IsArray -and $assert.Length -and $assert[0] -is [string]), $($t.IsArray -and $assert.Length -and $assert[0] -is [hashtable])"

  switch ($assert.GetType())
  {
    ([bool])
    {
      'It is a Boolean.'
      continue
    }

    ([string])
    {
      'It is a string.'
      continue
    }

    ($_.IsArray -and $assert.Length -and $assert[0] -is [string])
    {
      'It is an array of strings.'
      continue
    }

    ($_.IsArray -and $assert.Length -and $assert[0] -is [hashtable])
    {
      'It is an array of hashtables.'
      continue
    }
  }
}

Expected behavior
See MRE:

False, True, False, False
It is a string.

False, False, False, True
It is an array of hashtables.

True, False, False, False
It is a Boolean.

Actual behavior
See MRE:

False, True, False, False
It is a string.

False, False, False, True

True, False, False, False
It is a Boolean.

Error details
No response
Environment data
Name                           Value
----                           -----
PSVersion                      7.4.1
PSEdition                      Core
GitCommitId                    7.4.1
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_

(a) If you want a the hash table elements to be processed in the order declared,
(b) Expressions to be evaluated need to be in { } not (  )
> [hashtable]$assertion = [ordered]@{ Bool = $true; String = ''; Hash = @(@{}) }

foreach ($key in $assertion.Keys){
   write-host $key
  $assert = $assertion[$key]
  $t = $assert.GetType()
  "$([System.Environment]::NewLine)$($t -eq [bool]), $($t -eq [string]), $($t -eq $t.IsArray -and $assert.Length -and $assert[0] -is [string]), $($t.IsArray -and $assert.Length -and $assert[0] -is [hashtable])"
  switch ($assert.GetType()){
    ([bool])   {'It is a Boolean.';  continue}
    ([string]) {'It is a string.' ;  continue}
    {$_.IsArray -and $assert.Length -and $assert[0] -is [string]} {'It is an array of strings.';        continue }
    {$_.IsArray -and $assert.Length -and $assert[0] -is [hashtable]} {'It is an array of hashtables.' ; continue }
  }
}
Bool

True, False, False, False
It is a Boolean.
String

False, True, False, False
It is a string.
Hash

False, False, False, True
It is an array of hashtables.

(3) IF you are only running the switch this would be a better way to write it
switch ($assertion[$assertion.keys]){
    {$_ -is [bool]}  {'It is a Boolean.'}
    {$_ -is [string]} {'It is a string.'}
    {$_.Length -and $_[0] -is [string]} {'It is an array of strings.'}    # Fails for a single sting length will be greater than 0, but [0] will be a char
    {$_.Length -and $_[0] -is [hashtable]} {'It is an array of hashtables.' }
  }

continue is an optional "goto" and is only beneficial if the the selection terms overlap or evaluating them is expensive.

Ah, I see. Thanks for your very informative and elaborate answer! 👍

@jhoneill: Your last example doesn't work:
False, True, False, False
It is a string.
It is an array of hashtables.
It is a Boolean.

False, False, False, True
It is a string.
It is an array of hashtables.
It is a Boolean.

True, False, False, False
It is a string.
It is an array of hashtables.
It is a Boolean.

Here's another pitfall that doesn't work as expected:
[hashtable]$assertion = @{ Bool = $true; String = ''; HashArray = @(@{Test = '' }) }

foreach ($key in $assertion.Keys)
{
  $assert = $assertion[$key]

  $t = $assert.GetType()
  "$([System.Environment]::NewLine)$($t -eq [bool]), $($t -eq [string]), $($t -eq $t.IsArray -and $assert.Length -and $assert[0] -is [string]), $($t.IsArray -and $assert.Length -and $assert[0] -is [hashtable])"

  switch ($assert)
  {
    { $_ -is [bool] }
    {
      'It is a Boolean.'
      continue
    }

    { $_ -is [string] }
    {
      'It is a string.'
      continue
    }

    { $_.Length -and $_[0] -is [string] }
    {
      'It is an array of strings.'
      continue
    }

    { $_.Length -and $_[0] -is [hashtable] }
    {
      'It is an array of hashtables.'
      continue
    }
  }
}

switch ($assertion[$assertion.keys]){
    {$_ -is [bool]}  {'It is a Boolean.'}
    {$_ -is [string]} {'It is a string.'}
    {$_.Length -and $_[0] -is [string]} {'It is an array of strings.'}
    {$_.Length -and $_[0] -is [hashtable]} {'It is an array of hashtables.' }
  }
It is a Boolean.
It is a string.
It is an array of hashtables.

Seemed to work here  - it will only return all 3 if the tests all pass and those test are mutually exclusive.
If you put that in your loop you'll get all of them for repeated for as many items as you have.

Here's another pitfall that doesn't work as expected:

Ah.  That one is quite a good test for knowledge.  Switch expands arrays.
Put this into your example
    { $_ -is [HashTable] }
    {
      'It is a single hashtable.'
      continue
    }

and you'll see the because  the FOR loop has pulled an array value from and passed that as the switch value, each member of the array was evaluated.  A simple way to see it .
$array =  @( "a string", 7 , @('Nested' , 'array') )
switch ($array) {
default {"xx  " + $_ + " xx"}
}
"----"
foreach ($element in $array) {
    switch ($element ) {
    default {"xx  " + $_ + " xx"}
    }
}

The earlier samples did not pass the array as the switch variable.
continue , and break in switch often get used interchangeably, but continue runs the switch for further items, and break skips them.
Some of the behaviours definitely surprise people - especially as each language with a similar construct seems to have it's own wrinkles.

authors: SetTrend jhoneill


text:
Pwrshplugin Config File Paths Should be Validated Before Use

The paths to CoreCLR and PSHOME read by pwrshplugin should be validated before use to protect against bad input.
A potential API to use is PathIsDirectory.
It is part of api-ms-win-shlwapi-ie-l1-1-0.dll, but that API set is not present on Windows 7 (shlwapi.dll is though).

PathIsDirectory relies on shlwapi which is present on Win7, but not on win-arm builds.  I think using CreateFile() is sufficient.

authors: SteveL-MSFT mirichmo


text:
Import-Module does not properly report errors to users

If you have a script module that generates a terminating error, the error message shown to users does not indicate that the error came from Import-Module. Instead it simply shows the script module internals. This is inappropriate for users who may not have authored that script module.
If you have a function in a script module that generates a terminating error, and you invoke that function when the module is not loaded, the module will load, the terminating error will not be shown to end users at all, and the function will run. The suppression of the terminating error in this scenario needs to be corrected so that users see the error came from Import-Module which was implicitly invoked by invoking the command while auto-loading is enabled.
Note: This issue is closely related to the problem with terminating error handling in PowerShell (for which a collection of RFCs have been submitted as a PR). Terminating error handling aside, this issue focuses on how Import-Module does a poor job of reporting errors, sometimes not even reporting them at all.
Steps to reproduce
$moduleName = 'ModuleErrorHandlingTest'
$modulePath = Join-Path -Path $([Environment]::GetFolderPath('MyDocuments')) -ChildPath PowerShell/Modules/${moduleName}
New-Item -Path $modulePath -ItemType Directory -Force > $null
$nmmParameters = @{
    Path = "${modulePath}/${moduleName}.psd1"
    RootModule = "./${moduleName}.psm1"
    FunctionsToExport = @('Test-ErrorHandling')
}
New-ModuleManifest @nmmParameters
$scriptModulePath = Join-Path -Path $modulePath -ChildPath "${moduleName}.psm1"
New-Item -Path $scriptModulePath -ItemType File | Set-Content -Encoding UTF8 -Value @'
    1/0 # Oops!
    function Test-ErrorHandling {
        [cmdletBinding()]
        param()
        'Error handling output'
    }
'@

# This next command generates an error while loading the module, but the module still
# loads, and the error message does not tell the user that it came from Import-Module
# nor does it tell the user which module was being loaded when the error occurred.
Import-Module $moduleName
Remove-Module $moduleName

# This next command generates an error while implicitly loading a module, but the error
# is silenced and the module loads anyway so the end user has no idea that something
# happened.
Test-ErrorHandling
Remove-Module $moduleName
Remove-Item -LiteralPath $modulePath -Recurse -Force

Expected behavior
Note the differences in the actual error text that are shown in what should be expected when a module is loaded over what is actually shown below this code block.
Import-Module: Unexpected error while importing ModuleErrorHandlingTest module. Attempted to divide by zero.
At line:23 char:1
+ Import-Module $moduleName
+ ~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : NotSpecified: (:) [], RuntimeException
+ FullyQualifiedErrorId : RuntimeException

Import-Module: Unexpected error while implicitly importing ModuleErrorHandlingTest module. Attempted to divide by zero.
At line:29 char:1
+ Test-ErrorHandling
+ ~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : NotSpecified: (:) [], RuntimeException
+ FullyQualifiedErrorId : RuntimeException

Error handling output

Actual behavior
Attempted to divide by zero.
At C:\Users\kirka\OneDrive\Documents\PowerShell\Modules\ModuleErrorHandlingTest\ModuleErrorHandlingTest.psm1:1 char:5
+     1/0 # Oops!
+     ~~~
+ CategoryInfo          : NotSpecified: (:) [], RuntimeException
+ FullyQualifiedErrorId : RuntimeException

Error handling output

Environment data

Name                           Value
----                           -----
PSVersion                      6.2.0
PSEdition                      Core
GitCommitId                    6.2.0
OS                             Microsoft Windows 10.0.17763
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
WSManStackVersion              3.0

@KirkMunro
So you are suggesting that Import-Module should catch all exceptions and wrap them in a PSModuleImportErrorException ?
Note: IMHO the module author should be dealing explicitly with errors and providing an appropriate experience for the end user rather than simply relying on the PowerShell runtime to take care of error handling and presentation.

@bpayette Something like that.

I think module authors should deal with all errors (but they don't because they aren't forced to do so).
I think users should not see internals from modules that they likely didn't create if Import-Module fails (but they do because of how it handles errors).
I think the PowerShell runtime should not silence errors from dynamically loaded modules.

In my mind this means two things:

Providing better handling of errors in Import-Module so that...

...unexpected errors from module loading clearly identify the source of the error (the loading of the module), allowing end users to decide what action to take (chuck the module because it's crap, contact the author, something else...).
...errors that occur from implicit module loading are made visible to end users.

Beyond making the source of errors more visible to end users, get momentum/acceptance and implementation on at least some of this collection of RFCs that are in a PR right now -- specifically on the one to do with terminating error handling, so that we can have terminating errors that actually terminate.

Is the issue only for Import-Module, or other module cmdlets too, or module behavior in common?

I haven't stepped through the code while reproducing the error, but as far as I know this is only in Import-Module. The errors I have issue with occur while processing a psm1 file, which I don't believe is done anywhere outside of that cmdlet.

Hey @KirkMunro
First - kudos for trying to take on this problem. It's bugged me for years.

I think users should not see internals from modules that they likely didn't create if Import-Module fails (but they do because of how it handles errors).

Hmm ... in your "expected output" example, you're still showing the line/line number in the module where the error occurred. I assume you intend that it should show the line where Import-Module was called (or using module or #requires for that matter)?
WRT terminating errors, you can mostly get the behaviour you want simply by putting trap { break } at the top level of your module but what you can't do is create a RuntimeException and then set the InvocationInfo property so it points to where you want. If you trap/catch and then throw a new error it will report the throw line, not the original line. Having a way to "point" an error message to the appropriate location would make it possible for the script/module author to provide a much better error experience.
Also note that overarching problem doesn't just apply to modules. Scripts and functions have exactly the same problem. A user calling a script shouldn't be exposed to the internals of the script (at least not by default)

My goal here isn't to help module authors be lazy.

I totally get that. A big part of the problem is that script/function/module authors can be "lazy" about error handling and get an end-user error experience. Not ideal certainly but "free". For compiled-cmdlet authors, error handling isn't free so they need to put some thought into it.

I assume you intend that it should show the line where Import-Module was called (or using module or #requires for that matter)?

Correct. I created that output via a quick copy-paste-modify. It should show the line where the error occurred from the eyes of the end user (explicit import via Import-Module, using module, or #requires, or implicit import via invocation of a command that is in a module that has not been imported yet). I'll update the expected output in my post accordingly.
Interesting point on how RuntimeException instances could be configured with a specific InvocationInfo. I'm stepping through some of the code related to this to see how it works, and will keep this idea in mind.

Scripts and functions have exactly the same problem. A user calling a script shouldn't be exposed to the internals of the script (at least not by default)

You mean scripts and functions that have the CmdletBinding attribute, not all scripts and functions, right? If so, I agree. :)
My line in the sand on this is CmdletBinding. If a script or function uses CmdletBinding, then the intent of that script or function is to be treated like a command, which is different than simple scripts or basic functions that are more often consumed by the author or a team, maybe shared as example code to be modified, but not shared as a finished product for end users to use as a black box. In scripts or functions that use CmdletBinding, I believe they should behave as much like a cmdlet as possible, not showing internals to people who invoke them.

If your example module dot sources an external script that otherwise fails to be dot sourced then you will see no error.
Import-Module won't report an error in this case, but if you manually dot source said script the error is shown.
That's pretty much unexpected behavior which I encountered today so upvoting this.

authors: KirkMunro bpayette iSazonov metablaster


text:
Disable RPM SBOM test.

PR Summary

PR Context

PR Checklist

[ ] PR has a meaningful title

Use the present tense and imperative mood when describing your changes

[ ] Summarized changes
[ ] Make sure all .h, .cpp, .cs, .ps1 and .psm1 files have the correct copyright header
[ ] 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

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

[ ] Experimental feature name(s):

User-facing changes

[ ] Not Applicable
OR
[ ] Documentation needed

[ ] Issue filed:

Testing - New and feature

[ ] 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

[ ] 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 opened an issue in the relevant tool repository. This may include:

[ ] Impact on PowerShell Editor Services which is used in the PowerShell extension for VSCode
(which runs in a different PS Host).

[ ] Issue filed:

[ ] Impact on Completions (both in the console and in editors) - one of PowerShell's most powerful features.

[ ] Issue filed:

[ ] Impact on PSScriptAnalyzer (which provides linting & formatting in the editor extensions).

[ ] Issue filed:

[ ] Impact on EditorSyntax (which provides syntax highlighting with in VSCode, GitHub, and many other editors).

[ ] Issue filed:

/backport to release/v7.2.6


text:
Mark charset test as pending

PR Summary
Mark charset regex regression tests as pending because .NET made the bad regex's run fast.
PR Context

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 opened an issue in the relevant tool repository. This may include:

[ ] Impact on PowerShell Editor Services which is used in the PowerShell extension for VSCode
(which runs in a different PS Host).

[ ] Issue filed:

[ ] Impact on Completions (both in the console and in editors) - one of PowerShell's most powerful features.

[ ] Issue filed:

[ ] Impact on PSScriptAnalyzer (which provides linting & formatting in the editor extensions).

[ ] Issue filed:

[ ] Impact on EditorSyntax (which provides syntax highlighting with in VSCode, GitHub, and many other editors).

[ ] Issue filed:

/backport to release/v7.3.1


text:
Fix completion for PSCustomObject variable properties

PR Summary
Fixes tab completion scenarios like:
PS C:\> $Test = Get-ChildItem C:\ | select Name,LastWriteTime
PS C:\> $Test | where {$_.las<Tab>

Where the script text that assigns a value to the variable is unavailable so it infers the members based on the current variable value. Previously it would just show the PSObject members but now it shows the custom member values as well.

PR Context

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

[ ] N/A or can only be tested interactively
OR
[X] 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 opened an issue in the relevant tool repository. This may include:

[ ] Impact on PowerShell Editor Services which is used in the PowerShell extension for VSCode
(which runs in a different PS Host).

[ ] Issue filed:

[ ] Impact on Completions (both in the console and in editors) - one of PowerShell's most powerful features.

[ ] Issue filed:

[ ] Impact on PSScriptAnalyzer (which provides linting & formatting in the editor extensions).

[ ] Issue filed:

[ ] Impact on EditorSyntax (which provides syntax highlighting with in VSCode, GitHub, and many other editors).

[ ] Issue filed:

The markdown link check failure was due to the CodeCoverageAnalysis.md doc, which was already removed. So, it doesn't block this PR.


text:
Enable building on Kali Linux

PR Summary
Enable building on Kali Linux by updating build.psm1 to treat it as Debian.  Verified manually.
PR Context

PR Checklist

[x] PR has a meaningful title

Use the present tense and imperative mood when describing your changes

[x] Summarized changes
[x] Change is not breaking
[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.

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

@PoshChan please remind me in 1 minute

@SteveL-MSFT, will remind you in 1 minute

@PoshChan please rebuild linux

@SteveL-MSFT, could not find build at: , error: Invoke-RestMethod :
Access Denied: The Personal Access Token used has expired.

    body {
        font-family: "-apple-system",BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Helvetica,Ubuntu,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
        font-size: 14px;
        height: 100%;
        margin: 0;
        background-color: #fff;
    }

    A {
        color: #007ACC;
        text-decoration: none;
    }
    A:hover {
        text-decoration: underline;
    }

    .header {
        background-color: #0078d4;
        color: #fff;
        height: 40px;
        font-size: 14px;
    }

    .header .logo {
        height: 20px;
        margin: 9px 5px 0 9px;
    }

    .header .product-name {
        vertical-align: top;
        padding-top: 10px;
        display: inline-block;
    }

    .content {
        margin-left: 15%;
        margin-right: 5%;
    }

    .error-summary {
        margin-bottom: 40px;
    }

    .error-code {
        display: inline-block;
        vertical-align: top;
        color: #777;
        font-size: 200px;
        line-height: 130px;
        margin-top: 60px;
        margin-right: 40px;
    }

    .error-details {
        display: inline-block;
        vertical-align: top;
        margin-top: 60px;
        max-width: 500px;
    }

    .error-details > h1 {
        font-size: 28px;
        margin: 0;
        text-transform:uppercase;
        font-weight:normal;
    }
    .error-details > h3 {
        text-transform: uppercase;
        font-size: 16px;
    }

    .error-details .action {
        font-size: 16px;
    }

    .error-details .action-text {
        vertical-align: middle;
    }

    .error-details > .helpful-links > a {
        margin-right: 10px;
    }

    .more-info {
        min-width:600px;
    }

    .more-info > pre {
        margin: 20px 0;
        white-space: pre-wrap;
    }

    .tips, .additionalDetails {
        min-width:500px;
        margin: 40px 0;
    }

    .tips > ul {
        list-style-type: square;
    }

    .tips > ul > li {
        margin-bottom: 10px;
    }

    .additionalDetails > h3 {
        font-size: 16px;
        font-weight: normal;
    }

    .additionalDetails .title {
        font-weight: bold;
        color: #444;
    }

    .additionalDetails .info {
        color: #777;
    }

    .additionalDetails > div {
        margin-top: 5px;
        margin-left: 20px;
    }

    Azure DevOps Services

        401

            Not Authorized

            The request requires authentication

                    Sign in

                Service Status and Support
                @AzureDevOps

        More information about this error
        Access Denied: The Personal Access Token used has expired.

        Additional technical details:

            Activity ID:
            5099edbe-20ba-4397-b908-171e12f3b26c

            Date and Time:
            4/26/2019 6:07:33 PM (UTC)

    function getError() {
        return "eyJVcmkiOiJodHRwczovL2Rldi5henVyZS5jb206NDQzL1Bvd2VyU2hlbGwvX2FwaXMvYnVpbGQvYnVpbGRzLzIxNjIxP2FwaS12ZXJzaW9uPTUuMCIsIlN0YXR1c0NvZGUiOjQwMSwiTWVzc2FnZSI6IkFjY2VzcyBEZW5pZWQ6IFRoZSBQZXJzb25hbCBBY2Nlc3MgVG9rZW4gdXNlZCBoYXMgZXhwaXJlZC4iLCJEZXRhaWxzIjoiIiwiQ29udGVudCI6bnVsbCwiSWRlbnRpdHkiOiIifQ==";
    }

    try {
        if (typeof window.external !== "undefined" && typeof window.external.notifyError !== "undefined") {
            window.external.notifyError(getError());
        }
        else if (typeof window.notifyError !== "undefined") {
            window.notifyError(getError());
        }
    }
    catch (x) {
        document.write("" + x + "");
    }

At D:\home\site\wwwroot\Modules\AzDevOps\AzDevOps.psm1:7 char:9

    Invoke-RestMethod -Uri $url -Authentication Basic -Credential ...

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

CategoryInfo          : InvalidOperation: (Method: GET, Reques\u2026PowerShell/6.2.0
}:HttpRequestMessage) [Invoke-RestMethod], HttpResponseException
FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeRestMethodCommand

@SteveL-MSFT, this is the reminder you requested 1 minute ago

@PoshChan please remind me in 1 minute

@SteveL-MSFT, will remind you in 1 minute

@SteveL-MSFT, this is the reminder you requested 1 minute ago

authors: PoshChan SteveL-MSFT


text:
Performance of PowerShellGet

Summary of the new feature / enhancement
I did a quick test and hope to understanding the performance of PowerShellGet. I just call Find-Module once.
PowerShellGet\Find-Module Az -Repository PSGallery

Below are the list of http requests. Why does it need so many requests? If the network is not good or PSGallery slow, it will take longer time.
#	Result	Protocol	Host	URL	Body	Caching	Content-Type	Process	Comments	Custom
4	200	HTTPS	www.powershellgallery.com	/api/v2	338	no-cache; Expires: -1	application/xml; charset=utf-8	pwsh:2188
6	200	HTTPS	www.powershellgallery.com	/api/v2	341	no-cache; Expires: -1	application/xml; charset=utf-8	pwsh:2188
7	200	HTTPS	www.powershellgallery.com	/api/v2	341	no-cache; Expires: -1	application/xml; charset=utf-8	pwsh:2188
8	200	HTTPS	www.powershellgallery.com	/api/v2/FindPackagesById()?id='Az'&$skip=0&$top=40	45,026	max-age=60, private	application/atom+xml; type=feed; charset=utf-8	pwsh:2188
9	200	HTTPS	www.powershellgallery.com	/api/v2/FindPackagesById()?id='Az'&$skip=0&$top=40	45,026	max-age=60, private	application/atom+xml; type=feed; charset=utf-8	pwsh:2188
10	200	HTTPS	www.powershellgallery.com	/api/v2/FindPackagesById()?id='Az'&$skip=160&$top=40	444	max-age=60, private	application/atom+xml; type=feed; charset=utf-8	pwsh:2188
53	200	HTTPS	www.powershellgallery.com	/api/v2/FindPackagesById()?id='Az'&$skip=80&$top=40	444	max-age=60, private	application/atom+xml; type=feed; charset=utf-8	pwsh:2188
103	200	HTTPS	www.powershellgallery.com	/api/v2/FindPackagesById()?id='Az'&$skip=120&$top=40	444	max-age=60, private	application/atom+xml; type=feed; charset=utf-8	pwsh:2188
159	200	HTTPS	www.powershellgallery.com	/api/v2/FindPackagesById()?id='Az'&$skip=40&$top=40	45,004	max-age=60, private	application/atom+xml; type=feed; charset=utf-8	pwsh:2188

Proposed technical implementation details (optional)
No response

Thanks @dingmeng-xue, as a part of the re-write with v3 we have removed these redundant calls. I will close this issue as this has been addressed in the v3 previews.

authors: SydneyhSmith dingmeng-xue

repo: PowerShell/PowerShellGet


text:
Add RC3 release changes

These changes to the following:

Remove the -Force parameter from Set-SecretStoreConfiguration cmdlet. The -Confirm:$false parameter should now be used to prevent PowerShell from prompting for confirmation.

Add -Password parameter to Set-SecretStoreConfiguration cmdlet. This new parameter allows a password to be passed in as a cmdlet argument so that prompting is not needed.

Fix the manifest license Url.

Update and fix help files.  Help files were not compiling into xml correctly before.

LGTM, thanks for adding me to this PR! It was helpful to see Reset-Store (and I'll look further into that for PSGet as we discussed) and ?? (the null coalescing operator- I didn't know that existed)

authors: PaulHigin anamnavi

repo: PowerShell/SecretStore


text:
xADDomainController fails when site is left out

Hi I'm currently running a two DC server environment and according to your documentation the site parameter is optional when configuring the xADDomainController but if I leave it blank it get an error saying Install-ADDSDomainController can't continue because SiteName is empty.
Here is the configuration I'm using:
configuration AssertDC
{
param
(
[Parameter(Mandatory)]
[pscredential]$safemodeAdministratorCred,
[Parameter(Mandatory)]
[pscredential]$domainCred
)
Import-DscResource -ModuleName xActiveDirectory
Import-DscResource –ModuleName 'PSDesiredStateConfiguration'

Node $AllNodes.Where{$_.Role -eq "primary"}.Nodename
{
    WindowsFeature ADDSInstall
    {
        Ensure = "Present"
        Name = "AD-Domain-Services"
    }

    WindowsFeature RSATTools
    {
        Ensure = 'Present'
        Name = 'RSAT-AD-Tools'
        IncludeAllSubFeature = $true
        DependsOn= '[WindowsFeature]ADDSInstall'
    }

    xADDomain FirstDS
    {
        DomainName = $Node.DomainName
        DomainAdministratorCredential = $domainCred
        SafemodeAdministratorPassword = $safemodeAdministratorCred
        DependsOn = "[WindowsFeature]RSATTools"
    }

    xWaitForADDomain DscForestWait
    {
        DomainName = $Node.DomainName
        DomainUserCredential = $domainCred
        RetryCount = $Node.RetryCount
        RetryIntervalSec = $Node.RetryIntervalSec
        DependsOn = "[xADDomain]FirstDS"
    }
}

Node $AllNodes.Where{$_.Role -eq "replica"}.Nodename
{
    WindowsFeature ADDSInstall
    {
        Ensure = "Present"
        Name = "AD-Domain-Services"
    }

    WindowsFeature RSATTools
    {
        Ensure = 'Present'
        Name = 'RSAT-AD-Tools'
        IncludeAllSubFeature = $true
        DependsOn= '[WindowsFeature]ADDSInstall'
    }

    xWaitForADDomain DscForestWait
    {
        DomainName = $Node.DomainName
        DomainUserCredential = $domainCred
    RetryCount = $Node.RetryCount
        RetryIntervalSec = $Node.RetryIntervalSec
        DependsOn = "[WindowsFeature]RSATTools"
    }
    xADDomainController SecondDC
    {
        DomainName = $Node.DomainName
        DomainAdministratorCredential = $domainCred
        SafemodeAdministratorPassword = $safemodeAdministratorCred
        SiteName = 'Default-First-Site-Name'
        DependsOn = "[xWaitForADDomain]DscForestWait"
    }
}

}
If I comment out the SiteName in the xADDomainController SecondDC block I get the error mentioned above, if I leave it in it works fine. What's causing this, my configuration or something else?

@FrodeOA What version of xActiveDirectory are you using? This same bug was fixed in #133 which went out in the latest version (2.16.0.0)

I pulled down the master branch a few weeks ago and the version is 2.15.0.0 so I guess that's the issue then, thanks.

authors: FrodeOA kwirkykat

repo: PowerShell/xActiveDirectory


text:
Обновление компоненты VanessaExt, версия 1.3.9.29

Прерывание эмуляции ввода текста

run tests

Спасибо!

authors: Pr-Mex lintest

repo: Pr-Mex/vanessa-automation


text:
Setup esLint to check for errors and syntax. Added a CI workflow for the same.

Fixes #16 .
Kindly let me know if any changes are required.

there seems to be some conflicts in package-lock.json file

just fixed the conflict.

so can you explain me what will it function like?

Can you open this PR too?

can't open it again once merged

Not a problem. I’ll make the new PR. Sorry for inconvenience.
On Mon, Oct 9, 2023 at 2:11 PM Pranav Khandagale @.***>
wrote:

can't open it again once merged
—
Reply to this email directly, view it on GitHub
https://github.com/Pranavnk15/Todo-List/pull/24#issuecomment-1753443872,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AN7BZU2X6LDG7PSZ66WJMVTX6Q44BAVCNFSM6AAAAAA5ZDNFI2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONJTGQ2DGOBXGI
.
You are receiving this because you authored the thread.Message ID:
@.***>

Nope, not an issue, I am too learning new things by maintaining  the project


text:
Reading a very large log file gives OOM error

This happens with a 3.8Gb log file
java.lang.OutOfMemoryError: GC overhead limit exceeded
	at java.util.Arrays.copyOfRange(Arrays.java:3664)
	at java.lang.String.<init>(String.java:207)
	at java.io.BufferedReader.readLine(BufferedReader.java:356)
	at java.io.BufferedReader.readLine(BufferedReader.java:389)
	at org.apache.commons.io.IOUtils.readLines(IOUtils.java:1033)
	at org.jenkinsci.plugins.codesonar.CodeSonarPublisher.perform(CodeSonarPublisher.java:109)
	at hudson.tasks.BuildStepCompatibilityLayer.perform(BuildStepCompatibilityLayer.java:81)
	at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
	at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:744)
	at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:690)
	at hudson.model.Build$BuildExecution.post2(Build.java:186)
	at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:635)
	at hudson.model.Run.execute(Run.java:1749)
	at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
	at hudson.model.ResourceController.execute(ResourceController.java:97)
	at hudson.model.Executor.run(Executor.java:429)

When you fix this problem, can you please also search and review all the rest of the plugin code for where we load or read files, without taking into account those can be huge.
Search for read file, file etc.

Use grep -i -H -r "readFromFile" . for example ... report findings on issues. You might want to check a lot of words other than readFromFile.

Right a couple of things.
First off, it appears that the output we've been looking for doesn't even get produced in any of my cases, so the whole reading from the console log appears to be a wast of effort.
Second, there are no other places where we use file handles or read from resources, so if we fix the issue on line 109 in CodeSonarPublisher.java we should be OK.

Second, there are no other places where we use file handles or read from resources,

Show the grep results...

Not doing it with grep, intellij "shift+f" -> "file" on root level folder is just as good. But anyways here are the results:
test/java/org/jenkinsci/plugins/codesonar/integration/conditions/ConditionIntegrationTestBase.java:        when(mockedAnalysisService.getAnalysisUrlFromLogFile(any(List.class)))
test/java/org/jenkinsci/plugins/codesonar/integration/CodeSonarPublisherIT.java:import org.apache.commons.io.FileUtils;
test/java/org/jenkinsci/plugins/codesonar/unit/services/AnalysisServiceTest.java:    public void providedLogFileWithAnAnalysisUrlPresent_shouldReturnAnAnalysisUrl() {
test/java/org/jenkinsci/plugins/codesonar/unit/services/AnalysisServiceTest.java:        final List<String> LOG_FILE_WITH_URL = new ArrayList<>();
test/java/org/jenkinsci/plugins/codesonar/unit/services/AnalysisServiceTest.java:        LOG_FILE_WITH_URL.add("codesonar: Files parsed successfully.  Logs are visible at:");
test/java/org/jenkinsci/plugins/codesonar/unit/services/AnalysisServiceTest.java:        LOG_FILE_WITH_URL.add("codesonar: http://10.10.1.125:8080/analysis/98.html");
test/java/org/jenkinsci/plugins/codesonar/unit/services/AnalysisServiceTest.java:        LOG_FILE_WITH_URL.add("Use 'codesonar analyze' to start the analysis");
test/java/org/jenkinsci/plugins/codesonar/unit/services/AnalysisServiceTest.java:        String result = analysisService.getAnalysisUrlFromLogFile(LOG_FILE_WITH_URL);
test/java/org/jenkinsci/plugins/codesonar/unit/services/AnalysisServiceTest.java:    public void providedLogFileWithNoAnalysisUrlPresent_shouldReturnNull() {
test/java/org/jenkinsci/plugins/codesonar/unit/services/AnalysisServiceTest.java:        final List<String> LOG_FILE_WITHOUT_URL = new ArrayList<>();
test/java/org/jenkinsci/plugins/codesonar/unit/services/AnalysisServiceTest.java:        LOG_FILE_WITHOUT_URL.add("codesonar: Files parsed successfully.  Logs are visible at:");
test/java/org/jenkinsci/plugins/codesonar/unit/services/AnalysisServiceTest.java:        LOG_FILE_WITHOUT_URL.add("Use 'codesonar analyze' to start the analysis");
test/java/org/jenkinsci/plugins/codesonar/unit/services/AnalysisServiceTest.java:        String result = analysisService.getAnalysisUrlFromLogFile(LOG_FILE_WITHOUT_URL);
main/resources/org/jenkinsci/plugins/codesonar/CodeSonarBuildAction/summary.jelly:    <t:summary icon="${it.getIconFileName()}">
Binary file main/webapp/icons/codesonar-logo.png matches
main/java/org/jenkinsci/plugins/codesonar/CodeSonarLatestAnalysisProjectAction.java:    public String getIconFileName() {
main/java/org/jenkinsci/plugins/codesonar/models/metrics/Metric.java:    private String file;
main/java/org/jenkinsci/plugins/codesonar/models/metrics/Metric.java:    public String getFile() {
main/java/org/jenkinsci/plugins/codesonar/models/metrics/Metric.java:        return file;
main/java/org/jenkinsci/plugins/codesonar/models/metrics/Metric.java:    public void setFile(String file) {
main/java/org/jenkinsci/plugins/codesonar/models/metrics/Metric.java:        this.file = file;
main/java/org/jenkinsci/plugins/codesonar/models/metrics/Metric.java:        return "Metric{" + "url=" + url + ", name=" + name + ", description=" + description + ", granularity=" + granularity + ", file=" + file + ", procedure=" + procedure + ", value=" + value + '}';
main/java/org/jenkinsci/plugins/codesonar/models/procedures/ProcedureRow.java:    private String file;
main/java/org/jenkinsci/plugins/codesonar/models/procedures/ProcedureRow.java:    public String getFile() {
main/java/org/jenkinsci/plugins/codesonar/models/procedures/ProcedureRow.java:        return file;
main/java/org/jenkinsci/plugins/codesonar/models/procedures/ProcedureRow.java:    public void setFile(String file) {
main/java/org/jenkinsci/plugins/codesonar/models/procedures/ProcedureRow.java:        this.file = file;
main/java/org/jenkinsci/plugins/codesonar/models/procedures/ProcedureRow.java:        hash = 23 * hash + Objects.hashCode(this.file);
main/java/org/jenkinsci/plugins/codesonar/models/procedures/ProcedureRow.java:        if (!Objects.equals(this.file, other.file)) {
main/java/org/jenkinsci/plugins/codesonar/models/procedures/ProcedureRow.java:        return "ProcedureRow{" + "file=" + file + ", procedure=" + procedure + ", metrics=" + metrics + '}';
main/java/org/jenkinsci/plugins/codesonar/models/analysis/Analysis.java:            if (message.contains("Bad File System")) {
main/java/org/jenkinsci/plugins/codesonar/models/analysis/Analysis.java:            } else if (message.contains("Bad Configuration File Setting")) {
main/java/org/jenkinsci/plugins/codesonar/models/analysis/Analysis.java:            } else if (message.contains("Bad Configuration File Settings")) {
main/java/org/jenkinsci/plugins/codesonar/models/analysis/Analysis.java:            } else if (message.contains("Missing Source File")) {
main/java/org/jenkinsci/plugins/codesonar/models/analysis/Analysis.java:            } else if (message.contains("Missing Source Files")) {
main/java/org/jenkinsci/plugins/codesonar/models/analysis/Warning.java:    private String file;
main/java/org/jenkinsci/plugins/codesonar/models/analysis/Warning.java:    public String getFile() {
main/java/org/jenkinsci/plugins/codesonar/models/analysis/Warning.java:        return file;
main/java/org/jenkinsci/plugins/codesonar/models/analysis/Warning.java:    public void setFile(String file) {
main/java/org/jenkinsci/plugins/codesonar/models/analysis/Warning.java:        this.file = file;
main/java/org/jenkinsci/plugins/codesonar/models/report/Column.java: * To change this template file, choose Tools | Templates
main/java/org/jenkinsci/plugins/codesonar/models/report/Text.java: * To change this template file, choose Tools | Templates
main/java/org/jenkinsci/plugins/codesonar/models/report/Title.java: * To change this template file, choose Tools | Templates
main/java/org/jenkinsci/plugins/codesonar/models/report/Row.java: * To change this template file, choose Tools | Templates
main/java/org/jenkinsci/plugins/codesonar/models/report/Report.java: * To change this template file, choose Tools | Templates
main/java/org/jenkinsci/plugins/codesonar/models/report/Table.java: * To change this template file, choose Tools | Templates
main/java/org/jenkinsci/plugins/codesonar/conditions/ConditionDescriptor.java: * To change this template file, choose Tools | Templates
main/java/org/jenkinsci/plugins/codesonar/CodeSonarProjectAction.java:    public String getIconFileName() {
main/java/org/jenkinsci/plugins/codesonar/CodeSonarPublisher.java:    public void perform(Run<?, ?> run, FilePath workspace, Launcher launcher, TaskListener listener) throws InterruptedException, IOException {
main/java/org/jenkinsci/plugins/codesonar/CodeSonarPublisher.java:        List<String> logFile = IOUtils.readLines(run.getLogReader());
main/java/org/jenkinsci/plugins/codesonar/CodeSonarPublisher.java:        String analysisUrl = analysisService.getAnalysisUrlFromLogFile(logFile);
main/java/org/jenkinsci/plugins/codesonar/CodeSonarBuildAction.java:    public String getIconFileName() {
main/java/org/jenkinsci/plugins/codesonar/services/IAnalysisService.java:    String getAnalysisUrlFromLogFile(List<String> logFile);
main/java/org/jenkinsci/plugins/codesonar/services/AnalysisService42.java:    public String getAnalysisUrlFromLogFile(List<String> logFile) {
main/java/org/jenkinsci/plugins/codesonar/services/AnalysisService42.java:        for (String line : logFile) {
main/java/org/jenkinsci/plugins/codesonar/services/AnalysisService40.java:    public String getAnalysisUrlFromLogFile(List<String> logFile) {
main/java/org/jenkinsci/plugins/codesonar/services/AnalysisService40.java:        for (String line : logFile) {

Fine, I found these relevant for scrutiny and checking if they break with big files or inputs:
./src/main/java/org/jenkinsci/plugins/codesonar/CodeSonarPublisher.java:109:        List logFile = IOUtils.readLines(run.getLogReader());
./src/main/java/org/jenkinsci/plugins/codesonar/CodeSonarPublisher.java:110:        String analysisUrl = analysisService.getAnalysisUrlFromLogFile(logFile);
./src/main/java/org/jenkinsci/plugins/codesonar/services/AnalysisService42.java:49:    public String getAnalysisUrlFromLogFile(List logFile) {
./src/main/java/org/jenkinsci/plugins/codesonar/services/IAnalysisService.java:9:    String getAnalysisUrlFromLogFile(List logFile);
But I guess that is also where you get the original error from.

Yep. I'm reading up on how you can process gigantic log files without using too much memory. I'll try to run some experiments with the logfile from AWS.

But what about you said we didn't even need it? Isn't it old code that looks for the url in the console log, while we actually ask the user for it in the configuration?
So do we at all need to look for it?

@buep I'm worried about backwards compatibility. It seems to me that this might be with an older version of codesonar, so that removing it might cause older versions to fail. I initially just thought to delete it, but it might be dangerous.

I'm worried about backwards compatibility. It seems to me that this might be with an older version of codesonar

As in plugin our code sonar hub? Not matter what we have the configuraiton in our plugin right?
I think we should ask Grammatech about the compatibility.

@buep I was being unclear, the code might be there to support older versions of Codesonar (the tool) than what we're testing with. But we can ask Grammatech about it.

Yes, please ask before we do a lot of extra work handling large files for no reason.

authors: MadsNielsen buep

repo: Praqma/codesonar-plugin


text:
Can't paste exp password in html5

Pasting works fine on native build.

On Firefox 124.0.2 (64-bit) on Linux it works for me. I needed to copy the string multiple times for it to work.
I didn’t get middle-click pasting working, that works on native.
On Chromium 123.0.6312.105 I can’t get copy or paste working. Or rather I could only paste what I copied in that page.
It seems browsers generally have some difficulties with copy-paste. https://docs.godotengine.org/en/stable/tutorials/export/exporting_for_web.html#clipboard

it might be possible to circumvent this with down/uploading a text file or javascript prompts (with default values)

it might be possible to circumvent this with down/uploading a text file or javascript prompts (with default values)

I found that making a custom html/js/css DOM element and then spawning it via JavaScriptBridge.eval is a pretty decent workaround.
See: https://github.com/godotengine/godot/issues/83752#issuecomment-2322229670

authors: Kvel2D TinyTakinTeller basxto


text:
autocomplete doesn't suggests push_warning() and push_error()

Like in title.

It's time to update the docs.

also time_left for Timer is not suggested

It took me a long time, but the docs have been updated with the latest release.

repo: PrestonKnopp/language-gdscript