Multiple UseSwaggerUI support removed?

Hi,
We're trying to migrate to the new 6.0.2 release,
We're currently using UseSwaggerUI twice, while each UI renders different API methods (one is used for the most common methods, and the other for all methods regardless of their usage).
The methods are excluded using the DocInclusionPredicate, based on the DocumentName.
After migrating to the new 6.0.2 release, only the second UseSwaggerUI call is actually working, and the first one seems to be completely ignored.
Is that intended behavior or a bug? Is there any other way to achieve multiple endpoints with different methods?
Thank you,
Effy

Hi @effyteva. In the latest version, if you're configuring the Swagger or SwaggerUI middleware with the overload that accepts a setup action (e.g. Action<SwaggerUIOptions>) then you're implicitly using the singleton instance of options from you're app's DI container (see the ASP.NET Core Options pattern for more info on this).
So, for your usecase you'll need to use the overload that accepts a specific instance of options instead of the setup action:
app.UseSwaggerUI(new SwaggerUIOptions
{
    RoutePrefix = "foo-docs",
    ConfigObject = new ConfigObject
    {
        Urls = new[] { new UrlDescriptor { Url = "/swagger/foo/swagger.json", Name = "Foo Docs"} }
    }
});

app.UseSwaggerUI(new SwaggerUIOptions
{
    RoutePrefix = "bar-docs",
    ConfigObject = new ConfigObject
    {
        Urls = new[] { new UrlDescriptor { Url = "/swagger/bar/swagger.json", Name = "Bar Docs"} }
    }
});

Thank you @domaindrivendev
I appreciate your quick response, this worked perfect, and we've managed to upgrade to the newest release once again.
Effy

That helped me out! Thank you so much for the ConfigObject usage Example! I worked for days to have two different Swagger UIs for different endpoints!


Update UG for 1.2

This PR updates the onboarding section of the UG with v1.2.
Closes

closes #118
closes #119
closes #122
closes #124
closes #126

Codecov Report

Merging #141 (99a6273) into master (6683581) will increase coverage by 0.33%.
The diff coverage is n/a.

:exclamation: Current head 99a6273 differs from pull request most recent head aa496f7. Consider uploading reports for the commit aa496f7 to get more accurate results

@@             Coverage Diff              @@
##             master     #141      +/-   ##
============================================
+ Coverage     72.15%   72.49%   +0.33%
- Complexity      399      564     +165
============================================
  Files            70       92      +22
  Lines          1232     1687     +455
  Branches        125      182      +57
============================================
+ Hits            889     1223     +334
- Misses          311      418     +107
- Partials         32       46      +14

Impacted Files
Coverage Δ

...a/seedu/contax/logic/parser/FindCommandParser.java
58.82% <0.00%> (-41.18%)
:arrow_down:

...ain/java/seedu/contax/commons/util/StringUtil.java
69.23% <0.00%> (-25.51%)
:arrow_down:

...main/java/seedu/contax/storage/StorageManager.java
81.48% <0.00%> (-12.97%)
:arrow_down:

...ain/java/seedu/contax/logic/parser/ParserUtil.java
90.62% <0.00%> (-6.60%)
:arrow_down:

src/main/java/seedu/contax/model/ModelManager.java
95.52% <0.00%> (-4.48%)
:arrow_down:

...ava/seedu/contax/logic/commands/CommandResult.java
87.50% <0.00%> (-0.74%)
:arrow_down:

src/main/java/seedu/contax/MainApp.java
0.00% <0.00%> (ø)

src/main/java/seedu/contax/model/Model.java
100.00% <0.00%> (ø)

src/main/java/seedu/contax/ui/MainWindow.java
0.00% <0.00%> (ø)

.../java/seedu/contax/logic/commands/FindCommand.java
100.00% <0.00%> (ø)

... and 28 more

Continue to review full report at Codecov.

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


Version <IP_ADDRESS>.123 Information

Hello everybody. First of all thank you very much for this repo. I am new on github, I don't know is this right place to share this, if it is not; please inform me and accept my apologises.
I want to share version <IP_ADDRESS>.123's headers and signature key.
signature key is: a86109795736d73c9a94172cd9b736917d7d94ca61c9101164894b3f0d43bef4
And also I have a question, I think I don't have to send all headers right? How you decide for that? I got 'spam errors' on different devices with different real mobile ips. I think I should not send all headers.
If you think this is not related, I just wanted to share my knowladge about it, thats all, thank you very much :)

xhr_headers["X-DEVICE-ID"] = DeviceInfo.getUniqueId();
xhr_headers["X-Pigeon-Session-Id"] = generateTemporaryGuid();
xhr_headers["X-Pigeon-Rawclienttime"] = (Date.now() / 1000).toFixed(3);
xhr_headers["X-IG-Connection-Speed"] =  `${lodash_1.random(1000, 3700)}kbps`;
xhr_headers["X-IG-Bandwidth-Speed-KBPS"] = '-1.000';
xhr_headers["X-IG-Bandwidth-TotalBytes-B"] = '0';
xhr_headers["X-IG-Bandwidth-TotalTime-MS"] = '0';
xhr_headers["X-Bloks-Version-Id"] = '0a3ae4c88248863609c67e278f34af44673cff300bc76add965a9fb036bd3ca3';
xhr_headers["X-MID"] = mID;
xhr_headers["X-IG-WWW-Claim"] = "0";
xhr_headers["X-Bloks-Is-Layout-RTL"] = false;
xhr_headers["X-IG-Device-ID"] = dUID;
xhr_headers["X-IG-Android-ID"] = "android-" + getUniqueId().toString();
xhr_headers["X-IG-Connection-Type"] = "mobile(UMTS)";
xhr_headers["X-IG-Capabilities"] = "3brTvw==";
xhr_headers["X-IG-App-ID"] = "567067343352427";
xhr_headers["Content-Type"] = "application/x-www-form-urlencoded; charset=UTF-8";
xhr_headers["Accept-Encoding"] = "gzip, deflate";
xhr_headers["Host"] = "i.instagram.com"
xhr_headers["X-FB-HTTP-Engine"] = "Liger";
xhr_headers["Connection"] = "close";
xhr_headers["Content-Length"] = contentLength;

Not used v117 .  need to add header from v123 to newest vertion:
http.SetRequestHeader (“X-IG-App-Locale”, “en_US”)
http.SetRequestHeader (“X-IG-Device-Locale”, “en_US”)


SEECD 2020.2 on PharLap cannot run ECAT 9145 in hybrid mode with FPGA bitfile

Describe the bug
ECAT 9145 hybrid mode with FPGA bitfile fails with error 1031 (VI Reference type does not match) on Compare ECAT FPGA Wrapper.vi
To Reproduce
Steps to reproduce the behavior:

Open the attached TestProject_EtherCAT_FPGA.nivsproj
Upload the FPGA bitfile (test has 9474 in slot 8, however the bug could be seen even without model)
Deploy the system definition

Expected behavior
Successful deployement
Screenshots
see below
Desktop (please complete the following information):

OS:  Pharlap
Version: VS 2020 R2

Additional context
Reproduction case and screenshots attached
003 ScanEngineEthercatTest.zip

Problem summary
@keprt Thanks for the thorough write-up. I did some digging this morning, and this has been broken for all 20.0+ releases. It stems from @fmussi's change in https://github.com/ni/niveristand-scan-engine-ethercat-custom-device/commit/01bc68dcf98633fcce51d09b7e7edbf84884b431. The 'UDP Data Type.ctl' type def was modified and is reference by the FPGA Data.ctl which is used as an input to the asynchronous call in Compare ECAT FPGA.vi. Because the strictly typed VI ref in the Compare ECAT FPGA Wrapper.vi was not updated in that same submission, the asynchronous call errors out.
Workaround

If you look closely, the existing Call by Reference node has a coercion dot on the FPGA in terminal. Creating a new strictly typed VI ref from the current state of the Compare ECAT FPGA.vi and wiring that to the Open VI Reference call fixes the issue.
Next steps
I will get a fix submitted to the repo shortly, as well as unit tests around the wrapper VIs and a system test for ECAT FPGA I/O. We will likely patch the v20.3.0 release that just went live so we can quickly get this working for VeriStand 2020+ versions.
@keprt if you need a fix quickly, you can use a dev build with the change for testing.

Hi @Karl-G1  thank you for the quick help. The problem is clear. I will let customer to decide if he will wait on 20.3 patch or he wants to do a dev build until that.
Unit test would be appreciated.
FYI @czokubik

@Karl-G1 , @keprt : I updated the vi reference, recompiled and I can deploy the project now. I hence do not need to wait for the patch.
Thank you very much!


Unable to parse '.ruff.toml' when configured for Ruff linter

Describe the bug
A clear and concise description of what the bug is.
I configured '.ruff.toml' with additional parameters for Ruff linter, and when running locally or GHA I encounter parsing error:
--Error detail:
<jemalloc>: MADV_DONTNEED does not work (memset will be used instead)
<jemalloc>: (This is the expected behaviour if you are running under QEMU)
ruff failed
  Cause: Failed to parse `/tmp/lint/.ruff.toml`: TOML parse error at line 1, column 1
  |
1 | [format]
  | ^^^^^^^^
wanted exactly 1 element, more than 1 element

To Reproduce
Steps to reproduce the behavior:

enable Ruff linter and Create .ruff.toml
Provide the following parameters in .ruff.toml:

[format]
indent-style = "tab"
quote-style = "single"

Run locally 'mega-linter-runner --flavor python' (or) via GH Actions.
See error:

--Error detail:
<jemalloc>: MADV_DONTNEED does not work (memset will be used instead)
<jemalloc>: (This is the expected behaviour if you are running under QEMU)
ruff failed
  Cause: Failed to parse `/tmp/lint/.ruff.toml`: TOML parse error at line 1, column 1
  |
1 | [format]
  | ^^^^^^^^
wanted exactly 1 element, more than 1 element

Expected behavior
Script expected to be tab indented and quote style be single quote.
Screenshots
N/A
Additional context
When running Ruff as-is it works well with:
ruff format "myScript.py"

Megalinter's ruff ver :
 "ruff": "0.0.291",

My local Stand-alone Ruff ver: ruff 0.0.291
Python flavor<EMAIL_ADDRESS>Originally posted by @fawazsalah in https://github.com/oxsecurity/megalinter/issues/2995

And with a comment that has the same bug directly with ruff:

Since the error occurs when running Ruff through MegaLinter but not when running Ruff directly, and MegaLinter v7.4.0 is on Ruff 0.0.290, I would try running Ruff directly at 0.0.290.

Thanks @Kurt-von-Laven and @echoix for the support.
Bingo Good catch; I can confirm similar error with 0.0.290 locally.
[...]

Originally posted by @fawazsalah in https://github.com/oxsecurity/megalinter/issues/2995#issuecomment-1754720775

Hmm, I'm unable to reproduce this on Ruff v0.0.291 or v0.0.292.
With:
❯ ruff --version
ruff 0.0.291

I created foo.py with x=1, and ruff.toml with:
[format]
indent-style = "tab"
quote-style = "single"

Running ruff format foo.py:
warning: `ruff format` is a work-in-progress, subject to change at any time, and intended only for experimentation.
1 file reformatted

Let me verify that the config is being picked up in my repro.

Hmm, yes, confirmed, so still unable to repro. Could megalinter be using an older version?

If the whole parsing of the format section in a ruff.toml file instead of a pyproject.toml file isn't broken, I suspect something with a BOM header might be going on here.
Does your tests cover a similar case?

The affected version was 0.290 (from that user).

Hmm, yes, confirmed, so still unable to repro. Could megalinter be using an older version?

The latest release of Megalinter still has 0.290, but 0.291 is already in main.

The new format section is only available in 0.0.291+ (https://github.com/astral-sh/ruff/pull/7543)

I saw the second, #7514, but thought that an existing cli option was renamed, but didn't realise by the release notes that it didn't exist yet, as I thought it was a rename of an old command, and output-format wasn't at a section level.
So I'll go and mention that. I really didn't catch that it was a new feature from the release notes.
Some projects, like the Python documentation, or CMake documentation add at what version a feature was added. Is it something that would be worth it for your project? (I see it is very fast-moving, congratulations for your work!)

I have often spent significant time determining which rules are available at which version. Sometimes I have found the answer in the release notes, and sometimes have resorted to binary search

Sphinx offers ::versionadded::. Sphinx, Docusaurus, and  MkDocs offer versioning.

Unfortunately I don't think those really address our use-cases. We'd probably need to build the tooling into our Rust documentation generator, but we should talk about this in a new discussion instead of cluttering this issue.


Robert Longson: Watch fastandup.in

Robert Longson requests the watch of the watch_keyword fastandup\.in. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

fastandup\.in has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by Cody Gray in Charcoal HQ


Fix task load.

Fixes https://github.com/containerd/containerd/issues/2150.
Option 2 of https://github.com/containerd/containerd/issues/2150.
Signed-off-by: Lantao Liu<EMAIL_ADDRESS>

Codecov Report

Merging #2151 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #2151   +/-   ##
=======================================
  Coverage   45.41%   45.41%
=======================================
  Files          82       82
  Lines        8749     8749
=======================================
  Hits         3973     3973
  Misses       4130     4130
  Partials      646      646

Flag
Coverage Δ

#linux
50.07% <ø> (ø)
:arrow_up:

#windows
41.09% <ø> (ø)
: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 3b4fcf7...afb3f39. Read the comment docs.

What about calling close after client.TaskService().Delete() instead?

What about calling close after client.TaskService().Delete() instead?

That is an option, too. It depends on how we define the order.
If we think that a deleted task means all associated resources are released, then we should put close in front.
If we don't care about the fifo directory. I think we can do that after. :)

If we don't care about the fifo directory. I think we can do that after. :)

Well, it's a temp directory, a new one is created everytime. I'm on the position to delete the resources only once the task is actually gone. Especially since we assume those resources are there on attach.

I don't think we should have the mkdir in two places. I think I agree with @mlaventure. How about something like this?
diff --git a/task.go b/task.go
index 68308b62..5ee36337 100644
--- a/task.go
+++ b/task.go
@@ -267,7 +267,6 @@ func (t *task) Delete(ctx context.Context, opts ...ProcessDeleteOpts) (*ExitStat
 	if t.io != nil {
 		t.io.Cancel()
 		t.io.Wait()
-		t.io.Close()
 	}
 	r, err := t.client.TaskService().Delete(ctx, &tasks.DeleteTaskRequest{
 		ContainerID: t.id,
@@ -275,6 +274,10 @@ func (t *task) Delete(ctx context.Context, opts ...ProcessDeleteOpts) (*ExitStat
 	if err != nil {
 		return nil, errdefs.FromGRPC(err)
 	}
+	// Only close the IO after a successful Delete
+	if t.io != nil {
+		t.io.Close()
+	}
 	return &ExitStatus{code: r.ExitStatus, exitedAt: r.ExitedAt}, nil
 }

@dnephin OK. Will do so. :)

Done

The test failure seems like something wrong with golang 1.10 to me:

    The stdout of exec should be hello
    Expected
        <string>: hello

    to equal
        <string>: hello

It does equal...

Hm, it constantly fails with golang 1.10...
Let me take a look.

golang 1.10 has a bug... I'll file an issue and send a PR.

This is a golang bug, see:

https://github.com/golang/go/pull/24092
https://github.com/golang/go/pull/24092

This turns out to be a race condition exposed in golang 1.10. Send out a fix for cri-tools https://github.com/kubernetes-incubator/cri-tools/pull/257.
Will update cri-tools as soon as that is fixed to unblock the submit queue.

Rebase now that the other PR is merged?

Will do now.

@crosbymichael Done.

Seems like another race condition for concurrent image pull.
E0226 22:26:15.401313    5139 remote_runtime.go:92] RunPodSandbox from runtime service failed: rpc error: code = Unknown desc = failed to get sandbox image "gcr.io/google_containers/pause:3.0": failed to pull image "gcr.io/google_containers/pause:3.0": failed to pull image "gcr.io/google_containers/pause:3.0": failed to write config: ref k8s.io/11/config-sha256:5fbdc14c118c31ddd5c553f66892b846469341287a0d356485b477467cae6dd0 locked: unavailable
Feb 26 22:26:15.401: INFO: Unexpected error occurred: rpc error: code = Unknown desc = failed to get sandbox image "gcr.io/google_containers/pause:3.0": failed to pull image "gcr.io/google_containers/pause:3.0": failed to pull image "gcr.io/google_containers/pause:3.0": failed to write config: ref k8s.io/11/config-sha256:5fbdc14c118c31ddd5c553f66892b846469341287a0d356485b477467cae6dd0 locked: unavailable

LGTM


Update JHU Policy card

Bolden or otherwise emphasize the "Requires submission into JScholarship"
IMPORTANT, change "Requires" to "Expects"!!!!

What do you think about this?

verified on rev. b0b535cb


META Issue: On issues re-org

This issue will self destruct.

I triaged and re-organized all of the issues.
The goal was to make is easier to find what you can and want to work on.
To that end, I created a few milestones

Code
Content
Infrastructure
Icebox

Code is the best place to look for (and to put) issues that can be resolved by merging a PR into the repo.
Content is for issues that require access to the the CMS, CDN or database to fix. Like broken formatting, missing images, etc.
Infrastructure is for issues that tend to require access to other vendors like the DNS host, Heroku, New Relic, etc.
Icebox is for issues that are worth capturing, but nowhere high on the priority list right now.

After reading this, please leave a comment that you have. After everyone has read it, I'll close it.

@gesa @bookis @eliduke @carols10cents @faun @guitsaru @mutantmonkey @withoutboats @greggawatt @mousemke

Boop

Read

Yup
On Wed, Feb 22, 2017 at 8:55 PM Matt Pruitt<EMAIL_ADDRESS>wrote:

Read
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/crimethinc/website/issues/315#issuecomment-281894562,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AApquGEpcV--6YJ9Au6fgDUfuVxLZ7mwks5rfRFLgaJpZM4MJNoZ
.

--
Gregg Horton
510-283-8734
gregghorton.com

Love it

:shipit:


docs: update link to Jenkins slave template

@rattermeyer I guess this markdown file should go away completely though?


We force a little overlap when drawing a tile source that has no tile overlap

Hi!
I'm loading DZI with tileOverlap=0 but the rendered canvas has an overlap between the tiles anyway. Running version 2.4.1. This is my setup:
const source = new OpenSeadragon.DziTileSource(32, 32, 16, 0, '/api/dz/ex7/ex7_files/', 'bmp');
source.minLevel = 4;
source.maxLevel = 5;
this.osView = new OpenSeadragon.Viewer({
  id: 'dzi',
  tileSources: source,
  imageSmoothingEnabled: false,
  showNavigationControl: false,
  defaultZoomLevel: 1.0
});

Each tile is 16x16 looks like this:

I'm rendering the DZI in a div that is set to 32x32 pixels in size. The rendered image in the browser (chrome btw) looks like this:

I was expecting all edges to show on all tiles, since overlap was set to 0 as seen here:

Is this expected behavior?

Interesting! The tile overlap is working fine, but the tiles aren't being drawn precisely in this case. You can tell the overlap is working if you zoom in on it. Here it is at 320x320:

Of course the tiles have to squish and stretch at anything other than 100%, but you're right that they should line up better when they're at 100%. I'm afraid we haven't really been focused on optimizing that case, since the user rarely ends up at exactly 100%.
I'm curious, what are you working on that requires that precision?
Would you be up for digging into the code to track down where it's happening? I'm happy to provide guidance.

Okay, it looks like this is the line:
https://github.com/openseadragon/openseadragon/blob/3bbfbcbc0e136405e3f8ed95316d36255dba835f/src/tiledimage.js#L1624

Thanks for your quick reply! I'm working with microscopy images and I'm testing out this lib for viewing our slides.
I removed the line you pointed out and did some testing with different images. The sizes of the tiles seems correct now, but when the tile sizes are rendered to fractions of a pixel I see some seams. Here is a code snippet I tested with:
var source = new OpenSeadragon.DziTileSource(80, 80, 16, 0, '/api/dz/ex9/ex9_files/', 'bmp');
source.minLevel = 7;
source.maxLevel = 7;

var osView = new OpenSeadragon.Viewer({
  id: 'dzi',
  tileSources: source,
  imageSmoothingEnabled: false,
  showNavigationControl: false,
  defaultZoomLevel: 1.0
});

css:
#dzi {
  width: 81px;
  height: 81px;
  background-color: darkgreen;
}

The tiles are simply 16x16 grey and pink. Here is how firefox and edge looks for me (windows):

Chrome looks fine, no seams. Since the surrounding div is 81 pixels, each tile is rendered as 16.2 pixels wide, causing sub-pixel rendering, as you probably noted. Reading on MDN, they recommend avoiding sub-pixel rendering and putting Math.floor(...) on sizes. I tested that out by adding
        position.x = Math.floor(position.x);
        position.y = Math.floor(position.y);
        size.x = Math.floor(size.x);
        size.y = Math.floor(size.y);

to tile.drawCanvas(...). It seemed to solve the problem, but this lib being quite large and I've only spent a couple of hours reading the code, there is probably a nicer way to fix it, I assume.

Indeed. We've been discussing that very issue over in https://github.com/openseadragon/openseadragon/issues/1683. I have a proposed patch, which is pretty much what you came up with, here: https://github.com/openseadragon/openseadragon/pull/1713 but we haven't merged it, since it does affect animation smoothness. I've written up some thoughts for additional exploration in #1683, but it may be something that can't be fully addressed without changes to Firefox itself.
Meanwhile, for your purposes, creating your tile source with a one pixel overlap should sidestep all of these issues (unless you need to use PNG tiles, in which case you're back to #1683).

Thanks for the links. The issue of sub-pixel rendering is not really in the scope of this issue, but non the less interesting! Fixing this issue brings up the problem with seams showing on all browsers and images when using no overlap.
I have been thinking about the seams/sub pixel issue a bit, but let's discuss that in #1638 or #1713. I'd be happy to contribute to discussing solutions and coding.

Sounds good! I look forward to hearing your thoughts :-)
And yeah, the subpixel rendering isn't directly related to this issue, but only because the current behavior avoids it. Like you say, if we were to change the current behavior then we would have the subpixel rendering issue to deal with.

Hi, @ConnerMan
May I ask you for advice, how did you solve the problem of image stitching gap in the end? Because after I commented out the line of code of the overlap, and then zoomed in on the image, there was still an image stitching gap, and after switching to the Firefox browser, the stitching gap became a white line. The first picture below is based on the stitching gap after the Google browser continues to zoom in on the image, and the second picture is the white line that appears after the Firefox browser opens the image

(The gaps that still exist after removing the overlap code based on Google browser)

(The white line that still exists after removing the overlap code based on the Firefox browser)

FYI, the new WebGL renderer that's in the works in #2310 fixes this issue! @karin-toth if this is still a concern for you, I'd love it if you could give it a try. You'll have to grab the branch from the PR and build it, since it's not merged yet.

I suppose we can close this now that the WebGL renderer has been released!


Port ConvertTo-Json to .Net Core Json API

PR Summary
Address #8393

Move to new .Net Core Json API. Detects and throws on cycles and depth.
Add PSObject, DBNull, NullString, Enum64 Json converters
Add JsonIgnoreAttribute support. Address #6847
Set Depth default to 64 (.Net Core default). It is good compromise: still no hangs and exceptions for common scenarios but noticeable delays are if problems exist.
Set MaxDepthAllowed = 1000. It is .Net Core limitation.
Fix #9847 as side effect.
Escaping based on new .Net Core Json API. 'Default' is nearly like previous. 'EscapeHtml' - more differences, 'EscapeNonAscii' now like 'Default' but could be improved but I did not found noticeable using EscapeHtml and EscapeNonAscii on GitHub.
Cancellation doesn't work (I guess only hosted scenarios are affected). Underlying sync API don't support this. I did not found reasons to switch to async Json API. See https://github.com/dotnet/runtime/issues/611
Depth parameter is renamed to MaxDepth to more accurately reflect the new semantics.

PR Context

https://docs.microsoft.com/en-us/dotnet/standard/serialization/system-text-json-migrate-from-newtonsoft-how-to
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
[ ] 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
[x] 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 enumerated concerns in the summary. This may include:

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

@mklement0 @adamdriscoll  @rkeithhill @CollinChaffin @msftrncs @markekraus @vexx32 @SteveL-MSFT @daxian-dbw @iRon7 @mdalepiane
Welcome to download compiled artifact and discuss. Please also look failed tests that can be useful for the discussion.

@mklement0 Now new ConvertTo-Json is ready for your investigations.

@PowerShell/powershell-committee reviewed this, we ask that the new use of .NET Core APIs be an Experimental Feature so that users can disable it, if needed, and use the existing code paths.

@SteveL-MSFT One thing does still not clear for me - should we keep old behavior with a switch (-UseWindowsPowerShellConverter)?

@iSazonov Rather than using a fixed serialization depth for all types, can we leverage TypeData's SerializationDepth property to do smarter JSON serialization?

smarter JSON serialization

@bpayette What do you mean under "smarter"?
Current behavior of ConvertTo-Json is dangerous - we can lost data. I believe this is unacceptable and the cmdlet should throw if conversion is impossible.
Also current implementation of the cmdlet uses Depth for protecting from cycles.
New Core API detects cycles and allows us to convert without data lost.
It is smarter JSON serialization for me.

Using PS Type Data for serialization configuration will make the user experience consistent between formats (json/clixml).

@ThomasNieto Can you share an example?

One thing does still not clear for me - should we keep old behavior with a switch (-UseWindowsPowerShellConverter)?

@iSazonov Do not change any of the existing ConvertTo-Json code. Instead, implement another ConvertTo-Json in a separate class, sayConvertToJsonCommand2. Then apply ExperimentalFeatureAttribute to both ConvertToJsonCommand and ConvertToJsonCommand2 just like the following:
[ExperimentalFeature("NewConvertToJson", ExperimentAction.Hide)]
[Cmdlet("ConvertTo", "Json", ....)]
public class ConvertToJsonCommand : PSCmdlet { ... }

[ExperimentalFeature("NewConvertToJson", ExperimentAction.Show)]
[Cmdlet("ConvertTo", "Json", ....)]
public class ConvertToJsonCommand2 : PSCmdlet { ... }

@daxian-dbw Thanks! I will use the pattern. But my question was - do we need to keep old converter in the updated cmdlet?

I don't know about the "old converter". You can start from implement just what you need for the new implementation.

I agree that aligning with how PowerShell's (CLIXML) serialization works is beneficial here:
Note: The following is derived from experiments, not source-code analysis, and is in part speculative. Do tell me if I got things wrong:
PowerShell's remoting serialization is smart in that it fundamentally distinguishes between:

(a) [pscustomobject] instances, which are custom "property bags" (DTO (data-transfer objects), the equivalent of POCOs / anonymous types).

(b) all other scalar types, including PowerShell custom classes.

(c) collection types and dictionaries are not themselves subject to depth limitations, so they can be nested at will, but each scalar element / entry is subject to the rules of (a) and (b) - note that this means that a serialized object graphs as a whole can definitely exceed a given or implied depth limit.

To (a) instances no depth limit is seemingly applied (practically unlimited or actually?) - which makes sense, because DTOs are deliberately constructed for serialization.  (curiously, ConvertTo-Xml actually does impose a limit, but it's not relevant for regular serialization, and not mentioned here further).
For (b) instances, serialization defaults to depth 1 in implicit serialization, whereas it is 2 for Export-CliXml; however individual ETS type definitions may override the default via .SerializationDepth (only about 17% of types with built-in ETS definitions currently have a non-default value, and that value is either 1 or 2, with the former being more common). This explicit depth is always respected, even when you pass a higher -Depth value to Export-CliXml.
Note that  depth 1 means: serialize the object and, if applicable, its properties, but these properties only serialize as themselves if they are primitive objects - otherwise, they are stringified with .ToString().
This corresponds to depth 2 in the context of `System.Text.Json.

So why is this smart?

It prevents "runaway serialization" of types that weren't designed to be serialized, which can happen even at low depths; try Get-ChildItem / | Export-CliXml -Depth 5 t.xml, for instance.

It respects ETS-designated, type-appropriate serialization depths.

It doesn't impose limits on deliberately constructed DTOs, whose purpose is to be serialized in full.

How this could work in ConvertTo-Json:

Without  something like -Depth:

Apply the same depth-limiting logic to (b) instances as Export-CliXml does.

This prevents runaway serialization for types that weren't designed for (JSON) serialization, and prevents lazy use of ConvertTo-Json from breaking.

For (a) instances (DTOs), default to the System.Text.Json API's limit of 64, to be safe.

With something like -Depth:

Note: Given the proposed behavior, you will typically  not need this parameter.
The challenge here is that we have competing concepts:

(i) -Depth in Export-CliXml (and the old ConvertTo-Json) means: "quietly cut this object graph off at the specified depth, even if it goes deeper - loss of information is acceptable".

(ii) By contrast, the MaxDepth value in JsonSerializerOptions means: "don't let this object graph exceed this depth, or I'll throw an exception" - in other words: it is a safeguard.

(i) strikes me as unnecessary in the context of ConvertTo-Json; it is primarily useful in the - of necessity -  potentially lossy serialization/deserialization that occurs in remoting (and background jobs); by contrast, you do not want information to be lost in JSON communication.
Therefore, I suggest we drop the name -Depth altogether (to avoid confusion with the (i) logic implemented in Export-CliXml and Format-Custom) and implement a -MaxDepth parameter that  implements (ii) logic that applies to (a) (DTOs) only, to cover the rare case when more than 64 levels are actually needed.
Again: In the vast majority of uses this parameter shouldn't be needed at all.

(Sorry if you saw the lengthy comment I had posted briefly and then deleted.)
Looking more at how the System.Text.Json API works and reflecting on the design goals of PowerShell remoting, I don't think there's value in aligning with the serialization performed there (as happens implicitly during remoting / in background jobs and as explicitly accessible via Export-CliXml), because the intent is fundamentally different:
-Depth / the implicitly applied depth  in implicit remoting serialization / Export-CliXml (and, regrettably, also in the old ConvertTo-Json) means:

"Quietly cut this object graph off at the specified depth, even if it goes deeper - loss of information is acceptable".

While this is appropriate behavior for the  potentially - unavoidably - lossy serialization/deserialization that occurs in remoting (and background jobs);  it is not appropriate for JSON communication: there you always want to serialize the input in full, without loss of information, and you need to be alerted when that's not possible.
The new API's JsonSerializer.Serialize() gives us this behavior by default:

Deliberately constructed DTOs (data-transfer objects)/ POCOs / anonymous types, serialize in full by default - unless they happen to be more than 64 levels deep, which should rarely happen in practice.

By contrast, instances of types that weren't designed for serialization (e.g., System.IO.DirectoryInfo) either run into the 64 limit or, more likely, into the new API's circular-reference detection - but such types shouldn't be used in JSON serialization to begin with.

If we surface this behavior as-is in PowerShell, we get sensible default behavior that requires no extra effort in the majority of cases.
We lose the "lazy" use of ConvertTo-Json, which allowed something like Get-Item / | ConvertTo-Json, but that was never all that useful to begin with: attempting to use ConvertTo-Json for general serialization similar to Export-CliXml is ill-advised.
In order to support opting-in to depth levels beyond 64 - if ever needed - we could implement a -MaxDepth parameter that mirrors the intent of the corresponding option in the new JSON API:

"Don't let this object graph exceed this depth, or I'll throw an exception" - a safeguard.

Because of the fundamental difference with how -Depth works in Export-CliXml (and, regrettably, the old ConvertTo-Json), I suggest not naming it -Depth.
In the vast majority of cases, there will be no need for this parameter.

@mklement0 We can add MaxDepth with Depth alias. Original design assumes often using of Depth parameter and removing it would be huge breaking change (I don't know how huge breaking change is after migrating to System.Text.Json - at first look on new tests it is not so huge, maybe large :-) in some scenarios).

Good point and good idea, @iSazonov.
I forgot that there must be many commands out there that use -Depth of necessity with DTOs, to avoid the default truncation at level 2.
To be clear:

Newly written command using the new implementation will rarely, if ever, require -MaxDepth (-Depth)

"Lazy" use of ConvertTo-Json with types such as System.IO.DirectoryInfo will  invariably break - even if -Depth is used explicitly.

That is, even Get-Item / | ConvertTo-Json -Depth 2 will not work, due to the built-in cycle detection of the new API; as stated, -Depth in the new implementation never truncates, but instead enforces that the actual object graph isn't deeper than allowed.

"Lazy" use of ConvertTo-Json with types such as System.IO.DirectoryInfo will invariably break

Good news are that System.Text.Json allows to use custom converters. We could add new parameter in the cmdlet or/and enhance ETS to support assigning Json converters to types.
Also there is a possible workaround - converting an object to custom PSObject (with Select-Object) before converting to Json.

Good points, @iSazonov.

We could add new parameter in the cmdlet or/and enhance ETS to support assigning Json converters to types.

Personally, I'd hold off on that to see if there's a genuine need for it.
My hunch is that solutions based on Select-Object (as you say) / [pscustomobject] literals or custom PS classes constructed specifically for JSON serialization will suffice, but perhaps others who work routinely with JSON can weigh in.

@iSazonov Is there a discussion on why we should try re-implementing ConvertTo-Json using the .NET Core API? I'm not clear about the gains by doing that ...

@daxian-dbw #8393 is a discussion about _the behavior _we want. As for using .Net Core API, we could continue to invest in custom and Newtonsoft API but this makes no sense because MSFT announced System.Text.Json API as successor Newtonsoft. I started new implementation only for my education but result exceeded my expectations. New code is not only short and clear but does Json serialization in standard way, allows enhancements and customizations. I assume that we will be able to abandon Netwonsoft library soon.

MSFT announced System.Text.Json API as successor Newtonsoft.

Does .NET team explicitly say System.Text.Json is a replacement of Newtonsof.Json in general?
I double it as there is no equivalent of JObject, JArray and JToken, which makes randomly accessing a key/value pair difficult using System.Text.Json.

does Json serialization in standard way

Are you implying the current implementation is serializing JSON in an non-standard way? And if you are talking about customization, Newtonsoft.Json has way richer features for you to customize the handling of JSON serialization/deserailization.
I don't think we will be able to move away from Newtonsoft.Json soon.

@daxian-dbw see https://devblogs.microsoft.com/dotnet/try-the-new-system-text-json-apis.
The key feature here is performance using Span. Performance has been the biggest issue with the JSON cmdlets since the switch to NewtonSoft and a general problem with PowerShell overall.
For built-in cmdlets, it makes sense to have a fast parser with no external dependencies. The only issue is if it break compatibility with Windows PowerShell and maybe PowerShell Core. If it doesn't, then this is a major win as a new default so we get the gains in performance.
A NetwonSoft version should be optional for advanced scenarios that need the full breadth of features it provides. That could be done via PS Gallery with a new namespace.

JsonObject and JsonArray were already pulled in Core 5.0 branch. I guess we will get them in 3.x (back ported or in a package).
The cmdlet will get them OOB too.

The only issue is if it break compatibility with Windows PowerShell and maybe PowerShell Core.

We can preserve old behavior with -UseWindowsPowerShellConverter switch although I don't see more value from this.

Failures in NullConditionalOperator tests were resolved in upstream.
@dragonwolf83 @iSazonov Thanks for the pointers, I didn't know the addition of JObject, JArray and etc in the .NET Core 5 branch, that is great, making it a more viable replacement of NewtonSoft.Json. Now this porting work makes much more sense to me. Will wait to see how the backward compatibility would be for ConvertTo-Json.

@mklement0 @jochenvanwylick @thedavecarroll @vexx32 The PR was moved to .Net Runtime 5.0 Preview1. Please play with compiled artifacts and feedback.

@iSazonov Please have a look at CI failures

@adityapatwardhan I ask in .Net Runtime repo about the issue.

@PoshChan please rebuild all

@adityapatwardhan, successfully started rebuild of PowerShell-CI-static-analysis, PowerShell-CI-Windows, PowerShell-CI-macOS, PowerShell-CI-Linux

@iSazonov master has been moved to .NET 5 preview 3, hence restarted the CI

@iSazonov are these the same errors are before?

@adityapatwardhan .Net addressed my request to make Json exceptions more useful and we get this.
As for "null" case it is still present. I will open new issue in .Net repo.

@adityapatwardhan .Net addressed my request to make Json exceptions more useful and we get this.
As for "null" case it is still present. I will open new issue in .Net repo.

@adityapatwardhan .Net addressed my request to make Json exceptions more useful and we get this.
As for "null" case it is still present. I will open new issue in .Net repo.

@adityapatwardhan .Net addressed my request to make Json exceptions more useful and we get this.
As for "null" case it is still present. I will open new issue in .Net repo.

@adityapatwardhan Last issue was addressed and the PR is ready for review and merge.

@SteveL-MSFT Could your team review the PR? Now it is best time to make such breaking change. See also #11397.

@iSazonov Can we please move this forward as a new, standalone library that is compatible with Windows PowerShell 5.1 as well as PowerShell 7.x? The issues identified here are also issues in 5.x. There have been enhancements in the cross platform PowerShell such as -EnumsAsStrings and -AsHashtable and -AsArray and -EscapeHandling that are not available to Windows PowerShell 5.1. Yet there are scenarios where simply pointing users to PowerShell 7 as the solution forward is not viable. Plus there are discussions here about breaking changes. A standalone module that carries JSON conversion forward using the .NET Core JSON APIs while addressing the bulk of the issues with JSON in PowerShell today (including fully bi-directional conversion) would be a much better way to bring the Microsoft JSON.NET libraries into PowerShell than simply updating what we have as a built-in module that isn't available elsewhere.
Also this hasn't moved forward in some time. Is that partly due to concerns about these breaking changes? If so, again, a standalone optional module that supersedes what PowerShell 7 has baked in today seems like a better solution.

Looking at the code, I see you've implemented an entirely new set of classes, so hopefully it should be straightforward to move that into a standalone module that could work for Windows PowerShell 5.1 as well as PowerShell 7.x.
Also, while it seems like this is covered, a use case that I want to specifically call out is the need to access the conversion to/from JSON via an API, so that the same logic that is used within PowerShell can be used in products that leverage PowerShell without having to invoke PowerShell directly. Please make sure this use case is covered.
If the conversion logic was localized within a library that PowerShell 7.x used in cmdlets, and if that library was packaged up as a Nuget package, that would cover the needs of developers building solutions on top of PowerShell as well -- at least in my case it would.

One more thing @iSazonov: I have immediate need for this in Windows PowerShell 5.1, or as a library, and I'm happy to assist with the development and testing. I don't want to simply create duplicate work in parallel though, so please let me know what the plans are to move this forward, whether or not you think creating this as a standalone module is feasible and something you agree with, and we'll go from there. If you're too busy and you'd like me to move this forward, I'm happy to do so.
@SteveL-MSFT: Curious to hear your thoughts on the idea of this being broken out into a separate module and NuGet library (library necessary to consume/convert from JSON produced from PowerShell scripts in an environment that does not run PowerShell).

Does this PR resolve #3705 such that the -AsHashtable workaround is not required? i.e. With a case insensitive JSON conversion logic, what happens when it is fed something that contains case-sensitive property names?

I am fan .Net Runtime development model. I strongly sure we could benefit from the dev model too. They put all code dev process in one repository and greatly simplify it. As result they get huge community contributions.
With the model all you would need to do you would add publishing of a new nuget package.
Unfortunately, PowerShell MSFT team cannot find a middle ground - many community PRs are frozen here and PowerShell/modules repository does not work at all.
Of course, you can always develop your own project to meet your needs... I suspect that if you need quick results today, then you are destined for it (own project). :-(

Also this hasn't moved forward in some time. Is that partly due to concerns about these breaking changes?

My intentions were:

to create early implementation so that we can feedback to .Net team while they actively worked on .Net 5.0.
to avoid breaking changes as possible and pass all our current tests without changes
later to add new fixes in separate commits so that we explicitly see new breaking changes.

As for breaking changes, there are two places:

in .Net
They implemented new API with compatibility with NewtonSoft Json.Net and fix some bugs and inconsistences. As result the new API has many breaking changes compared with Json.Net ( and PowerShell too because PowerShell uses Json.Net)
in PowertShell
PowerShell has bugs and inconsistences too. Fixing its will add breaking changes.

In the end, we come to the conclusion that in any case, when we switch to the new API, we will receive many breaking changes. I hoped that we get this in 7.1 as experimental feature for easy community adoption. But :-(

a use case that I want to specifically call out is the need to access the conversion to/from JSON via an API, so that the same logic that is used within PowerShell can be used in products that leverage PowerShell without having to invoke PowerShell directly.

Only specific convertor is created for PSObject. Do you ask to put it in nuget library and reference SMA (PowerShell SDK)?

I have immediate need for this in Windows PowerShell 5.1, or as a library, and I'm happy to assist with the development and testing.

Press MSFT team :-) to follow .Net Runtime dev model. This is my strict belief. A good development environment is 80 percent of the effort. If we do this in one place, we will significantly speed up development.

Does this PR resolve #3705 such that the -AsHashtable workaround is not required?

This was not my goal. As I said, I wanted to avoid any breaking changes and bug fixes and make them explicitly later.

@iSazonov Thank you for the detailed reply.

Of course, you can always develop your own project to meet your needs... I suspect that if you need quick results today, then you are destined for it (own project). :-(

This is what we have now -- some proxy functions to override the ConvertTo-Json/ConvertFrom-Json cmdlets where needed. But ultimately I don't want to spend time on something that should come from PowerShell itself as a separate module, and I don't want to own the development of something that is so fundamental that it really should be managed by Microsoft. I'm doing it because I have to, but with bugs like #3705 plus performance benefits from switching to .NET Core JSON APIs, I'd rather converge on a PowerShell team-managed solution than roll my own, because I have much bigger things to focus on that are far more important than JSON conversion (which should be something people can simply take for granted as being there with a solid, performant implementation, in both Windows PowerShell and PowerShell).

In the end, we come to the conclusion that in any case, when we switch to the new API, we will receive many breaking changes. I hoped that we get this in 7.1 as experimental feature for easy community adoption. But :-(

I think a standalone module and Nuget package would be far superior to an experimental feature in this case. But I suppose I already said that.

Only specific convertor is created for PSObject. Do you ask to put it in nuget library and reference SMA (PowerShell SDK)?

That would be fine. I have no problem needing the PowerShell SDK as a dependency. I'm already using it. I'm also only looking for conversion to/from PS entities such as PSObject, Hashtable, etc. I just want to avoid needing to call into PowerShell when I already have my object data that needs conversion in my C# code.

Any idea what is needed to get this PR ready to go? I see a couple of things but if you've got a list that would be super helpful

Any idea what is needed to get this PR ready to go? I see a couple of things but if you've got a list that would be super helpful

I can not do all work - investigate, develop, review and merge :-) If you have an interest you could grab the PR. I guess we could get this working in one-two weeks and then switch to ConvertFrom-Json.


Support for Json() in compiled query

This fails:
    public class FindJsonUserByUsername : ICompiledQuery<User, string>
    {
        public string Username { get; set; }
        public Expression<Func<IQueryable<User>, string>> QueryIs()
        {
            return query =>
                    query.Where(x => Username == x.UserName)
                        .Json().Single();

        }
    }

        [Fact]
        public void json()
        {
            var user = theSession.Query(new FindJsonUserByUsername() { Username = "jdm" });
            user.ShouldNotBeNull();
            user.ShouldBe("jdm");
        }

looking into it.

Check SelectorParser and have it look for Json() too.

Arrrrgghhh Remotion doesn't support Json(), it accepts only linq methods. Awesome.


initialization?

Do we need to do anything to initialize the SDK? Trying to set up app install ads with conversion tracking on Facebook

+1

Do we need to do anything to initialize the SDK? Trying to set up app install ads with conversion tracking on Facebook

Any findings?

Nope

It's called activateApp() in Facebook based environments.
iOS -> here
Android -> here
The same is followed in this plugin
https://pub.dev/documentation/flutter_meta_sdk/latest/flutter_meta_sdk/FlutterMetaSdk/activateApp.html


Confused by the parameters

POST https://login.microsoftonline.com/<tenant_id>/oauth2/token HTTP/1.1
Host: login.microsoftonline.com
Content-Type: application/x-www-form-urlencoded; charset=utf-8
grant_type=client_credentials
&client_id=<your_client_id>
&client_secret=<your_client_secret>
&resource=https://onestore.microsoft.com
What do the parameters exactly mean????? put them as query params ?? or as body params????, can you give an explicit sample？？？？？

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

ID: 5efda84a-67f8-73d2-e9dd-ce9e5b26f17f
Version Independent ID: 150aa4b2-23b4-e314-a5fc-6efd1185a8a1
Content: Manage product entitlements from a service - UWP applications
Content Source: windows-apps-src/monetize/view-and-grant-products-from-a-service.md
Product: uwp
Technology: publish
GitHub Login: @hickeys
Microsoft Alias: hickeys

We are changing the way we track issues filed from our documentation pages: please see this blog post for more details. Right now, this issue is being closed but if you feel it is still valid and has not been addressed, please re-open it with any more available information. Please note that if your question is more general and not related to documentation, Microsoft Q&A is a great way to get questions answered.


DELTASPIKE-1216 AbstractFullEntityRepository should implement FullEnt…

…ityRepository

Thanks for the contribution and catch, this has been merged.


favicon

Commit:
Steps to reproduce

Open a tab in chrome

Observed behavior

A blank placeholder favicon appears. Sometimes annoying favicons from using public wifi services get cached and reused.

Expected behavior

A HiGlass favicon.

We could use the favicon from higlass-app until they got a new logo designed. (See favicon on the right tab vs the left in Chrome)

this seems to be resolved.


Thought Schema

Thought
thoughtText
String
Required
Must be between 1 and 280 characters
createdAt
Date
Set default value to the current timestamp
Use a getter method to format the timestamp on query
username (The user that created this thought)
String
Required
reactions (These are like replies)
Array of nested documents created with the reactionSchema
Schema Settings
Create a virtual called reactionCount that retrieves the length of the thought's reactions array field on query.

DONE!


Request : multiple connection files / profiles

Would like to request the option to select from multiple connection files / profiles.  I primarily use Atom for web editing and often I have the need to publish files from the same project to multiple domains.  It would be nice if we could add multiple .ftpconfig files and then have the option to select from them when we upload and or sync local -> remote.  This is kind of a deal breaker for me as I do this soo often... I like to test files on a live 'test' domain before putting things on the production domain as well as other use cases for this.
As I see it the only way I could accomplish this is editing the .ftpconfig file each time I wanted to go back and forth between different domains which would be a pain.. especially with different private keys, passphrases, etc for sftp.

Yes, that would be great +1.

This seems to be duplicated #493

Multi rsa_id #834
Global config #275


Photo

Add a photo of yourself to the website

Will be covered in each Fellow's "About yourself" page. Moving to "About yourself" issue.


Show does not wait on before-show to complete

The rendering of the step does not wait for before-show to complete. It should be a promise, and only continue calling render and show and getAttachTo and all of that, after before-show is completed. This allows before-show to do things with the app and show certain elements that you may want for the tour.
Doesn't really make sense to have before-show, if it isn't guaranteed to all happen before-show.
If you guys agree with this, I can work on a PR. Let me know!

I think that would be pretty slick. I'd be happy to take a look at a PR for it :smile_cat:

Okay, I'll see what I can throw together. I assume I have to use CoffeeScript? I see you have both a coffee and js folder in the source.

Yup. The CoffeeScript setup uses gulp to compile to the JS source - that shouldn't be updated explicitly.

@b-ash what is this loop for?
while (i < this.bindings[event].length) {
          _ref1 = this.bindings[event][i], handler = _ref1.handler, ctx = _ref1.ctx, once = _ref1.once;
          handler.apply(ctx != null ? ctx : this, args);
          if (once) {
            _results.push(this.bindings[event].splice(i, 1));
          } else {
            _results.push(i++);
          }
        }

Shouldn't triggering an event just call one event handler? If I do trigger('before-show') I would expect that to just call the function I defined for before-show.
Is this because before-show can be defined on the Tour object and individual step objects or something?
I'd like to do some sort of async callback, that would do something like:
Evented.prototype.triggerAsync = function() {
        var event = arguments[0];
        var handler = this.bindings[event].handler;
        //Push callback function to args, to trigger event from later.
        args.push(function(){
          this.trigger(event);
        });
        handler.apply(ctx != null ? ctx : this, args);
      };

@b-ash is there a reason the trigger function does not take parameters and uses arguments instead?

@b-ash is Evented part of Tether and not Shepherd?
I was able to adapt the show function to wait on before-show to complete, by using a callback:
show: =>
    show =(=>
      if not @el?
        @render()

      addClass @el, 'shepherd-open'

      document.body.setAttribute 'data-shepherd-step', @id

      @setupTether()

      if @options.scrollTo
        setTimeout =>
          @scrollTo()
      @trigger 'show'
    )
    @trigger 'before-show', show

However, I need to be able to execute this callback in the trigger method, and it doesn't appear to be in shepherd.coffee.

I think I might have a working trigger function as well:
trigger: (event, callback, args...) ->
    if @bindings?[event]
      i = 0
      while i < @bindings[event].length
        {handler, ctx, once} = @bindings[event][i]

        handler.apply(ctx ? @, args)

        if once
          @bindings[event].splice i, 1
        else
          i++
      if callback && typeof callback is 'function'
        callback()

@b-ash Please let me know your thoughts on each of these changes, and if you agree, I'll submit PRs to both Shepherd and Tether.
Shepherd would then be required to use the new version of Tether though, or it would break.

Went ahead and created PRs, please give feedback!
https://github.com/HubSpot/tether/pull/74
https://github.com/HubSpot/shepherd/pull/56

Realized that we need to pass the callback to the handler instead, so will work on doing that now.

Any progress on this... i'm having some issues with hidden UI elements in my tour.  I might take a crack at this.

@evitolins I implemented beforeShowPromise to handle things that need to be done before show.

Since we have beforeShowPromise, I will go ahead and close this issue.


No Output from Basic Usage example from pypi.org, and triggers Userwarning

On Google Colab with T4, the Basic Usage example from pypi.org triggers a Userwarning:
!pip install rwkvstic torch inquirer transformers
from rwkvstic.load import RWKV
# Load the model (supports full path, relative path, and remote paths)
model = RWKV("https://huggingface.co/BlinkDL/rwkv-4-pile-3b/resolve/main/RWKV-4-Pile-3B-Instruct-test1-20230124.pth")
model.loadContext(newctx=f"Q: who is Jim Butcher?\n\nA:")
output = model.forward(number=100)["output"]
print(output)

/usr/local/lib/python3.9/dist-packages/rwkvstic/rwkvMaster.py:31: UserWarning: operator() profile_node %327 : int = prim::profile_ivalue(%dtype.13)
 does not have profile information (Triggered internally at ../torch/csrc/jit/codegen/cuda/graph_fuser.cpp:105.)
  logits, ostate = self.model.forward(

Jim Butcher is an American author of fantasy novels. He is the author of the Dresden Files, The Magician's Fist, The Thief of Always, and the Relic and Reckoning trilogies. His fifth novel in the series, The Dresden Files Reborn, was published in July 2010. He is also the creator of the Dark Fey, a supernatural race in his novels and series of short stories.

Q: What other

I get the same UserWarning with an RTX 3050 Mobile (4GB VRAM), but no output:
2.734192371368408 GB allocated
loading layers: 100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 32/32 [00:32<00:00,  1.01s/it]
100.0 % remaining
$HOME/.local/lib/python3.11/site-packages/rwkvstic/rwkvMaster.py:31: UserWarning: operator() profile_node %327 : int = prim::profile_ivalue(%dtype.13)
 does not have profile information (Triggered internally at ../third_party/nvfuser/csrc/graph_fuser.cpp:104.)
  logits, ostate = self.model.forward(
<|endoftext|>

I can filter the  UserWarning with these lines, but of course this does not affect Inferencing:
import warnings
warnings.filterwarnings("ignore")

The cuda warning doesn't really matter, but the second example appears to be a matter of just putting through an end_adj to -99 to prevent end token.
Also, FYI, the colab should be able to handle 14B prequantized as seen in the rwkvstic repo ./notebooks folder


hi   can someone help with this error

Caused by: java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory
at su.litvak.chromecast.api.v2.Channel.(Channel.java:45)
at su.litvak.chromecast.api.v2.ChromeCast.connect(ChromeCast.java:92)
at com.mycompany.mavenproject1.FXMLController.handleButtonAction(FXMLController.java:37)
... 60 more
Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 63 more
after chromecast was found i try to connect to it but   then this error will show up.  :-(
greets
janoz

Looks like you are missing the slf4j library on your classpath. Or you have an incompatible version of that library.

thanks for your reply    i solved the problem.....
now ive problems with this error..   **Caused by: su.litvak.chromecast.api.v2.ChromeCastException: Application launch error: NOT_FOUND
**
after            Application app = chromecast.launchApp("APP_ID");
maby you canhelp me with that..    greets  janoz

You should put valid identifier of your application instead of APP_ID.

ok thanks...    that works for me
no i have third problem...  maby you can help me also with that...
error
Caused by: su.litvak.chromecast.api.v2.ChromeCastException: ChromeCast has invalid state to resume media playback
how to solve this problem :-)             greets   janoz

I guess you should read the text of error message. It clearly states that your device is in such state, when you cannot resume media playback. Most probably it does not play anything at the moment.

hi  again  :-) no errors now :-)
i see some activity on my tv now.  it turns  black and afters seconds it goes to the main screen.
what do i wrong.?.     ill hope you can help me with perhaps this last step..  :-)

I have no idea. I think you need to read something about chromecast applications to understand which steps you need to perform to make it working. I think this should be a good place to start: https://developers.google.com/cast/docs/developers

thanks ...   i will take a look      thanks  for your help.    greets

Any update on this issue? May I close it?


emphasise cancellation not triggering catch

as discussed

Thanks for taking the time to correct this lack of documentation 👊

thanks again for a great project :)


Wide Unicode character support in math mode

Improve #2031 by rendering all supported Unicode text characters (via supportedCodepoints) in math mode in addition to existing text mode support (using metrics of letter M as usual).  Also fix #1817.
This is a replacement/alternative to #2040 and #2032. I just implemented @ronkok's suggested one-line change, and copied over the tests from #2040.
Same screenshots:
F_e=\dfrac{可改进部分占用时间}{\text{MMM}改进前总时间}\\
F_e=\dfrac{\text{M}可改进部分占用时间}{改进前总时间}

Without the Ms, we get the same vertical layout:

Without this PR:

Interesting: boldsymbol (which determines the correct font for \boldsymbol) calls lookupSymbol to see if the symbol is in KaTeX-Math, which calls getCharacterMetrics, which is affected by this change, because supportedCodepoint seems to include at least some math characters, namely, U+0131 for \imath.
I see a few options:

Modify getCharacterMetrics to include a special field like notInFont or missing or notReally (joking) to indicate that the character wasn't in the font, and metrics are just simulated.
Try to modify supportedCodepoint to miss any characters in our fonts (seems risky).
Use #2040 instead.

Let me know your opinions!

You're right. supportedCodepoint has been written to include (among many other things) the entire Latin A and Latin B code block, U+0100 to U+024f. That overrides the KaTeX glyphs: ı Œ œ ȷ
I agree that we don't want to have to ensure that the KaTeX fonts and supportedCodepoint are disjoint sets every time the KaTeX fonts are revised. That would be a bigger maintenance headache than the one I brought up in a comment in PR #2040.
And so I withdraw my quibbles about #2040. It seems like the better way to go.

It not very obvious that the change you made in fontMetrics.js would have the undesired impact that it did.  I'm glad we had at least one screenshot that picked up this issue.  @edemaine thanks for working out the source of the problem.  I think in general the code we use t determine which character and font to use for a particular symbol is overly complicated and doesn't align very well with how TeX does things.  I'm not saying we have to be just like TeX, but being closer to TeX's model might help.

@edemaine the screenshots need updating because of this change right?

Didn't we agree to use PR #2040 instead of this PR?

Replaced by PR #2040.


Remove ListSet from compiler and use HashSet instead

// Lists as sets. This is almost always a bad data structure and should be eliminated from the compiler.

So I did that

I will fix the appveyor error

Bugger, the LKG FSI needs the Dev14 version of msbuild and so won't run on dev 15.  I need a cunning plan.

@forki , @dsyme This looks good to me.

Looks good to me


import symbol exported via "export * from..."

I'm working on an angular 2 application and if I import NgModule which is declared in @angular/core/src/metadata and re-exported in @angular/core/index.d.ts, the one imported is "@angular/core/src/metadata" and cause some major problems :
I don't know what kind of dark magic is really happening here, but it kinda import the source file instead of a compiled js and the program crashes at runtime...

During the creation of the symbol list, all "export ..." in a file are actually processed. So if an index.d.ts has an export * from ... those declarations are imported from the other name.
I have to investigate that behaviour. Actually, I never tested the plugin with angular 2, but I'll definitely have a look into that. I just need some time to do it ;-)

Just to be more precise :

it kinda import the source file instead of a compiled js and the program crashes at runtime...

I'm talking about my angular app, not vscode nor the plugin...

OK, I think I found something:
in file ResolveItemFactory.ts :
The plugin only act on declarations but not on exported members.
I think it should actually change the library name of re-exported members recursively...

I was f***ing right !

:-) good catch.
Since I'm rewriting this logic anyway, I can merge this and will keep it in mind for my new core logic.

ok, I'll make a PR.

Should be fixed by https://github.com/buehler/typescript-hero/commit/3de7214e47c245be5a3d4386f6d6fbaed552ac62


[TECS] Overspeeding while descending

In this [TECS test flight!] (http://dash.oznet.ch/view/6LjHagRDXf29tCtiK2mU2E) when strongly descending the speed control first slows down too much and then speeds up way too much, looks almost like an oscillation of the TECS to me. Basically an extreme throttle up leads to the downward acceleration. Could this be coupled to FW_T_VERT_ACC and a threshold of 0.7g for AccX. Definitely minimum airspeed was not hit.

The behaviour is reproducible with different speeds (15, 20, 13 m/s) at 590, 710 and 795.

Fixed.


EmrEtlRunner: add stream_config.yml.sample

aws.s3.buckets.enrich.stream required for https://github.com/snowplow/snowplow/issues/3606. Empty by default

Renamed ticket to reflect the fact that config.yml for stream mode has a lot of differences.

Commit doesn't correspond yet

Why is there a change to emr_job.rb in this commit?

Wondering about it too. Will fix.


[RE: JoSS Review] CS tag deconfliction

For the JoSS review at openjournals/joss-reviews/issues/6066.
The CS (uppercase) is a reserved for color read sequence information as per the SAM format, while the cs (lowercase)
tag represents the difference string. This has already been a topic of discussion while feature requests to incorporate the cs tag more
formally into the SAM format.
It might be beneficial to change the "CS" to "cs" in all documentation so as to not mislead users.

@betteridiot
Thank you very much for your invaluable review!
I have implemented the change to lowercase 'cs', as you pointed out, in both the paper and the GitHub documentation (README and Docstring).
JOSS Paper:
https://github.com/akikuno/cstag/commit/d7c6cfbad79b82ed1fa87d3a38e87e2c19768aaa
Document (README and Docstring):
https://github.com/akikuno/cstag/commit/20dec8d8d83d68f07fa13d1e89cfaf7cd5fe751d
I would appreciate your confirmation of these changes.

This satisfies my suggestion. Thank you.


How do i activate 2 functions at once in lua

What is your question?
So, i wanted to make the opponent have health drain by function opponentNoteHit
but i also wanted to reduce the drain (because of balancing purposes) mid song and that is done by curStep and fuction onUpdate(elapsed) and stuff
but i know just by mashing the 2 scripts together wont work.

Set a variable for how strong the drain is, use that in opponentNoteHit and change the variable with onUpdate() as you see fit.
And if I'm understanding the rest of your question correctly:
You can have multiple functions in one script file. Just start and end each function. Eg:
Function opponentNoteHit()
Stuff
End
Function onUpdate()
stuff
End

Set a variable for how strong the drain is, use that in opponentNoteHit and change the variable with onUpdate() as you see fit.
And if I'm understanding the rest of your question correctly: You can have multiple functions in one script file. Just start and end each function. Eg:
Function opponentNoteHit() Stuff End
Function onUpdate() stuff End

oh ok thanks


Authentication Request

Hello Jasper,
first of all, we were very excited when we heard about your tool (https://github.com/jasperbaes/Microsoft-Cloud-Group-Analyzer) and wanted to try it out straight away.
We had been looking for this for a very long time and wanted this function.
The test environment has the following tools installed:
Git-2.43.0-64-bit
node-v20.11.0-x64
azure-cli-2.56.0-x64
We completed the first three steps of your instructions without any problems.
As authentication method we want to use an Azure App Registration.
So we followed the necessary steps:
We created an App registration and give it single tenant authentication.
We assigned all necessary permissions and granted them.
We created a new client secret and noted the Secret ID and Value.
Now we are stuck because we cannot find an env file in the root folder.
Can you please give us a more detailed description of this?
Also we couldn’t use the authentication with an admin user.
The used account is global administrator and also is user of the created enterprise application.
So what other permissions are required?
We would be very grateful if you could help us out here.

just create a .env file in the root and paste the secret, tenant and client id. Wat i am curios about is which permission did you give.

Hello Jasper,
We have created an .env file with the following content:
CLIENTSECRET=dc61dd5d-b02b-4500-a68d-XXXXXXXXXXXX
TENANTID=2e96bb73-9ff7-4660-be52-XXXXXXXXXXXX
CLIENTID=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
For CLIENTSECRET we used the Application (client) ID, for TENANTID we used the Directory (tenant) ID and for CLIENTID we used the Value of our Client secret (not the Secret ID).
This are the permissions we gave, because it is mentioned that all .Read.All permissions are required:
AccessReview.Read.All
Acronym.Read.All
AdministrativeUnit.Read.All
Agreement.Read.All
AgreementAcceptance.Read.All
APIConnectors.Read.All
AppCatalog.Read.All
AppCertTrustConfiguration.Read.All
Application.Read.All
AttackSimulation.Read.All
AuditLog.Read.All
AuditLogsQuery-CRM.Read.All
AuditLogsQuery-Endpoint.Read.All
AuditLogsQuery-Entra.Read.All
AuditLogsQuery-Exchange.Read.All
AuditLogsQuery-OneDrive.Read.All
AuditLogsQuery-SharePoint.Read.All
AuditLogsQuery.Read.All
AuthenticationContext.Read.All
BitlockerKey.Read.All
Bookings.Read.All
Bookmark.Read.All
BrowserSiteLists.Read.All
BusinessScenarioConfig.Read.All
ChannelMember.Read.All
ChannelMessage.Read.All
ChannelSettings.Read.All
CloudApp-Discovery.Read.All
CloudPC.Read.All
Community.Read.All
ConsentRequest.Read.All
CrossTenantUserProfileSharing.Read.All
CustomAuthenticationExtension.Read.All
CustomDetection.Read.All
CustomSecAttributeAssignment.Read.All
CustomSecAttributeAuditLogs.Read.All
CustomSecAttributeDefinition.Read.All
DelegatedAdminRelationship.Read.All
DelegatedPermissionGrant.Read.All
Device.Read.All
DeviceLocalCredential.Read.All
DeviceManagementApps.Read.All
DeviceManagementConfiguration.Read.All
DeviceManagementManagedDevices.Read.All
DeviceManagementRBAC.Read.All
DeviceManagementServiceConfig.Read.All
Directory.Read.All
DirectoryRecommendations.Read.All
Domain.Read.All
eDiscovery.Read.All
EntitlementManagement.Read.All
EventListener.Read.All
ExternalConnection.Read.All
ExternalItem.Read.All
ExternalUserProfile.Read.All
Files.Read.All
Goals-Export.Read.All
Group.Read.All
GroupMember.Read.All
IdentityProvider.Read.All
IdentityRiskEvent.Read.All
IdentityRiskyServicePrincipal.Read.All
IdentityRiskyUser.Read.All
IdentityUserFlow.Read.All
IndustryData-DataConnector.Read.All
IndustryData-InboundFlow.Read.All
IndustryData-ReferenceDefinition.Read.All
IndustryData-Run.Read.All
IndustryData-SourceSystem.Read.All
IndustryData-TimePeriod.Read.All
Insights-UserMetric.Read.All
LearningContent.Read.All
LifecycleWorkflows.Read.All
ManagedTenants.Read.All
MultiTenantOrganization.Read.All
NetworkAccess-Reports.Read.All
NetworkAccess.Read.All
NetworkAccessBranch.Read.All
NetworkAccessPolicy.Read.All
Notes.Read.All
OnlineMeetingArtifact.Read.All
OnlineMeetingRecording.Read.All
OnlineMeetingTranscript.Read.All
OnPremDirectorySynchronization.Read.All
Organization.Read.All
OrganizationalBranding.Read.All
OrgContact.Read.All
OrgSettings-AppsAndServices.Read.All
OrgSettings-DynamicsVoice.Read.All
OrgSettings-Forms.Read.All
OrgSettings-Microsoft365Install.Read.All
OrgSettings-Todo.Read.All
PartnerBilling.Read.All
PendingExternalUserProfile.Read.All
People.Read.All
PeopleSettings.Read.All
Place.Read.All
PlaceDevice.Read.All
Policy.Read.All
Presence.Read.All
PrintConnector.Read.All
Printer.Read.All
PrinterShare.Read.All
PrintJob.Read.All
PrintSettings.Read.All
ProgramControl.Read.All
QnA.Read.All
RecordsManagement.Read.All
Reports.Read.All
ReportSettings.Read.All
RoleManagement.Read.All
Schedule.Read.All
SearchConfiguration.Read.All
SecurityActions.Read.All
SecurityAlert.Read.All
SecurityAnalyzedMessage.Read.All
SecurityEvents.Read.All
SecurityIncident.Read.All
ServiceActivity-Exchange.Read.All
ServiceActivity-Microsoft365Web.Read.All
ServiceActivity-OneDrive.Read.All
ServiceActivity-Teams.Read.All
ServiceHealth.Read.All
ServiceMessage.Read.All
ServicePrincipalEndpoint.Read.All
SharePointTenantSettings.Read.All
Sites.Read.All
SubjectRightsRequest.Read.All
Subscription.Read.All
Synchronization.Read.All
TeamMember.Read.All
TeamSettings.Read.All
TeamsTab.Read.All
Teamwork.Read.All
TeamworkAppSettings.Read.All
TeamworkDevice.Read.All
TermStore.Read.All
TrustFrameworkKeySet.Read.All
User-LifeCycleInfo.Read.All
User.Read
User.Read.All
UserAuthenticationMethod.Read.All
WorkforceIntegration.Read.All
After running the script we get the following error message:
Entra ID Groups in scope:
ERROR: No user/group found for this ID. Exiting.
We get this for every test including user IDs.
For 'all' we get the following message:
Entra ID Groups in scope:
This can take a while...
Progress: NaN% (0 group(s) remaining)

ERROR: you don't have permissions to read below 2 API endpoints:
[
'https://graph.microsoft.com/v1.0/users/all',
'https://graph.microsoft.com/v1.0/groups?$select=id'
]
Many thanks for your help

following: We also give all those permissions, and everthing is setup according the docs. But Progress: 100% (0 group(s) remaining and nothing more

Hi @Obendorf96, @DR-Cloudfreunde, @nurejev
I did not anticipate that this script would gain so much traction and interest, hence my limited effort in documentation. I've just updated the main branch. Please take a moment to review the updated setup documentation, apply it to your environment, and then test again. If you encounter any issues, please let me know. For now, I recommend using an Azure App Registration, not user authentication.

@jasperbaes many thx. Got it working at one site. beautiful script. many thx. One question from the documentation. These permissions i can not find. profile and offline _ access in the Microsoft Graph

Hello @jasperbaes,
thank you very much for your time and for your support.
The update of the instructions helped us a lot and clarified a few things.
I would also like to thank you again for this great script. It solves so many things for us.
It is working now for us.
Hello @nurejev,
you can find these permissions only under Delegated permissions for Microsoft Graph. So we added them there and the rest under Application permissions and Delegated permissions.


[NEW EXAMPLE] Ionic Framework - Gestures

General

Project name: Ionic Framework
Example name: Gesture handling in Ionic Framework
Project home page: https://github.com/ionic-team/ionic-framework
Programming language(s): TypeScript
Frameworks, libraries used: N/A

Description
Ionic Framework is a powerful cross-platform UI toolkit for building native-quality iOS, Android, and Progressive Web Apps with HTML, CSS, and JavaScript.
Ionic Gestures is a utility that allows developers to build custom gestures and interactions for their application in a platform agnostic manner.
Links
https://github.com/ionic-team/ionic-framework/tree/main/core/src/utils/gesture
What makes it interesting

Many apps are written on Ionic and use gestures. It's interesting to see how it works.

Related work
Manual: https://ionicframework.com/docs/utilities/gestures
Other
Not sure how all of this is tested.

I'm no longer sure it meets our standards:

Overall quite hard to follow.
No tests.
Lots of magic constants.


Check stdout is a tty before using terminal features

The implementation only checked if stderr was a tty. This lead to escape
codes in output when piped from stdout. For example, this had ANSI
codes show up in less:
$ rustup component list | less

while this did not:
$ rustup component list 2>&1 | less

even though no output went to stderr.

Thanks @kamalmarhubi !


Roll Flutter Engine from 12def739b1f6 to c142c0d05563 (1 revision)

https://github.com/flutter/engine/compare/12def739b1f6...c142c0d05563
2023-06-12<EMAIL_ADDRESS>[Impeller] allowing enabling Impeller on macOS. (flutter/engine#42639)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC jacksongardner@google.com,rmistry<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Commit queue failed; closing this roll.


Discussion about Travis and flows and actions

When using Travis we can define what should happen at different steps could be:

Pull request to dev

Linting, build tests and system test

Commit to dev (merge request accepted)

Linting, build docker image,  test docker image, publish with dev tag?

Commit to main (merge request accepted)

Linting, build docker image,  test docker image, publish with latest tag?

Working on task:

Pull request to dev

Linting, build tests and system test

We will run into trouble on the 22/3/22, when our Travis CI trial runs out:

I can try to ask on teams, if anyone in the other groups found a way to extend the trial or an alternative.

For the "Commit to main (merge request accepted)" step/task we should
build docker image, test docker image, publish with a git commit hash tag to docker hub.


Error running environment:new: Cannot read properties of undefined (reading 'environmentName')

I am communicating today by this means since I am doing the integration of IaC based on the documentation:
https://www.twilio.com/blog/intro-to-infrastructure-as-code-with-twilio-part-2
Since part 1 can be executed without any problem.
However when creating the new environment as a test I get the error attached in the image.
I would like to know how I can solve this error and continue with the integration process.
Thank you very much I will be attentive to any comment.

The same happens to me, I'm following this tutorial: https://www.twilio.com/blog/intro-to-infrastructure-as-code-with-twilio-part-1

The same happens to me, I'm following this tutorial: https://www.twilio.com/blog/intro-to-infrastructure-as-code-with-twilio-part-1

The tutorial is great. But this twilio plugin has outdated dependencies, that is why your Twilio profile is not being identified. I have used this fork https://github.com/rg-pionix/plugin-twilio-cli-infrastructure from @rg-pionix. You must follow the next steps:

Clone the repository https://github.com/rg-pionix/plugin-twilio-cli-infrastructure
cd plugin-twilio-cli-infrastructure
npm install
Run pwd to get the absolute path of your current directory. It should be something like /Volumes/StevenExternalHD/telesalud/plugin-twilio-cli-infrastructure
Run twilio plugins:link <absolute_path_from_step_4>
Now, your commands should work fine and read the twilio profiles. You can check by running twilio iac:environment:get

Important! In the fork, the plugin command has been renamed form infra to iac so make sure you take that into account


CRLPs robot automation scripts

keyword to enable crlps and a page object
Critical Changes
Changes
Issues Closed
Community Ideas Delivered
New Metadata
Deleted Metadata

closing this PR as this is not ready yet


execa.command is not a function

Hi, I'm getting the following error when I try to execute 'deploy' and similar commands on the apps:
execa.command is not a function
I tried to install version 5 of execa, which removes the error above but leads to another error:
 Command failed with ENOENT: npx sls package
According to the package.json of the @ns3/nx-serverless package version 1 of execa is required, but according to the github package.json version 5 is the right one.
{
  "name": "@ns3/nx-serverless",
  "version": "3.2.0",
  "license": "MIT",
  "repository": {
    "type": "git",
    "url": "https://github.com/Bielik20/nx-plugins"
  },
  "publishConfig": {
    "access": "public"
  },
  "main": "index.js",
  "generators": "./generators.json",
  "executors": "./executors.json",
  "types": "./index.d.ts",
  "dependencies": {},
  "peerDependencies": {
    "fs-extra": "9.1.0",
    "lodash": "4.17.21",
    "@ns3/nx-core": "^3.2.0",
    "bestzip": "2.2.1",
    "glob": "7.1.4",
    "execa": "1.0.0",
    "chalk": "4.1.0"
  }
}

You are right. I think there is a problem with Nx build executor in this version. I will update Nx. It should work fine then.

Feel free to reopen if issue persists ;)


fix: Prevent Activity panel from crashing when Activities miss images

Description
This allows the Activity panel and rail items to display without images. Without this fix, the app was crashing. with this fix a gray box is shown in case the image is missing.
Usually, all activities should have images. I just noticed this bug in staging where some data is missing.
PR Checklist

[ ] I have tested my changes on iOS and Android.
[ ] I hid my changes behind a feature flag, or they don't need one.
[ ] I have included screenshots or videos, or I have not changed the UI.
[ ] I have added tests, or my changes don't require any.
[ ] I added an app state migration, or my changes do not require one.
[ ] I have documented any follow-up work that this PR will require, or it does not require any.
[ ] I have added a changelog entry below, or my changes do not require one.

To the reviewers 👀

[ ] I would like at least one of the reviewers to run this PR on the simulator or device.

Changelog updates
Changelog updates

Cross-platform user-facing changes

Prevent Activity panel from crashing when Activities miss images - ole

iOS user-facing changes

Android user-facing changes

Dev changes

Need help with something? Have a look at our docs, or get in touch with us.

This PR contains the following changes:

Cross-platform user-facing changes (Prevent Activity panel from crashing when Activities miss images - ole)

  Generated by :no_entry_sign: dangerJS against 53d4001cc1b81b7c19f033a51578d21550c8c1ca


feat: Add withRule API to adding adhoc rules

This adds the withRule API to our SDK. This allows adding adhoc rules (e.g. within a handler) in case the rules rely on some other logic within the application.
These adhoc rules are only available via augmented SDK returned by withRule() and don't affect the rest of the application. The augmented SDK also has withRule so these can be chained or augmented futher.
Closes #193
Draft because it still needs tests.

@davidmytton I updated the clerk-rl example to show how this works in the context of Clerk. Please let me know what you think of the usage.


Time in "Talks" not good.

Hello everyone.
I tryed since 3 days to get a propre time for my Talks in the Academic style.
In the post, I use this:
+++
date = 2018-05-14  # Schedule page publish date.
title = "PSG | Striving for Excellence | 2018"
time_start = 2018-05-15T14:00:00
time_end = 2018-05-15T15:00:00
abstract = ""
abstract_short = ""
But the rendering on my website is:
Date May 15, 2018
50:00 — 50:00
Anyone already experienced this problem ?

Perhaps you set time_format = "3:04 PM" in config.toml to an invalid TOML date format. Please check and use the support forums if you require further support. Thanks.


fix(dicom-microscopy-viewer):Fix the units display

The units computation was previously disconnected from the formatting, meaning the value could be off by a 1000 or a million.  Take the desired units into account when formatting, and otherwise use the actual value to generate the correct units.

@igoroctaviano  - can you take a look?


Warning raised by Mail gem from test nlineCssHookTest#test_inline_css_hook_with_utf_8_characters

$ rake TESTOPTS="-v"
Loaded suite /Users/codebeaker/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/rake-<IP_ADDRESS>/lib/rake/rake_test_loader
Started
InlineCssHookTest#test_inline_css_hook_with_base_url: 0.17 s: .
InlineCssHookTest#test_inline_css_hook_with_only_html_part: 0.03 s: .
InlineCssHookTest#test_inline_css_hook_with_text_and_html_parts: 0.06 s: .
InlineCssHookTest#test_inline_css_hook_with_utf_8_characters: Non US-ASCII detected and no charset defined.
Defaulting to UTF-8, set your own if this is incorrect.
0.03 s: .
InlineCssHookTest#test_preservation_of_attachments: 0.07 s: .
PremailerStylesheetLinkTagTest#test_premailer_stylesheet_link_tag: 0.07 s: .

Finished in 0.436325 seconds.

6 tests, 11 assertions, 0 failures, 0 errors, 0 skips

Test run options: --seed 439 --verbose

Perhaps one aught to take something like silence_warnings from ActiveSupport, or a simpler implementation, without having to pull in an extensive dependency.
Wherever the Mail gem is producing the messages
Non US-ASCII detected and no charset defined.
Defaulting to UTF-8, set your own if this is incorrect.

Should be silenced in these tests.

Hi, thanks for your interest! Those UTF-8 warnings are fixable, and I have previously fixed them like this: 4c92dc290b760d7545818e74a5f7275f577093a5

Cool, I'll tweak my patch, as I mentioned in the pull req. was hacking late at night and looking for success more than perfection, will adapt and come back with some additional tests.


Use new muxrpc namespace room.* and soft deprecate tunnel.*

[x] Design/specify room.metadata

Should list which features the room supports, e.g. #169

[x] Design/specify rooms.attendants, an alternative to tunnel.endpoints

See #110

[x] Implement room.metadata

See #58

[x] Implement room.attendants alternative, #110
[ ] Mark tunnel.endpoints as deprecated but keep it working
[ ] Mark tunnel.isRoom as deprecated but keep it working
[ ] Update the rooms2 spec doc

tunnel.endpoints alternative

Ideas:

room.crowd
room.attendance
room.attendants (my favorite)
room.audience
room.assemblage

room.attendants :+1: (had to look it up but contrary to my thoughts it translates to the german term for the right concept)

Mark tunnel.isRoom as deprecated but keep it working

is this done?

See https://github.com/ssb-ngi-pointer/go-ssb-room/pull/220#issuecomment-842401241.
I wasn't sure if those deprecation comments were meant for the JS side. There isn't really a defined way to do deprecation in Go. You usually just remove the APIS from the next major version.

@cryptix does attendants include the client's ID too? It seems like it doesn't? That's fine if it's the case, it's just different from tunnel.endpoints and I'd need to know (also to update the spec).

When Alice connects to the room and calls the room.attendants() stream, she gets {type: "state", ids: [BOB, CARLA]} not {type: "state", ids: [ALICE, BOB, CARLA]}.

spec update: https://github.com/ssb-ngi-pointer/rooms2/pull/43


Add SUSE Enterprise Linux and openSUSE provision

Add support for SUSE Enterprise Linux and openSUSE
Signed-off-by: Flavio Castelli<EMAIL_ADDRESS>

Ping. I would have loved to see this code merged in machine 0.4 :(

+1 for SUSE support :)

+1 from me as well
But there is one problem with the current approach how docker is installed on SLES/SLED (probably also applies to openSUSE).
The provisioner uses the installer script provided by https://get.docker.com/, which does rely on the RPM repositories provided by SUSE. At least in the case of the enterprise variants, these packages are already too outdated. Currently this would install docker 1.6. Even if you try to specify the experimental installer URL to machine, the script still installs the RPM's provided by SUSE.
Not sure what the correct solution would be. Either not rely on the installer script inside machine and provide a native-machine solution, or change the installer script to use a repository provided by docker (as already done for other distros with https://yum.dockerproject.org/repo/). This would however mean that the docker team will have to maintain one more distribution.
I thought about opening an Issue for this, but I was not sure were it belongs...depending on the solution, it would be an Issue for machine or docker or whatever project manages the installer script. Any suggestions where to put this?

@ablock84 we provide bleeding edge packages both for openSUSE and SLE inside of the Virtualization:containers project on OBS.
How would you, as an user, tell machine to install bleeding edge packages? If you explain me the workflow you would like to have I can provide the code.

@flavio I was not aware of the Virtualization:containers repo for SLE12 and will definitely try this out next time I need to update/install docker on one of our machines. Thanks for the pointer. Maybe this info should be added to the SUSE installation instructions found at https://docs.docker.com/installation/SUSE/. Currently only the openSUSE repos are listed there.
I would expect the same workflow as with other distros. As I understand machine, it reuses the installer script found at https://get.docker.com/. A user can also provide an alternative URL to an installer script with --url, for example "--url https://experimental.docker.com/". In case of other distros (e.g. debian/ubuntu), these scripts also setup the correct APT/Yum repositories which are maintained by the docker team before installing docker. This always results in the current release of docker (or the experimental one if the experimental url was provided).
For SLES/SLED, I would expect the same behavior. The scripts should add the Virtualization:containers repo and then install docker. As an alternative, the machine provisioner could setup this repo, but I would assume that the script solution would be the preferred one.
I'd already be very happy when this PR could get merged. As a workaround until the installer script is fixed/updated, I can setup the Virtualization:containers repo manually before I use machine to do the remaining work.

@ablock84 thanks for the useful feedback, really appreciated!
I'll make a PR against the official experimental script to install docker from obs://Virtualization:containers.
Good point also about the documentation, I'll update it as well.

I wonder if we could get our new Yum repos to have SUSE support. I think that would be the best option.

Just tested the SUSE provisioner on one of our machines, this time with the Virtualization:containers added manually before calling machine. It worked fine, until I used the new --engine-env option to setup the needed proxy configuration. Looks like the provisioner is currently ignoring the --engine-env option.

@ehazlett  wrote:

I wonder if we could get our new Yum repos to have SUSE support. I think that would be the best option.

We (SUSE) are already maintaining packages for SLE and openSUSE. We publish them for both latest upstream version and for the "supported by SUSE" Docker versions. We do that for all the flavours of openSUSE (13.2, Factory, Tumbleweed and soon also 42) and SLE (12 and soon 12SP1).
If requested by the community we could even setup a OBS project to automatically build the docker daemon straight from the code inside of git HEAD.
I think extending the https://experimental.docker.com/ script to pull packages from the "bleeding edge" repository maintained by SUSE, as suggested by @ablock84, is a nice solution.
I don't understand the advantages of having openSUSE/SUSE packages built by your infrastructure.

Just tested the SUSE provisioner on one of our machines, this time with the Virtualization:containers added manually before calling machine. It worked fine, until I used the new --engine-env option to setup the needed proxy configuration. Looks like the provisioner is currently ignoring the --engine-env option.

I'll look into that. Thanks

:+1:
just tested with openSUSE 13.2, worked great

I've updated the installation script provided at get.docker.com and experimental.docker.com with this pull request.
Everything is working fine: it's possible to install the stable docker package both on openSUSE and SUSE Linux Enterprise by using the get.docker.com installation url. Otherwise it's possible to install the bleeding edge packages by using the experimental.docker.com installation url.

Hello, the installation script has been merged into docker/master. Can you please take care of this PR now? :heart:

Ping @nathanleclaire: I see machine 0.5.2 rc(s) are out. Would you mind to merge this pull request into it? The openSUSE and SUSE communities would be really glad :)

LGTM

@flavio I reverted the merge, since you were apparently not on the latest master and the build broke.
Can you rebase and PR again?
Thanks.

I updated the code. @dmp42 sorry about the issue

It looks like Github is confused about the situation, so @flavio perhaps you should open a brand new PR.

@nathanleclaire that's #2035

OK, let's close this then

Oh, I see.  Please disregard


Access MaskedEditor Mask from Dialog.ts

Hi,  I'm sorry I still can't figure out how to change the mask from the dialog.  #1377 This is what I have on the form:
 [DisplayName("Phone"),  MaskedEditor(Mask = "(999) 999-9999")]
public String Phone { get; set; }

This is how the HTML renders so I can't figure out where I would specify "(999) 999-9999"
<input class="editor flexify s-MaskedEditor" id="EventManager_Customer_RegistrantDialog11_Phone" name="Phone" maxlength="250" type="text">

What do I do after this to access the mask in the dialog?
this.form.Phone.element??
Thank you for being so patient!

Hi, there.
You could do in typescript
(this.form.Phone.element as any).mask("(99) 9999999-9999");
Best Regards

Perfect!   Thank you!

How can disable mask?


Not being initilized the first time when the page load

Hi I'm developing a plugin to a Wordpress site, I'm using Slick for the carousel and the jQuery slider plugin to use as the controls for the carousel, but I'm having a problem, when the site first loads the slick
is not being initilized, and images get all stacked up. When I test in another sites the plugin work as exptected. I tried some solutions that I searched on Stack Overflow, but none of that worked. Can someone help ?
Here is a photo of what happens: https://prnt.sc/gwwnrs.
Here is the site url: http://srv46.teste.website/~livredepragas/lista-de-pragas/
Here is the JS: http://srv46.teste.website/~livredepragas/wp-content/plugins/pragas/assets/js/pragas-slider.js?ver=4.8.2

Try to set an interval.   Such as :

setTimeout(function(){},1000)

Try to asynchronously  initial your carousel or use the given Method 'setPosition' . For example: setTimeout(function(){ $("yourSlickWrapperELement").slick({...}) },1000); setTimeout(function(){ $("yourSlickWrapperELement").slick("setPosition") },1000)


Restore DANDI transfer test

Service issues should be fixed now

@bendichter needs review approval for auto-merge to work