[BUG] Stack inspection done by playwright is fragile and breaks with Dynamic PGO enabled

Context:
We enabled DynamicPGO in .NET 8 Preview 5 and are seeing reports of some failures in applications that use playwright.
See for instance https://github.com/dotnet/runtime/issues/87628
This should readily repro if you run release mode builds with .NET 8 Preview 5 and default runtime options.
Describe the bug
https://github.com/microsoft/playwright-dotnet/blob/ca7b02ac910e573666f48d502bfabb1c17639e68/src/Playwright/Transport/Connection.cs#L477-L502
is looking for a specific pattern of method names in the stack trace. This is fragile unless all the methods being looked for are marked with [MethodImpl(MethodImplOptions.NoInlining)]. Note that with PGO the JIT may now inline methods at virtual, interface, and delegate call sites.
I suspect the fix may be as simple as marking this method noinline
https://github.com/microsoft/playwright-dotnet/blob/ca7b02ac910e573666f48d502bfabb1c17639e68/src/Playwright/Transport/Connection.cs#L521-L528
but there may be more cases elsewhere in this code that need similar treatment.

It looks like WrapApiBoundaryAsync might need marking as NoInlining too as it's searched for in the stack trace

Why is this code looking at the call stack?

Playwright has a tracing feature that's frankly amazing (see https://stu.dev/pw). It captures the API that was called by the users code, and optionally you can include sources, this works by walking the stack frames here and only passing to playwright (the node implementation) the users stack frames.

Stack frame walking is so brittle (we did it in Shouldly and I hate it), [CallerMemberName] might be a good solution to capture the API name, but don't think there's any alternative for the include sources functionality. This stuff probably does play well with deterministic builds either I suspect, as it's unlikely to be able to find the source files.

Thanks for the investigation! The internal stack collection gets used for various things, e.g. as per above trace viewer where the actual .NET API calls get shown or we use it internally for logging (to know which .NET API calls (which are exposed) belong to which internal protocol API call).
I tried to reproduce it using https://github.com/dotnet/runtime/issues/87628#issuecomment-1594486535 and our official getting started on .NET 8 preview 5 (8.0.100-preview.5.23303.2) but was in both cases unfortunately not able to. I'm on macOS, as per the issue in the runtime repo, it was also reproducible there.

I tried to reproduce it using dotnet/runtime#87628 (comment) and our official getting started on .NET 8 preview 5 (8.0.100-preview.5.23303.2) but was in both cases unfortunately not able to. I'm on macOS, as per the issue in the runtime repo, it was also reproducible there.
What did you do differently? I made sure its a Release build.

 You can set DOTNET_JitDisasmSummary=1 in the environment where you launch dotnet, and see how many methods report being optimized with Dynamic PGO.

I can repro if I update the getting started example to:
using Microsoft.Playwright;

using var playwright = await Playwright.CreateAsync();

for (int i = 0; i < 100; i++)
{
await using var browser = await playwright.Chromium.LaunchAsync();
var page = await browser.NewPageAsync();
await page.GotoAsync("https://playwright.dev/dotnet");
await page.ScreenshotAsync(new()
{
    Path = "screenshot.png"
});
}

for example
C:\bugs\playwright>dotnet build -c Release
MSBuild version 17.7.0-preview-23281-03+4ce2ff1f8 for .NET
  Determining projects to restore...
  All projects are up-to-date for restore.
C:\Program Files\dotnet\sdk\8.0.100-preview.5.23303.2\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(314,5): message NETSDK1057: You are usi
ng a preview version of .NET. See: https://aka.ms/dotnet-support-policy [C:\bugs\playwright\playwright.csproj]
  playwright -> C:\bugs\playwright\bin\Release\net8.0\playwright.dll

Build succeeded.
    0 Warning(s)
    0 Error(s)

Time Elapsed 00:00:01.07

C:\bugs\playwright>dotnet exec C:\bugs\playwright\bin\Release\net8.0\playwright.dll
Unhandled exception. System.NullReferenceException: Object reference not set to an instance of an object.
   at Microsoft.Playwright.Transport.Connection.InnerSendMessageToServerAsync[T](String guid, String method, Dictionary`2 dictionary, Boolean keepNulls) in /_/src/Playwright/Transport/Connection.cs:line 150
   at Microsoft.Playwright.Transport.Connection.WrapApiCallAsync[T](Func`1 action, Boolean isInternal)
   at Microsoft.Playwright.Core.BrowserType.LaunchAsync(BrowserTypeLaunchOptions options) in /_/src/Playwright/Core/BrowserType.cs:line 61
   at Program.<Main>$(String[] args) in C:\bugs\playwright\Program.cs:line 7
   at Program.<Main>(String[] args)

I'll try this on my M1 and see if the same thing happens there.

I can also repro this on the M1 with .Net 8 Preview 5.

Any idea when this fix might appear in a release? A couple other partner teams are running into this.

Any idea when this fix might appear in a release? A couple other partner teams are running into this.

Probably in 2-3 weeks.

@AndyAyersMS I don't think we will be able to ship on preview 5 then.

@mxschmitt would it be possible to create a release sooner? I would like to be able to unblock @timmydo if possible.

Just to confirm, all of the repos where I originally hit this issue are all working correctly with PGO enabled using the above beta package.


start debug multi folder workspace startup dialog

Issue Type: Bug
Dialog pops up when debugging starts:
'${workspaceFolder}' can not be resolved in a multi folder workspace. Scope this variable using ':' and a workspace folder name.
VS Code version: Code 1.47.2 (17299e413d5590b14ab0340ea477cdd86ff13daf, 2020-07-15T18:18:50.054Z)
OS version: Darwin x64 19.5.0

System Info

Item
Value

CPUs
Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz (16 x 2300)

GPU Status
2d_canvas: enabledflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmetal: disabled_offmultiple_raster_threads: enabled_onoop_rasterization: disabled_offprotected_video_decode: unavailable_offrasterization: enabledskia_renderer: disabled_off_okvideo_decode: enabledviz_display_compositor: enabled_onviz_hit_test_surface_layer: disabled_off_okwebgl: enabledwebgl2: enabled

Load (avg)
2, 2, 2

Memory (System)
32.00GB (0.02GB free)

Process Argv

Screen Reader
no

VM
0%

Extensions (13)

Extension
Author (truncated)
Version

npm-intellisense
chr
1.3.0

vscode-eslint
dba
2.1.8

githistory
don
0.6.8

json-tools
eri
1.0.2

docthis
joe
0.7.1

git-graph
mhu
1.24.0

vscode-docker
ms-
1.4.1

js-debug-nightly
ms-
2020.7.2317

sqltools
mtx
0.22.11

sqltools-driver-mysql
mtx
0.1.0

vscode-graphql
Pri
0.2.14

vscode-icons
vsc
10.2.0

material-theme
zhu
3.8.5

(1 theme extensions excluded)

If possible, please share your launch config us.

see: #103099 and #94725
This is in the same workspace config, i am only sharing what is necessary
"folders": [
    {
      "name": "React",
      "path": "app"
    },
    {
      "name": "apollo",
      "path": "../backend-redacted"
    },
    {
      "name": "Deployment",
      "path": "../.."
    },
    {
      "name": "redacted",
      "path": "../../../.."
    }
  ],

"launch": {
    "configurations": [
      {
        "name": "React: Chrome",
        "type": "chrome",
        "request": "launch",
        "url": "http://localhost:3000",
        "webRoot": "${workspaceFolder:React}/src",
        "sourceMapPathOverrides": {
          "webpack:///src/*": "${webRoot}/*"
        },
        "presentation": {
          "hidden": false,
          "group": "React",
          "order": 1
        }
      },
      {
        "name": "React: Debug Unit Tests",
        "type": "node",
        "request": "launch",
        "cwd": "${workspaceFolder:React}",
        "runtimeExecutable": "${workspaceFolder:React}/node_modules/.bin/react-scripts",
        "args": [
          "test",
          "--runInBand",
          "--no-cache",
          "--watchAll=false",
          "--env=jsdom"
        ],
        "protocol": "inspector",
        "console": "integratedTerminal",
        "internalConsoleOptions": "neverOpen",
        "env": {
          "CI": "true"
        },
        "skipFiles": [
          "<node_internals>/**/*.js",
          "${workspaceFolder:React}/node_modules/**/*.js",
          "${workspaceFolder:React}node_modules\\**\\*.js",
          "<node_internals>/**/*.js"
        ],
        "disableOptimisticBPs": true,
        "presentation": {
          "hidden": false,
          "group": "React",
          "order": 1
        }
      },
      {
        "name": "apollo-server",
        "trace": "verbose",
        "type": "node",
        "request": "launch",
        "cwd": "${workspaceFolder:apollo}",
        "runtimeExecutable": "${workspaceFolder:apollo}/node_modules/.bin/ts-node-dev",
        "args": [
          "--respawn",
          "--inspect",
          "--inspect-brk=9229",
          "--transpileOnly",
          "--ignore-watch=node_modules",
          "./src/server.ts"
        ],
        "protocol": "inspector",
        "console": "integratedTerminal",
        "internalConsoleOptions": "neverOpen",
        "env": {
          "CI": "true"
        },
        "skipFiles": [
          "<node_internals>/**/*.js",
          "${workspaceFolder:apollo}/node_modules/**/*.js",
          "${workspaceFolder:apollo}node_modules\\**\\*.js",
          "<node_internals>/**/*.js"
        ],
        "disableOptimisticBPs": true,
        "presentation": {
          "hidden": false,
          "group": "apollo-server",
          "order": 1
        },
        "port": 9229,
        "restart": true
      }
    ],
    "compounds": [
      {
        "name": "Full Stack Debugging",
        "configurations": [
          "React: Chrome",
          "apollo-server"
        ],
        "presentation": {
          "hidden": false,
          "group": "all",
          "order": 10
        }
      }
    ]
  }

Please try setting your launch "type": "pwa-node", instead of node and `"type": "pwa-chrome", instead of chrome -- we've made improvements here.

I tried that. No change,  I still get the same error/warning dialog.
On Mon, Jul 27, 2020, 5:52 PM Connor Peet<EMAIL_ADDRESS>wrote:

Please try setting your launch "type": "pwa-node", instead of node and
`"type": "pwa-chrome", instead of chrome -- we've made improvements here.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/microsoft/vscode/issues/103261#issuecomment-664696373,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABDVBZX5ZZWPRKH4YCCM723R5YHM3ANCNFSM4PG4I27A
.

{
"version": "0.2.0",
"configurations": [
{

  "type": "pwa-node",

  "request": "launch",

  "name": "Launch via NPM",

  "runtimeExecutable": "npm",

  "console": "integratedTerminal",

  "runtimeArgs": [

    "run-script",

    "start:dev"

  ],

  "skipFiles": [

    "<node_internals>/**"

  ]

},

{

  "type": "pwa-node",

  "request": "launch",

  "name": "Launch Vital-Signs-Service",

  "program": "${workspaceFolder}/server.js",

  "envFile": "${workspaceFolder}/.env",

  "console": "integratedTerminal",

  "args": [

    "--inspect=9229",

    "--runInBand",

    "--config",

    "--require tsconfig-paths/register",

    "--require dotenv/config"

  ],

  "skipFiles": [

    "<node_internals>/**"

  ]

},

{

  "type": "node",

  "request": "launch",

  "name": "Debug Jest Tests",

  "cwd": "${workspaceFolder}",

  "envFile": "${workspaceFolder}/.env",

  "args": [

    "--inspect-brk",

    "${workspaceRoot}/node_modules/.bin/jest",

    "--runInBand",

    "--config",

    "${workspaceRoot}/jest.config.js"

  ],

  "windows": {

    "args": [

      "--inspect-brk",

      "${workspaceRoot}/node_modules/jest/bin/jest.js",

      "--runInBand",

      "--config",

      "${workspaceRoot}/jest.config.js"

    ]

  },

  "console": "integratedTerminal",

  "internalConsoleOptions": "neverOpen"

},

{

  "type": "node",

  "request": "attach",

  "name": "Debug Attach VSS 9229",

  "protocol": "inspector",

  "port": 9229,

  "restart": true,

  "localRoot": "${workspaceFolder}",

  "remoteRoot": ".",

  "sourceMaps": true

},

{

  "type": "node",

  "request": "launch",

  "name": "Jest Current File",

  "program": "${workspaceFolder}/node_modules/.bin/jest",

  "args": [

    "${fileBasenameNoExtension}",

    "--config",

    "jest.config.js"

  ],

  "console": "integratedTerminal",

  "internalConsoleOptions": "neverOpen",

  "disableOptimisticBPs": true,

  "windows": {

    "program": "${workspaceFolder}/node_modules/jest/bin/jest",

  }

}

]
}
On Fri, Jul 24, 2020 at 11:21 AM Andre Weinand<EMAIL_ADDRESS>wrote:

If possible, please share your launch config us.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/microsoft/vscode/issues/103261#issuecomment-663645490,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABDVBZXACW4WF63LAQSC6MTR5G7J7ANCNFSM4PG4I27A
.

@rvanbree if you have that in your workspace config, then that's expected, since the workspaceFolders you have aren't scoped to a single folder.

No that was launch.json. sorry
On Tue, Jul 28, 2020, 10:14 AM Connor Peet<EMAIL_ADDRESS>wrote:

@rvanbree https://github.com/rvanbree if you have that in your
workspace config, then that's expected, since the workspaceFolders you have
aren't scoped to a single folder.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/microsoft/vscode/issues/103261#issuecomment-665133883,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABDVBZTHIX634FFCX5HQACDR532N3ANCNFSM4PG4I27A
.

I am not sure what you want??? My launch.json was sent. the
workspace.code-workspace just has files/folders listed.
On Mon, Jul 27, 2020 at 2:48 PM Alice Knag<EMAIL_ADDRESS>wrote:

see: #103099 https://github.com/microsoft/vscode/issues/103099 and
#94725 https://github.com/microsoft/vscode/issues/94725
This is in the same workspace config, i am only sharing what is necessary
"folders": [
{
"name": "React",
"path": "app"
},
{
"name": "apollo",
"path": "../backend-redacted"
},
{
"name": "Deployment",
"path": "../.."
},
{
"name": "redacted",
"path": "../../../.."
}
],
"launch": {
"configurations": [
{
"name": "React: Chrome",
"type": "chrome",
"request": "launch",
"url": "http://localhost:3000",
"webRoot": "${workspaceFolder:React}/src",
"sourceMapPathOverrides": {
"webpack:///src/": "${webRoot}/"
},
"presentation": {
"hidden": false,
"group": "React",
"order": 1
}
},
{
"name": "React: Debug Unit Tests",
"type": "node",
"request": "launch",
"cwd": "${workspaceFolder:React}",
"runtimeExecutable": "${workspaceFolder:React}/node_modules/.bin/react-scripts",
"args": [
"test",
"--runInBand",
"--no-cache",
"--watchAll=false",
"--env=jsdom"
],
"protocol": "inspector",
"console": "integratedTerminal",
"internalConsoleOptions": "neverOpen",
"env": {
"CI": "true"
},
"skipFiles": [
"<node_internals>//*.js",
"${workspaceFolder:React}/node_modules//.js",
"${workspaceFolder:React}node_modules\**\.js",
"<node_internals>//*.js"
],
"disableOptimisticBPs": true,
"presentation": {
"hidden": false,
"group": "React",
"order": 1
}
},
{
"name": "apollo-server",
"trace": "verbose",
"type": "node",
"request": "launch",
"cwd": "${workspaceFolder:apollo}",
"runtimeExecutable": "${workspaceFolder:apollo}/node_modules/.bin/ts-node-dev",
"args": [
"--respawn",
"--inspect",
"--inspect-brk=9229",
"--transpileOnly",
"--ignore-watch=node_modules",
"./src/server.ts"
],
"protocol": "inspector",
"console": "integratedTerminal",
"internalConsoleOptions": "neverOpen",
"env": {
"CI": "true"
},
"skipFiles": [
"<node_internals>//.js",
"${workspaceFolder:apollo}/node_modules/**/.js",
"${workspaceFolder:apollo}node_modules\\*.js",
"<node_internals>//*.js"
],
"disableOptimisticBPs": true,
"presentation": {
"hidden": false,
"group": "apollo-server",
"order": 1
},
"port": 9229,
"restart": true
}
],
"compounds": [
{
"name": "Full Stack Debugging",
"configurations": [
"React: Chrome",
"apollo-server"
],
"presentation": {
"hidden": false,
"group": "all",
"order": 10
}
}
]
}
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/microsoft/vscode/issues/103261#issuecomment-664630465,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABDVBZTILNQKX5PE6REU563R5XR3LANCNFSM4PG4I27A
.

@rvanbree if you're using ${workspaceFolder} you need to specify a folder name.
see: https://code.visualstudio.com/docs/editor/multi-root-workspaces#_workspace-launch-configurations
It depends on your  "folders" directive: https://code.visualstudio.com/docs/editor/multi-root-workspaces#_workspace-file-schema

@connor4312 pwa-node executes, but
"protocol": "inspector", seems deprecated, and
"console": "integratedTerminal",  seems to only run one command which spawns a CMD window completely detached from the integrated terminal (equivalent as writing && in a unix terminal)

integratedTerminal opens an integrated terminal that shows the logging and
console.log print statements.
On Tue, Jul 28, 2020 at 11:29 AM Alice Knag<EMAIL_ADDRESS>wrote:

@connor4312 https://github.com/connor4312 pwa-node executes, but
"protocol": "inspector", seems deprecated, and
"console": "integratedTerminal", seems to only run one command which
spawns a CMD window completely detached from the integrated terminal
(equivalent as writing && in a unix terminal)
${env:CI}='true'; ${env:NODE_OPTIONS}='--require "c:/Program Files/Microsoft VS Code/resources/app/extensions/ms-vscode.js-debug/src/bootloader.bundle.js" '; ${env:VSCODE_INSPECTOR_OPTIONS}='{"inspectorIpc":"\\.\pipe\node-cdp.20804-1.sock","deferredMode":false,"waitForDebugger":"","execPath":"C:\Program Files\nodejs\node.exe","onlyEntrypoint":false,"fileCallback":"C:\Users\alice\AppData\Local\Temp\node-debug-callback-3ac9abe1b0df0127"}'; & 'C:\Users\alice[redacted][redacted][redacted][redacted][redacted][redacted]/node_modules/.bin/ts-node-dev' '--respawn' '--inspect' '--inspect-brk=9229' '--transpileOnly' '--ignore-watch=node_modules' './src/server.ts'
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/microsoft/vscode/issues/103261#issuecomment-665171166,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABDVBZQEYH662PARVKALOF3R54CZFANCNFSM4PG4I27A
.

@AskAlice thanks for the update! Indeed, we released a new debugger in the most recent VS Code update. By default the old debuggers will redirect to the new debugger after resolving config, but in multi-root workspaces we sometimes need the config resolution to go to the new debugger for config resolution step, which is what pwa-node does.
Some things are deprecated as you noticed -- we no longer support Node < 7, so dropped the protocol, and don't need a specific port to attach. We filter out --inspect-brk automatically if given in the runtimeArguments (where it's usually placed for Node to consume) but don't do that in the program args to avoid causing issues there.

seems to only run one command which spawns a CMD window completely detached from the integrated terminal

This is unexpected, I'll look at that...

@connor4312 this is probably related to the above
https://github.com/microsoft/vscode/issues/103099#issuecomment-665195383

@AskAlice  : Adding the {workspacefolder:folder} does not help - I still get the dialog twice... hmmmm?

@rvanbre is that a workspace configuration? it looks more like a launch.json in a .vscode folder

projectX.code-workspace has a folders json array { "folders":[ "path": {"some-folder"}, ...]};

Ha! I figured it out!
I was not seeing output from the logger so I used the
"console":"IntegratedTerminal" and that caused the weird error dialog to
display.
I am now using "outputCapture":"std"
winner!
On Wed, Jul 29, 2020 at 2:14 AM Alice Knag<EMAIL_ADDRESS>wrote:

@connor4312 https://github.com/connor4312 this is probably related to
the above
#103099 (comment)
https://github.com/microsoft/vscode/issues/103099#issuecomment-665195383
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/microsoft/vscode/issues/103261#issuecomment-665510549,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABDVBZSWL7PH3LDGVWMIV5DR57K7PANCNFSM4PG4I27A
.

That's... interesting. Variable resolution happens independently of what console it's running in. Any chance you can take a screenshot of the "weird error" dialog you were seeing?

Just an FYI, this seems to occur when using the "debug.node.autoAttach": "on" setting. Which is a problem since using autoAttach: on means no launch.json file exists.

@adammahon you're seeing https://github.com/microsoft/vscode/issues/103099


my_OG_dedpool sketch

i make this sketch in sketchbook app and then imported it to this blot code this drawing took me 3 hrs completely original

Hi Samarpan! Very nice drawing. I don't necessarily think importing an SVG file into blot is quite the approach we're hoping for- could you try to take advantage of blot's built-in functions to make some more generative art?


Suggestion: Add filter by tech requirement

When planning for facilities, it would be nice to know which plans would be available in the early/mid/late by being able to filter by the different facility tech tier.

Added. 👍


Add feedback mechanism for pulumi ai

Description
This PR adds a feedback block at the end of response for Pulumi AI. The response are then stored in Metabase.

Checklist:

[ ] I have reviewed the style guide.
[ ] If blogging, I have reviewed the blogging guide.
[ ] I have manually confirmed that all new links work.
[ ] I added aliases (i.e., redirects) for all filename changes.
[ ] If making css changes, I rebuilt the bundle.

@cnunciato There is some logic to send all the outstanding feedback requests (ones that are "unsubmitted") when the component disconnects. I agree that the UI could use some fine-tuning.
I'm not exactly sure how it will interact with the sharing stuff to be honest. I think it would be best to get the sharing PR merged then rebase this on top of it to see where we are at.


Update code.sh to use new VSCode integrated terminal profiles

This PR replaces deprecated VSCode setting terminal.integrated.shell.linux in favour of new terminal.integrated.profiles.linux one.

Failing test was my fault - didn't update the tests for a previous commit - when you rebase, will be fixed.

Thanks for the update! Can you also fix tests/test-basic.sh so that ./run-tests.sh passes. Thanks!
(Because it's hard to actually test out the functionality, a lot of the test suite is just checking that the commands run and the config files created are as expected - so it needs quite a bit of adjustment.)

@owtaylor I've just updated the tests. It should be OK now.

Great. Would you mind squashing into a single commit? (git rebase -i) - my personal preference is to optimize for readability of the history and also (where possible) to avoid having places in the history where tests are broken. Thanks!

@owtaylor Commits squashed


ODB-21: Shape of Melt-Pool

We should attempt to mesh and plot the shape of the melt-pool

As trivial as plotting with a thermal boundary


macOS support

It's quite early days still, but this helps to get everything moving.

Depends on https://github.com/microsoft/DirectXShaderCompiler/pull/3062


Update deployment script for latest Bazel/gcloud commands [phab:D667]

Created by schroederc at 2016-01-05 21:24:11:

shahms accepted this revision at 2016-01-05 21:25:32

schroederc closed via commit 3b9962ab6f1bed8d6d1bd9736b015534d5fe89f1 at 2016-01-05 21:26:47


Fix channel mask in MLE Discover process.

Fix channel mask interpretation (bit 0 is channel 0).
Do not send Discover Request on invalid channels.

Fixes #1701.

Codecov Report

Merging #1702 into master will increase coverage by 0.77%.
The diff coverage is 64.7%.

@@            Coverage Diff             @@
##           master    #1702      +/-   ##
==========================================
+ Coverage    66.4%   67.17%   +0.77%
==========================================
  Files         170      171       +1
  Lines       21268    21285      +17
  Branches     2610     2611       +1
==========================================
+ Hits        14123    14299     +176
+ Misses       6239     6082     -157
+ Partials      906      904       -2

Impacted Files
Coverage Δ

src/core/thread/mesh_forwarder.hpp
66.66% <ø> (ø)
:arrow_up:

src/core/thread/mesh_forwarder.cpp
78.13% <64.7%> (-0.13%)
:arrow_down:

src/core/coap/coap_client.hpp
73.33% <0%> (-20%)
:arrow_down:

src/core/coap/coap_client.cpp
52.97% <0%> (-19.22%)
:arrow_down:

src/core/coap/coap_server.cpp
81.88% <0%> (-7.25%)
:arrow_down:

src/core/thread/data_poll_manager.cpp
64.49% <0%> (-4.35%)
:arrow_down:

src/core/coap/coap_server.hpp
89.65% <0%> (-3.68%)
:arrow_down:

src/core/api/thread_api.cpp
40.64% <0%> (ø)
:arrow_up:

examples/apps/ncp/main.c
100% <0%> (ø)

src/core/thread/network_data_leader_ftd.cpp
69.01% <0%> (+0.23%)
:arrow_up:

... and 17 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 f4be21f...7c187a8. Read the comment docs.

@thcu-gp, the reason for moving the logic was to determine earlier if there are no channels within the channel mask that are within the valid range.  By not reaching the HandleFrameRequest() handler, we do not even attempt to perform a transmission.


Out of memory while synching blockchain

I got this report on freenode today, logging here for info / discussion.

The user is synching dogecoind on a 32-bit linux vps with 512M RAM and gets:
console:
dogecoind: main.cpp:1890: bool ConnectBlock(CBlock&, CValidationState&, CBlockIndex*, CCoinsViewCache&, bool):
  Assertion `hashPrevBlock == view.GetBestBlock()' failed.

and in debug.log:
2014-09-22 11:00:55 ProcessBlock: ACCEPTED
2014-09-22 11:00:55 GetNextWorkRequired() : RETARGET; target: 60, actual: 4, modulated: 53, before: 1b4fed98, after: 1b469a68
2014-09-22 11:00:56 LoadExternalBlockFile : Deserialize or I/O error - std::bad_alloc
GetNextWorkRequired() : RETARGET; target: 60, actual: 144, modulated: 70, before: 1b469a68, after: 1b525ece

Reported to happen at different blocks, this log is for block 225818 (json)
User reports this happens with both network sync and bootstrap.dat.

I'll set up a 32-bit env and run some checks with valgrind later, see if there's something obviously wrong, or that it's just the fact that there's a 70kb tx inside the block in question, with 476 inputs.

I just documented the Unix build instructions with directions for adding swap on lower RAM devices to fix this issue.
It hasn't been merged as of this post, but it might soon. Just hope :)

1.10 reduces memory footprint, but honestly I think 512mb is optimistic given the size of the dataset. Any objections to closing this?

Can we let it open until I have tested a 1.10 instance with all our crap in? :)

1.10 reduces memory footprint

For me, 1.10.0 takes about double the memory 1.8.3 takes.
@rnicoll: thoughts on why, if we were expecting the opposite?

I've done some selective reverts of PRs that I thought could have caused this, and the winner is: #1206
With this patch dogecoind takes about ~950MB resident memory, without it ~380MB.

Ah, yes, of course we're adding a whole second header and additional merkle branches to the index. Might be an idea to load it with the AuxPoW header as well, then drop it after validation, not sure.

fixed with #1338 as best we can for now.


[FIX] Image not found because

The image resides in vendor dir and not being copied to dist folder.
Also I fix the mixing tab and space in code.

merged

+1


version update

Checklist

[x] I'm reporting a feature request
[x] I've verified that I'm running youtube-dl version 2021.12.17
[x] I've searched the bugtracker for similar feature requests including closed ones

Description

version 2021.12.17 looks too old. Please use versioningit to make it more relevant reflecting resent updates

Duplicate of #31585

@dirkf :

Duplicate of #31585

This is not duplicate. This issue is not about an update problem and not about new release that is overdue as You say.  I don't care about overdue release and I have no problem with update as I am using git.
This issue is about version itself as such. The problem is that while I am updating the code in regular basis the   --version option always report the same version. So if You deal with few instances You don't know what code You are using excatly.
With versioningit You could solve this problem easily. It generate unique version for last commit. You can define format of that version. You can for example define that tag will be the main part (2021.12.17 for now) and remaining suffix will depend from the commit. This is quick and convenient solution.

Fair point, which I did actually realise after closing this.
In my own project I'd probably increment the version immediately after a release with some sort of "work-in-progress" indicator and then make the actual version at the point of release. Some other projects have an odd version for WIP/unstable and an even for stable. However yt-dl hasn't done so and some new approach probably ought to be considered.
If you're running the youtube-dl command with updated module code, it doesn't reveal that. If you run it in the git tree with python -m youtube_dl -v ... it lists the git HEAD.

@dirkf:

Fair point, which I did actually realise after closing this.

This my fault. I should've explain the problem more detailed first.

In my own project I'd probably increment the version immediately after a release with some sort of "work-in-progress" indicator and then make the actual version at the point of release. Some other projects have an odd version for WIP/unstable and an even for stable. However yt-dl hasn't done so and some new approach probably ought to be considered.

Again the issue is not about stable,  unstable or 'work-in-progress'  indicator. This issue is about generating unique version to identify exactly the commit it correspond. You don't need to invent bicycle. There is best practice already exists. Here is example.
5.4.0+6.gcb7edb6e
This is version reported by code itself outside of the git tree. It consists of 3 parts:
5.4.0
This first part  is the last tag that is the same as last release. You could consider it as main version or release
6
This second part is number of commits elapsed since last tag (release)
cb7edb6e
And finally this third part is short unique representation of commit hash that is it's beginning. Two others symbols i.e. + and .g are delimiters. All parts and delimiters are configurable. For example you can omit second or third part. This example of configuration is very convenient as using third part as pattern You could easily find the commit in git log, while the second part show how far You are ahead of the last release. At the same time with this configuration only first part will be reported for any release. And You don't need to do some special configuration for release, it happens automatically as for  release two last parts just doesn't exists (as before, we assume the release is the same as tag).

If you're running the youtube-dl command with updated module code, it doesn't reveal that. If you run it in the git tree with python -m youtube_dl -v ... it lists the git HEAD.

As mentioned above the version reporting should not be tied to git tree. The example above is working for a code installed for example with pip. Other installation tools give the same result as version generation is part of the installation process.
To be closer for Your code here is real example. At this moment versioningit generate this version for my fork of your repository:
2<IP_ADDRESS>0
As You could see there are no third part and second part is 290  number of commits elapsed since last release of 2021.12.17 .  See the exact configuration for this pattern:
https://github.com/vstavrinov/youtube-dl/blob/master/pyproject.toml
And the first example is taken from other project:
https://github.com/streamlink/streamlink/blob/master/pyproject.toml
I hope all these examples help you to design your own solution.

Nowadays, from https://github.com/ytdl-org/youtube-dl/issues/32772#issuecomment-2080266676:

If you are using the nightly release, as recommended, you get a sensible version number.


remove const for value type in closure to make it movable

@SylvainCorlay as per discussion.

Looks good to me. Let's wait for @JohanMabille to validate or merge as per in-person discussion.
(we probably also need to check that xtensor builds against that change)

I've been advocating a lot for this change since the move issue has been noticed in xtensor so LGTM ;)
I agree with @SylvainCorlay we should check that xtensor builds fine (or that only a few changes are required) with this PR before merging. We'll probably have to update the xclosure classes in xtensor).


[Tabs] Tab label not fully shown when added past overflow

Bug, feature request, or proposal:
Bug
What is the expected behavior?
Tab is selected after being added to mat-tab-group and is in full view.
What is the current behavior?
Tab is selected and is hidden behind the paginators.
What are the steps to reproduce?
https://stackblitz.com/edit/angular-material2-issue-c9hsyv
In the stackblitz above, add tabs until the paginator is shown. The tab will be partial hidden by the paginator.

What is the use-case or motivation for changing an existing behavior?
Navigating the user to the tab they just opened.
Which versions of Angular, Material, OS, TypeScript, browsers are affected?
Angular: any
Material: 5.0.0
OS: any
TypeScript: 2.4.2
Browsers: any
Is there anything else we should know?
A related issue which can also be seen in the stackbliz provided, is that the transform of the bar is not correctly updating when removing tabs. Steps to reproduce: Add 4(or enough tabs to show pagination) tabs (pagination will be shown and last tab will be selected).
Remove the third tab by clicking the X on the label. Pagination is shown until clicking on the label. It then updates and removes the pagination controls since the content can fit.

Both issues seem to be related to the animation of the inkbar. (ink-bar.ts line 35) Performing the left calculation in the animation frame plus the delay of the actual animation happens after all the calculations to show/hide the paginator controls.

any news on this issue? I'm facing the same problem

Is there any updates on this issues ? as I am facing the same issue


Dependabot PR doesn't list what packages were updated but the commit message does

Is there an existing issue for this?

[X] I have searched the existing issues

Package ecosystem
npm
Package manager version
No response
Language version
No response
Manifest location and content before the Dependabot update
https://github.com/xt0rted/dotnet-sdk-updater/blob/cbb5ab188ac13d464cf19bf5ac4f892f6f836934/package.json
{
  "name": "dotnet-sdk-updater",
  "version": "1.0.0",
  "private": true,
  "description": "Update global.json files with the latest SDK version",
  "main": "dist/index.js",
  "type": "module",
  "scripts": {
    "build": "tsc --project ./tsconfig.build.json",
    "clean": "rimraf coverage dist lib",
    "eslint": "eslint . --ext .js,.cjs,.ts",
    "eslint:fix": "npm run eslint -- --fix",
    "lint": "tsc --noEmit && npm run eslint",
    "local": "ncc run src/main.ts",
    "package": "ncc build ./src/main.ts --source-map --license license.txt",
    "readme": "actions-toolkit update-readme --include-example",
    "prerelease": "npm run clean && npm run lint && npm test && npm run build",
    "release": "npm run package && git add -f dist/",
    "postrelease": "node --loader ts-node/esm ./scripts/prepare-release.ts && git add action.yml",
    "test": "cross-env NODE_OPTIONS=--experimental-vm-modules jest --coverage --config=jest.config.cjs"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/xt0rted/dotnet-sdk-updater.git"
  },
  "keywords": [
    "actions",
    "github",
    "dependabot",
    "dependencies",
    "dotnet",
    "dotnet-core",
    "dotnet-sdk"
  ],
  "author": "xt0rted",
  "license": "MIT",
  "dependencies": {
    "@actions/core": "^1.10.1",
    "json5": "^2.2.3",
    "node-fetch": "^3.3.2",
    "semver": "^7.6.0",
    "xregexp": "^5.1.1"
  },
  "devDependencies": {
    "@types/eslint": "^8.56.2",
    "@types/jest": "^29.5.12",
    "@types/node": "^20.11.25",
    "@types/semver": "^7.5.8",
    "@typescript-eslint/eslint-plugin": "^6.20.0",
    "@typescript-eslint/parser": "^6.20.0",
    "@vercel/ncc": "^0.38.1",
    "@xt0rted/actions-toolkit": "^0.0.1",
    "cross-env": "^7.0.3",
    "dotenv": "^16.4.5",
    "eslint": "^8.56.0",
    "eslint-plugin-import": "^2.29.1",
    "eslint-plugin-jest": "^27.6.3",
    "eslint-plugin-sort-destructure-keys": "^1.5.0",
    "eslint-plugin-typescript-sort-keys": "^3.1.0",
    "eslint-plugin-unicorn": "^50.0.1",
    "jest": "^29.7.0",
    "jest-circus": "^29.6.1",
    "nock": "^13.5.4",
    "rimraf": "^5.0.5",
    "ts-jest": "^29.1.2",
    "ts-node": "^10.9.2",
    "tslib": "^2.6.2",
    "typescript": "^5.4.2"
  }
}

dependabot.yml content
https://github.com/xt0rted/dotnet-sdk-updater/blob/cbb5ab188ac13d464cf19bf5ac4f892f6f836934/.github/dependabot.yml
version: 2
updates:

  - package-ecosystem: "github-actions"
    directory: "/"
    schedule:
      interval: "weekly"
    groups:
      github-actions:
        patterns:
          - "actions/*"
      my-actions:
        patterns:
          - "xt0rted/*"

  - package-ecosystem: "npm"
    directory: "/"
    schedule:
      interval: "weekly"
    groups:
      eslint:
        patterns:
          - "@types/eslint"
          - "@typescript-eslint/*"
          - "eslint"
          - "eslint-*"
      jest:
        patterns:
          - "@types/jest"
          - "jest"
          - "jest-*"
          - "ts-jest"
      semver:
        patterns:
          - "@types/semver"
          - "semver"
      typescript:
        patterns:
          - "ts-node"
          - "tslib"
          - "typescript"

Updated dependency

Package
From
To

@typescript-eslint/eslint-plugin
6.20.0
6.21.0

@typescript-eslint/parser
6.20.0
6.21.0

eslint
8.56.0
8.57.0

@types/eslint
8.56.2
8.56.5

eslint-plugin-jest
27.6.3
27.9.0

eslint-plugin-typescript-sort-keys
3.1.0
3.2.0

eslint-plugin-unicorn
50.0.1
51.0.1

What you expected to see, versus what you actually saw
The commit message has the list of packages updated, but the PR body doesn't for some reason.
https://github.com/xt0rted/dotnet-sdk-updater/pull/605
Native package manager behavior
No response
Images of the diff or a link to the PR, issue, or logs
No response
Smallest manifest that reproduces the issue
No response

I got 2 more PRs like this in a private repo. All they say is:

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.

While the commit message says:
Bumps the dotnet group with 4 updates: [Microsoft.AspNetCore.Identity.EntityFrameworkCore](https://github.com/dotnet/aspnetcore), [Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore](https://github.com/dotnet/aspnetcore), [Microsoft.AspNetCore.Identity.UI](https://github.com/dotnet/aspnetcore) and [Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation](https://github.com/dotnet/aspnetcore).

Updates `Microsoft.AspNetCore.Identity.EntityFrameworkCore` from 6.0.24 to 6.0.28
- [Release notes](https://github.com/dotnet/aspnetcore/releases)
- [Changelog](https://github.com/dotnet/aspnetcore/blob/main/docs/ReleasePlanning.md)
- [Commits](https://github.com/dotnet/aspnetcore/compare/v6.0.24...v6.0.28)

Updates `Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore` from 6.0.24 to 6.0.28
- [Release notes](https://github.com/dotnet/aspnetcore/releases)
- [Changelog](https://github.com/dotnet/aspnetcore/blob/main/docs/ReleasePlanning.md)
- [Commits](https://github.com/dotnet/aspnetcore/compare/v6.0.24...v6.0.28)

Updates `Microsoft.AspNetCore.Identity.UI` from 6.0.24 to 6.0.28
- [Release notes](https://github.com/dotnet/aspnetcore/releases)
- [Changelog](https://github.com/dotnet/aspnetcore/blob/main/docs/ReleasePlanning.md)
- [Commits](https://github.com/dotnet/aspnetcore/compare/v6.0.24...v6.0.28)

Updates `Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation` from 6.0.26 to 6.0.28
- [Release notes](https://github.com/dotnet/aspnetcore/releases)
- [Changelog](https://github.com/dotnet/aspnetcore/blob/main/docs/ReleasePlanning.md)
- [Commits](https://github.com/dotnet/aspnetcore/compare/v6.0.26...v6.0.28)

---
updated-dependencies:
- dependency-name: Microsoft.AspNetCore.Identity.EntityFrameworkCore
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dotnet
- dependency-name: Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dotnet
- dependency-name: Microsoft.AspNetCore.Identity.UI
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dotnet
- dependency-name: Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dotnet
...

Signed-off-by: dependabot[bot]<EMAIL_ADDRESS>
And
Bumps the entity-framework group with 4 updates: [Microsoft.EntityFrameworkCore.Design](https://github.com/dotnet/efcore), [Microsoft.EntityFrameworkCore.SqlServer](https://github.com/dotnet/efcore), [Microsoft.EntityFrameworkCore.Tools](https://github.com/dotnet/efcore) and [dotnet-ef](https://github.com/dotnet/efcore).

Updates `Microsoft.EntityFrameworkCore.Design` from 6.0.24 to 6.0.28
- [Release notes](https://github.com/dotnet/efcore/releases)
- [Commits](https://github.com/dotnet/efcore/compare/v6.0.24...v6.0.28)

Updates `Microsoft.EntityFrameworkCore.SqlServer` from 6.0.24 to 6.0.28
- [Release notes](https://github.com/dotnet/efcore/releases)
- [Commits](https://github.com/dotnet/efcore/compare/v6.0.24...v6.0.28)

Updates `Microsoft.EntityFrameworkCore.Tools` from 6.0.24 to 6.0.28
- [Release notes](https://github.com/dotnet/efcore/releases)
- [Commits](https://github.com/dotnet/efcore/compare/v6.0.24...v6.0.28)

Updates `dotnet-ef` from 7.0.13 to 8.0.3
- [Release notes](https://github.com/dotnet/efcore/releases)
- [Commits](https://github.com/dotnet/efcore/compare/v7.0.13...v8.0.3)

---
updated-dependencies:
- dependency-name: Microsoft.EntityFrameworkCore.Design
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: entity-framework
- dependency-name: Microsoft.EntityFrameworkCore.SqlServer
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: entity-framework
- dependency-name: Microsoft.EntityFrameworkCore.Tools
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: entity-framework
- dependency-name: dotnet-ef
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: entity-framework
...

Signed-off-by: dependabot[bot]<EMAIL_ADDRESS>

I had this happen in a public repo this week https://github.com/xt0rted/dotnet-rimraf/pull/313


[consoleAPP] If there is an error while deleting an idp the error messages not displayed properly

Describe the issue:
When deleting an idp, if the idp is already used by an sp then there is an error message as below.

Here error messages are quickly disappearing before reading it and also couldn't see full message.
How to reproduce:

Create a sp and idp
Configure the idp as one of the steps for the sp
Try to delete the idp

Expected behavior:
Clear error message should be displayed.
Environment information (Please complete the following information; remove  any unnecessary fields) :

Product Version:IS-5.11.0-beta2
OS: Linux
Database: POSTGRE
Userstore: JDBC

Current notification implementation structure has a limitation where the notifications are no persisted to any place and the users have no way to look into old or session related notification. Ideally there should be a notification centre UI to view the notifications in detail.
As a work around we could implement a notification persisting logic to persist the notifications to the browser storage. The limitation is this will only be limited to per tab and if the use switches or opens a new tab all the notifications will be lost. To overcome this we will need to add backend support to persist and retrieve notifications related to a user.

Since the notification persistence is yet to be implemented, we have improved the current notification structure according to the issue here

Couldn't reproduce the issue with wso2is-alpha17 pack as the behaviour got changed.


Fix for Question Format issue #603

This patch updates the seeds.rb file that new installations use to seed their database tables. The file was missing the question_formats.formattype field and the token_permissions_type table was missing entries for 'templates' and 'statistics'

References to my thoughts:

answer's plan: https://github.com/DMPRoadmap/roadmap/blob/master/app/views/answers/_new_edit.html.erb#L40
templates's edit/creation:
https://github.com/DMPRoadmap/roadmap/blob/master/app/views/questions/_preview_question.html.erb#L14


Updating packaging branch with latest dev updates

Check fails here because of imports in testing files that are no longer being used in branch sarah_tests. This branch will be merged into Sarah's branch for making tests next, so we can leave this failure as it will be fixed in an imminent commit change in the sarah_tests branch for Issue #4


Id generation fails for saveAll

The id generation via BeforeConvertCallback when saveAll is used.

This was caused  by 7cf81aed359b29cabc49b7213f2588df13450bef


Provide futures::task::Spawn implementation

To support executor agnostic libraries it would be useful to have a handle that can be passed to them if they require the ability to spawn new tasks.

This would make us rely on futures types in the public interface, which we don't want to do. That's not only for the Spawn type, but also all Error types and FutureObj.
A spawner is also pretty simple to write and I'd prefer frameworks to ship their own if they want to. An example for the patters library would be useful, though.

async-std already exposes types from futures in the public interface, passing an async_std::fs::File to a function accepting impl futures::io::AsyncRead works. Spawn is currently defined in futures-core so it is positioned as even more stable than the IO traits (although there is an issue open about moving it out of there https://github.com/rust-lang-nursery/futures-rs/issues/1830).

A spawner is also pretty simple to write and I'd prefer frameworks to ship their own if they want to.

A ZST spawn impl calling out to a global function is trivial to write, I just don't see why that should be repeated 100's of times across every application that wants to call into an executor-agnostic library when it can be provided by the executor. I guess someone could publish async-std-spawn and everyone can just depend on that instead.

@Nemo157 yes, but it explicitly rules out those types from its stability guarantees.
It's precisely the open issues that make it hard for us to currently commit on these. An async-std-spawn would be perfectly great in that line of thinking, even one published and maintained by this project itself, to be clear!

I should also say that there is also tokio::executor::{Executor, TypedExecutor} which are being used by some crates like hyper currently. So it probably makes a lot of sense to provide separate adaptor crates until there has been more experimentation and the ecosystem has stabilized a bit.

Yes. I want to generally write down a strategy/contribution document for such things soon (tm) to bring some clarity into this.

The code for this would probably be along the lines of:
#[derive(Debug)]
struct Spawner;

impl futures::task::Spawn for Spawner {
    fn spawn_obj(&mut self, future: FutureObj<'static, ()>) -> Result<(), SpawnError> {
        async_std::task::spawn(future)?; // cast the error somehow
        Ok(())
    }
}

I agree having a separate for this would be convenient. @Nemo157 is this something you would want to author?

Unfortunately I'm not using async-std enough in real projects to have the motivation to maintain a crate for that.

@nemo157 that makes sense; thanks for the quick reply!

It doesn't seem anyone is particularly eager to implement this anytime soon. Also the Spawn trait might be removed from futures-core in the near future. I think it's okay to go ahead and close this for now.


⚠ Beamable Mail (Object) has degraded performance

In 907fa19, Beamable Mail (Object) (https://api.beamable.com/object/mail/platform/docs) experienced degraded performance:

HTTP code: 200
Response time: 19473 ms

Resolved: Beamable Mail (Object) performance has improved in 344ef76 after 11 minutes.


chore(main): release 0.4.8

:robot: I have created a release beep boop
0.4.8 (2024-04-07)
Code Refactoring

build: Enable cargo-dist plan (#42) (95c0a9f)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/linrongbin16/cargo-ci-template.rs/releases/tag/v0.4.8 :sunflower:


Manage feature depenencies better

This is the code for a local fork that I created to fix #26.
It changes transitive feature dependencies from direct includes to "requires". It also lets you require other features directly, which will cause bundle dependencies to be ignored if they're provided by these features.
This is just for discussion, I don't expect this to be merged neccesarily.

This adds the following syntax:
platform {
    // define a feature
    feature(...) {
        ...

        // requires a feature that is defined elsewhere given its ID
        requires << 'some.other.feature'
    }
}

which creates an external dependency on the other feature instead of including it. The pull request also adds a <requires> block to the feature.xml and moves transitive dependencies there.

Thanks. Looks good to me, though to merge it I would prefer the changed behavior being enabled via a configuration option, to keep the original behavior for backwards compatibility.
Regarding the requires I was wondering if it would make sense to have more options (or an alternative way to declare) when adding a required feature. Especially if the usual use case is to reference a feature that is not part of the build. Maybe a syntax like
platform {
  feature(...) {
    ...
    require(feature: 'id', version: '1.0.0', match: 'perfect', patch: true)
  }
}

Or how would you deal with dependencies to external features right now?

Closing due to lack of feedback.


Add CI role and/or policy

[ ] minimum policy for deploys
[ ] create CI role or document well
[ ] add to examples repo

I'm tempted to just run with the role that up creates, which seems to be of the form "$name-function"?
I expected up config or up stack status to show the role name.


Testing strategy for infrastructure as code

[ ] Research Potential Options
[ ] Research patterns
[ ] Implement in GitHub Actions

I have some basic static code analysis for TF with Checkov. Running a tf plan and tf validate. I need to get integration testing and TDD configured for TF


download.cnet.com

I believe this specific domain(s) is to be moved from the hosts file as it no longer is active for Adult material
Delete this
download.cnet.com

All Submissions:

[ ] Have you followed the guidelines in our Contributing document?
[ ] Have you checked to ensure there aren't other open Merge Requests (MR) or Issues for the same update/change?
[ ] Added ScreenDump for prove of False Positive

Todo

[ ] Removed this from Source file?
[ ] Removed from the RPZ zone adult.mypdns.cloud (@spirillen)

PR are welcome


[DO NOT MERGE] [786] Build self isolating designs

Context

https://trello.com/c/IDucONG1/786-build-designs-for-15-self-isolating

Changes proposed in this pull request

Copy changes around ordering devices
Welcome wizard order_your_own page now only shows if at that moment in time the school/user is not able to order devices

Screenshots
RB cannot order

School cannot order

School wizard order_your_own page changes

Guidance to review

Login as RB that orders centrally where no orders can be placed
Should see relevant copy changes
Login as school that places orders where no order can be placed
Should see relevant copy changes
Go thru school wizard with a school user where orders cannot be placed
Should see order_your_own page
Go thru school wizard with a school user where orders can be placed
Should not see order_your_own page

This work is no longer needed but we can leave this branch here for reference


fix/better error message

feat: give friendly-user error message when the source doesn't exist

Description

Related Issues

Check List

[x] Have you read the
CODE OF CONDUCT
[x] Have you read the document
CONTRIBUTING

[x] One pull request per feature. If you want to do more than one thing,
send multiple pull request.
[ ] Write tests.
[ ] Run deno fmt to fix the code format before commit.
[ ] Document any change in the CHANGELOG.md.

hmm, I create a new branch just for one commit, but it push all my commits to here 😕

Errors must throw exceptions, not calling Deno.exit(). If you want to provide a better error message, throw an exception with the message (For example: throw Error(\Lume cannot find the path at ${dirPath}. Make sure this directory exists `);`)
I suggest to fork Lume again with this change.


Fix Bad, sad error when transitive dependency of a module is not resolved

Purpose
Fixes https://github.com/ballerina-platform/ballerina-lang/issues/21913
Approach

Describe how you are implementing the solutions along with the design details.

Check List

[ ] Read the Contributing Guide
[ ] Updated Change Log
[ ] Checked Tooling Support (#)
[ ] Added necessary tests

[ ] Unit Tests
[ ] Spec Conformance Tests
[ ] Integration Tests
[ ] Ballerina By Example Tests

[ ] Increased Test Coverage
[ ] Added necessary documentation

[ ] API documentation
[ ] Module documentation in Module.md files
[ ] Ballerina By Examples

Closed in favor of https://github.com/ballerina-platform/ballerina-lang/pull/21979

Reopening since the other PR breaks the grpc tests


Added examples for Network items

Added examples for PublicIPAddress, VirtualNetworks, Subnets,
Peerings, RouteTables, Routes, Usage, NetworkSecurityGroups,
SecurityRules, VMSSS NetworkInterfaces, checkDnsNameAvailability,
LoadBalancer, NetworkInterface;
Added descriptions to reduce warnings number
Fixed protocol range in NIC effective security rule

This checklist is used to make sure that common issues in a pull request are addressed. This will expedite the process of getting your pull request merged and avoid extra work on your part to fix issues discovered during the review process.
PR information

[x] The title of the PR is clear and informative.
[x] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For information on cleaning up the commits in your pull request, see this page.
[x] Except for special cases involving multiple contributors, the PR is started from a fork of the main repository, not a branch.
[x] If applicable, the PR references the bug/issue that it fixes.
[x] Swagger files are correctly named (e.g. the api-version in the path should match the api-version in the spec).

Quality of Swagger

[x] I have read the contribution guidelines.
[x] My spec meets the review criteria:

[x] The spec conforms to the Swagger 2.0 specification.
[x] The spec follows the guidelines described in the Swagger checklist document.
[x] Validation tools were run on swagger spec(s) and have all been fixed in this PR.

No modification for AutorestCI/azure-sdk-for-node

 https://github.com/Azure/azure-sdk-for-ruby/pull/865

 https://github.com/Azure/azure-sdk-for-python/pull/1329


headless: true with timeout on Launch causes Kill

Puppeteer version: 0.13.0
Platform / OS version: Mac OSx 10.13.2
URLs (if applicable): (Local URL)

When I launch puppeteer with headless: false and timeout=3000000, everything works great.  When I switch to headless: true I get the following error:
 Error: kill EPERM   at exports._errnoException (util.js:1050:11)   at process.kill (internal/process.js:188:13)   at forceKillChrome (/Users/jfj/Library/Mobile Documents/com~apple~CloudDocs/Workspace/squad-leader/node_modules/puppeteer/lib/Launcher.js:162:19)   at killChrome (/Users/jfj/Library/Mobile Documents/com~apple~CloudDocs/Workspace/squad-leader/node_modules/puppeteer/lib/Launcher.js:147:9)   at Function.launch (/Users/jfj/Library/Mobile Documents/com~apple~CloudDocs/Workspace/squad-leader/node_modules/puppeteer/lib/Launcher.js:137:7)   at process._tickCallback (internal/process/next_tick.js:109:7)  code: 'EPERM', errno: 'EPERM', syscall: 'kill' }
Note I am using coffeescript, but here is how I launch Puppeteer:
puppeteer.launch({headless: true, args: ["--timeout=300000"]}).then (browser) =>
Also note, if I remove the timeout and keep headless:true it works fine.

Would have been a help if you had shared the solution.

To be honest, I don't remember what I did to fix it. Sorry.


fully client side authentication

I'm trying to implement twitter login however I saw that it first sends a request to get token from server and then authenticates based on that. Is it possible to do it fully on client side without that extra step?
And yes I know it is discouraged however if hardcoding token on client side is not secure, then it is also not secure to get those using a post request from server I guess.

OAuth 1 unfortunately requires that extra step to obtain request token. And request token needs to be obtained on the server because yo should never store Consumer Secret / Client Secret on  the client. When I was writing this library 2 years ago I almost didn't include Twitter due to this limitation, but in the end I chose the workaround you see now.
Your second point is not correct, since consumer secret key is never sent to the client, only request token, which is necessary to initiate the authorization process.


vue-cli-e2e-cypress allow modify default port

What problem does this feature solve?
My api does listen on port 8888.
When I run yarn test:e2e it starts the server in production mode with the next free port starting from 8080.
So all my api calls won't work, since it detects it is not development-mode and doesn't apply my proxy rule in vue.config.js.
What does the proposed API look like?
It would be nice to add --port to overwrite the default port, similar to the serve command.

I don't understand the scenario completely.

It would be nice to add --port to overwrite the default port, similar to the serve command.

Then the server would run on the specified port, but still not prox to your API, and your api would run on localhost:8888
So I think what you are asking for will not solve your problem
I think you should rather run e2e tests with a custom mode and provide the alternative AI url as an environment variable ....

@LinusBorg If it would start with --port 8888 and my api runs on port 8888, the relative path to /api/ should work. At least that's how I understand it. May be I am missing something. Don't you agree?

If it would start with --port 8888 and my api runs on port 8888 [...]

...it would result in an ugly error because two applications (vue-cli's devServer and your API server) can't use the same port.

Ah! You are right. My app was acting as a server in production mode. That's why I was assuming setting the port would fix my issue. But working with --mode is apparently the better way. Closing.


Plugin scheme validation fixes

It fixes two issue in plugin configuration:

When add new plugin some fields set to blank instead of schema default value use
Schema validation exception occurs when plugin configuration edit, since some integer fields are sent as strings

Thanks @migolovanov , could you please change the PR branch to next so that I can integrate it properly?

sure thing, done.


WIP - Add algorithm label

Proposed changes

Add com.docker.lb.algorithm label to https://docs.docker.com/ee/ucp/interlock/usage/labels-reference/

Related issues (optional)
https://github.com/docker/docker.github.io/issues/9749

LGTM, thanks !
Lets wait till the code merges for this docs change to merge
cc @euanh

Does this need to be published with the patch release on Tuesday?

@traci-morrison AFAIK we are not releasing a new version of Interlock for Novemeber (@euanh please correct me if I'm wrong) so we don't need to merge this yet

@traci-morrison AFAIK we are not releasing a new version of Interlock for Novemeber (@euanh please correct me if I'm wrong) so we don't need to merge this yet

That's correct.   We are not releasing a new Interlock in November so this documentation does not need to be merged yet.

@euanh Are we still waiting to merge this PR? We are migrating content to Mirantis repos this week. All open PRs and issues in this Docker repo may be closed. I want to make sure this gets merged this week if need be. Thanks!

@traci-morrison I'm afraid we still haven't shipped an interlock release with this option, so it would be confusing to put it in the docs. :(

Closing because the feature will not be released before the repository is migrated.


⚠ Bofrost.fr has degraded performance

In 815e15e, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 1145 ms

Resolved: Bofrost.fr performance has improved in 0230163.


[Event Request] Codeunit 5750 Whse.-Create Source Document - OnBeforeTransLine2ReceiptLine

Hi, in the Codeunit 5750 Whse.-Create Source Document, would it be possible to get an event OnBeforeTransLine2ReceiptLine, like this :

    procedure TransLine2ReceiptLine(WhseReceiptHeader: Record "Warehouse Receipt Header"; TransLine: Record "Transfer Line"): Boolean
    var
        WhseReceiptLine: Record "Warehouse Receipt Line";
        UnitOfMeasureMgt: Codeunit "Unit of Measure Management";
        WhseInbndOtsdgQty: Decimal;
        IsHandled: Boolean;
    begin
        IsHandled:= false;
        OnBeforeTransLine2ReceiptLine(TransLine,IsHandled);
        if IsHandled then
        exit;
        with WhseReceiptLine do begin
            InitNewLine(WhseReceiptHeader."No.");
            SetSource(DATABASE::"Transfer Line", 1, TransLine."Document No.", TransLine."Line No.");
            TransLine.TestField("Unit of Measure Code");

    [IntegrationEvent(false, false)]
    local procedure OnBeforeTransLine2ReceiptLine(var TransLine: Record "Transfer Line"; IsHandled: Boolean)
    begin
    end;

Thanks

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.


docs: readme for init doesn't work

https://github.com/kakoune-lsp/kakoune-lsp?tab=readme-ov-file#configure-kakoune-to-enable-lsp-integration
It says to run eval %sh{kak-lsp --kakoune}, however just running that returns error: the following required arguments were not provided: --session <SESSION>. The right command now is probably eval %sh{kak-lsp --kakoune --session "$kak_session"}.
I'm on version 17.1.2 from nixpkgs.

github shows latest master where it's no longer required


feat: gateway-cli query indexer command

Gateway CLI to support query indexer command.

Will the gateway have a cli?

Will the gateway have a cli?

yes, it's a CLI.


Create an AMI with prerequisites for Jenkins slave

Description:
The slave should have,

Java setup
AWS
python

installed.

This is fixed.


Feature request: replace/remove perl key from META6.json

Some modules have perl for language version, others have both perl and raku. It would be good if in all cases, the end result would be one raku key.
To be honest, I realize this feature doesn't go well with the name of the tool but even that is Unix-ish: kill does more than kill a process, cat and touch mostly aren't used for their declared purpose and su can get you logged in as any user. :P

Might be a good idea to rename the module to call it "Distribution::Updater::Extension" and then have Distribution::Updater::META or similar.

Yes, bundling would be easier probably.


Add a note to install libgtk before compiling on Linux

when you try compiling any crate with rfd as a dependency without installing libgtk on linux, It'll always fail with this hard to debug error message, so better add a note here to aware people before compiling to linux.
This is also noted here in tao
error: failed to run custom build command for `atk-sys v0.15.1`

Caused by:
  process didn't exit successfully: `/home/runner/work/deadliner/deadliner/target/debug/build/atk-sys-4862881347b4c8db/build-script-build` (exit status: 1)
  --- stdout
  cargo:rerun-if-env-changed=ATK_NO_PKG_CONFIG
  cargo:rerun-if-env-changed=PKG_CONFIG_x86_64-unknown-linux-gnu
  cargo:rerun-if-env-changed=PKG_CONFIG_x86_64_unknown_linux_gnu
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG
  cargo:rerun-if-env-changed=PKG_CONFIG
  cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64-unknown-linux-gnu
  cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64_unknown_linux_gnu
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG_PATH
  cargo:rerun-if-env-changed=PKG_CONFIG_PATH
  cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64-unknown-linux-gnu
  cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64_unknown_linux_gnu
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG_LIBDIR
  cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR
  cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64-unknown-linux-gnu
  cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64_unknown_linux_gnu
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG_SYSROOT_DIR
  cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR
  cargo:warning=`"pkg-config" "--libs" "--cflags" "atk" "atk >= 2.18"` did not exit successfully: exit status: 1
  error: could not find system library 'atk' required by the 'atk-sys' crate

  --- stderr
  Package atk was not found in the pkg-config search path.
  Perhaps you should add the directory containing `atk.pc'
  to the PKG_CONFIG_PATH environment variable
  No package 'atk' found
  Package atk was not found in the pkg-config search path.
  Perhaps you should add the directory containing `atk.pc'
  to the PKG_CONFIG_PATH environment variable
  No package 'atk' found

warning: build failed, waiting for other jobs to finish...
error: build failed

Look like dependencies section got removed in #43, I missed that.
Could we add a note along the lines of:

Also if you want to avoid GTK dependency you can also read xdg-portal section of RFD docs

This is already documented: https://docs.rs/rfd/latest/rfd/#gtk-backend

I still recommend to make xdg-portal the default to avoid developers of downstream applications stumbling over this.

I don't think repeating documentation in multiple places is a great idea.

So let's leave the link to gtk-backend section of the docs as a dependency note in the README, no duplication and better discoverability.

Or perhaps this:
"Refer to Linux & BSD backends for information about dependencies."

So what are we gonna do?

Sure I agree.
If you want to add commands, just plop a new table column in the docs here: https://github.com/PolyMeilex/rfd/blob/b756bb91f3ed1a5112e00f86671a578ecc544d31/src/lib.rs#L50
Personal I would omit the sudo prefix to make things shorter, I expect people to know their package manager enough to know that, but feel free to do whatever you think is the best.

Feel free to correct my changes If I messed up anything, I only have 15 minutes of Linux experience, lol.


Python error with latest version

Behaviour
Steps to reproduce this issue

Updated from v1.8.0 to latest

Expected behaviour

Everythin should be running

Actual behaviour

My container is crashlooping with these logs:

Setting timezone to Europe/Paris...
Checking prerequisites...
Generating configuration...
Fixing perms...
[2022-03-21 16:21:40 +0000] [1] [INFO] Starting gunicorn 19.6.0
[2022-03-21 16:21:40 +0000] [1] [INFO] Listening at: http://<IP_ADDRESS>:5000 (1)
[2022-03-21 16:21:40 +0000] [1] [INFO] Using worker: sync
[2022-03-21 16:21:40 +0000] [14] [INFO] Booting worker with pid: 14
[2022-03-21 16:21:41 +0000] [14] [ERROR] Exception in worker process
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/site-packages/gunicorn/arbiter.py", line 557, in spawn_worker
    worker.init_process()
  File "/usr/local/lib/python2.7/site-packages/gunicorn/workers/base.py", line 126, in init_process
    self.load_wsgi()
  File "/usr/local/lib/python2.7/site-packages/gunicorn/workers/base.py", line 136, in load_wsgi
    self.wsgi = self.app.wsgi()
  File "/usr/local/lib/python2.7/site-packages/gunicorn/app/base.py", line 67, in wsgi
    self.callable = self.load()
  File "/usr/local/lib/python2.7/site-packages/gunicorn/app/wsgiapp.py", line 63, in load
    return self.load_pasteapp()
  File "/usr/local/lib/python2.7/site-packages/gunicorn/app/wsgiapp.py", line 59, in load_pasteapp
    return load_pasteapp(self.cfgurl, self.relpath, global_conf=None)
  File "/usr/local/lib/python2.7/site-packages/gunicorn/app/pasterapp.py", line 69, in load_pasteapp
    global_conf=global_conf)
  File "/usr/local/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 253, in loadapp
    return loadobj(APP, uri, name=name, **kw)
  File "/usr/local/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 278, in loadobj
    return context.create()
  File "/usr/local/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 715, in create
    return self.object_type.invoke(self)
  File "/usr/local/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 152, in invoke
    return fix_call(context.object, context.global_conf, **context.local_conf)
  File "/usr/local/lib/python2.7/site-packages/paste/deploy/util.py", line 55, in fix_call
    val = callable(*args, **kw)
  File "/app/syncserver/__init__.py", line 265, in main
    config = get_configurator(global_config, **settings)
  File "/app/syncserver/__init__.py", line 257, in get_configurator
    config.include(includeme)
  File "/usr/local/lib/python2.7/site-packages/pyramid/config/__init__.py", line 754, in include
    c(configurator)
  File "/app/syncserver/__init__.py", line 149, in includeme
    config.include("syncstorage", route_prefix="/storage")
  File "/usr/local/lib/python2.7/site-packages/pyramid/config/__init__.py", line 754, in include
    c(configurator)
  File "/usr/local/lib/python2.7/site-packages/syncstorage/__init__.py", line 18, in includeme
    config.include("syncstorage.storage")
  File "/usr/local/lib/python2.7/site-packages/pyramid/config/__init__.py", line 754, in include
    c(configurator)
  File "/usr/local/lib/python2.7/site-packages/syncstorage/storage/__init__.py", line 561, in includeme
    storage = load_storage_from_settings("storage", settings)
  File "/usr/local/lib/python2.7/site-packages/syncstorage/storage/__init__.py", line 585, in load_storage_from_settings
    return klass(**section_settings)
  File "/usr/local/lib/python2.7/site-packages/syncstorage/storage/sql/__init__.py", line 130, in __init__
    self.dbconnector = DBConnector(sqluri, **dbkwds)
  File "/usr/local/lib/python2.7/site-packages/syncstorage/storage/sql/dbconnect.py", line 357, in __init__
    self.engine = create_engine(sqluri, **sqlkw)
  File "/usr/local/lib/python2.7/site-packages/sqlalchemy/engine/__init__.py", line 435, in create_engine
    return strategy.create(*args, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/sqlalchemy/engine/strategies.py", line 87, in create
    dbapi = dialect_cls.dbapi(**dbapi_args)
  File "/usr/local/lib/python2.7/site-packages/sqlalchemy/dialects/postgresql/psycopg2.py", line 632, in dbapi
    import psycopg2
ImportError: No module named psycopg2
[2022-03-21 16:21:41 +0000] [14] [INFO] Worker exiting (pid: 14)
[2022-03-21 16:21:41 +0000] [1] [INFO] Shutting down: Master
[2022-03-21 16:21:41 +0000] [1] [INFO] Reason: Worker failed to boot.

Same issue. I had to roll back to a previous version because the container would just fail to start.


Autocomplete with multiple selection (MdAutocompleteTrigger customization)

Feature proposal:
It would be nice if MdAutocomplete and MdAutocompleteTrigger supported the multiple attribute similar to MdSelect, or at least configuration options that make creating your own easier.
What is the expected behavior?
It should be possible to create an Autocomplete with multiple selection.
What is the current behavior?
MdAutocompleteTrigger is coded to assume single selection and is not easily customized, which makes a custom multi-autocomplete difficult to develop. Currently, you must "monkey-patch" private methods in MdAutocompleteTrigger.
Which versions of Angular, Material, OS, TypeScript, browsers are affected?

@angular/cli: 1.0.4
node: 6.9.1
os: linux x64
@angular/common: 4.2.0
@angular/material: 2.0.0-beta.6-f89c6db
@angular/cli: 1.0.4

Is there anything else we should know?
Here are my notes on the major issues I encountered in developing my own multiple Autocomplete.
In ngAfterContentInit, I "monkey-patch" MdAutocompleteTrigger. You cannot extend MdAutocompleteTrigger because these methods are private.
The objective here is to:

not deselect other MdOptions on selection
leave the Autocomplete open after option selection event.

    if (this.multiple) {
      const autoTrigger: any = this.mdAutoTrigger as any;

      // make a no-op so other options aren't cleared when selecting an option
      autoTrigger._clearPreviousSelectedOption = () => {};

      // need to override to continue getting these events
      autoTrigger._subscribeToClosingActions = function(this: any) {
        // When the zone is stable initially, and when the option list changes...
        this._closeEventSubscription = Observable.merge(this._zone.onStable.first(), this.autocomplete.options.changes)
            // create a new stream of panelClosingActions, replacing any previous streams
            // that were created, and flatten it so our stream only emits closing events...
            .switchMap(() => {
              this._resetPanel();
              return this.panelClosingActions;
            })
            // when the first closing event occurs...
            // CHANGE disable first() because we want to continue getting events
            // .first()
            // set the value, close the panel, and complete.
            .subscribe(event => this._setValueAndClose(event));
      };

      // prevent closing on select option event
      autoTrigger._setValueAndClose = function(this: any, event: MdOptionSelectionChange | null) {
        if (event && event.source) {
          // autoTrigger._clearPreviousSelectedOption(event.source);
          this._setTriggerValue(event.source.value);
          this._onChange(event.source.value);
          this._element.nativeElement.focus();
        }
        else {
          // CHANGE added else clause (close non-MdOptionSelectionChange event)
          this.closePanel();
          // unsubscribe from the Subscription created in _subscribeToClosingActions
          this._closeEventSubscription.unsubscribe();
        }
      };

    }

Also, while working on this, I noticed that the code I was writing was very similar to MdSelect and most of the logic is in MdAutocompleteTrigger. So maybe what's needed is a new MdMultiAutocompleteTrigger, which uses the same SelectionModel system that MdSelect uses.
The one other issue is that even with ngFor trackBy sometimes MdOption instances lose their selected state. So every time the options are filtered, I double-check MdOption.selected and select() deselect() as necessary.
Also, the way MdSelect sets MdOption.multiple seems awkward, but I basically do the same thing as the MdSelect code.
FYI, my solution for displaying multiple values is just to clear the input, floatPlaceholder='never' and set placeholder to the displayWith() of each selected value separated by commas. This works fairly well. I also added a tooltip with the same content in case the entire text is not visible.

@jelbourn Is someone planning to work on a multiple autocomplete? Or would you be open to me creating a new MdMultipleAutocompleteTrigger?

No plans to work on this, would need some discussion to determine if we want to add it to the library. The a11y would be problematic since an autocomplete is a role="combobox" and I'm not sure if that supports multiple values.

@jelbourn Don't know much about a11y, but MdSelect uses 'role': 'listbox', anything wrong with changing MdAutocomplete's role to listbox for multiple mode or does that cause problems?

A listbox doesn't have a text input like autocomplete does. See https://www.w3.org/TR/wai-aria/roles#combobox
Looks like combobox theoretically supports being associated with a listbox with multiple selection, but it would need some testing; screen-readers are often "best effort" on certain boundary cases in the spec

I am also in need of this function. Either a customization or a new component "multi-search-select" will work. I would imagine something close to this, https://semantic-ui.com/modules/dropdown.html#multiple-search-selection

It is good to have functionality especially in corporate application where there is always a need of this component

I want this  :) I created own component, but good to see native implementation :)

@PawelOwczarekFalcon is your component open sourced? :)

@Aaron-Zhao The Semantic UI example is functionally more like chips with an autocomplete.
There is some work on combining MatChipList and MatFormField
https://material2-dev.firebaseapp.com/chips
See this issue comment https://github.com/angular/material2/issues/3273#issuecomment-327110530
They claim an Autocomplete should work, but I haven't tried it yet.
I'm not sure what the official status on this is.
However, if you want it to look more like Semantic UI you'll need to do some re-styling with CSS.
IMO, the advantage of Chips + Autocomplete is that you clearly see all selected values. However, it takes much more space.
The advantage of the Autocomplete+multiple hack I created is that it takes less space. However, it's a bit confusing to users. The fundamental problem is that the input text is your search AND the display of  selected values (after blur), which is confusing. And there's also the accessibility issues that @jelbourn mentioned.
So I think going with Chips+Autocomplete is probably better.
For my use case, I'll just create more compact styling since my App isn't used on touch devices where the big chips are needed.
@jelbourn I'm tempted to close this issue unless someone has a design for multiple+Autocomplete that isn't equivalent to Chips+Autocomplete.

@arlowhite What about extending the mat-select to be searchable/filterable while multiple selection is enabled. Does that accomplish the same purpose? There's a pr open for a mat-select-header https://github.com/angular/material2/pull/7835 where you could add a search input to filter the options. The author of the pull requests is waiting for feedback because I think he want's to make sure @jelbourn's a11y concerns are addressed.

@jrood
Extending mat-select approach looks clean.

Here is how i handled it https://angular-v1b716.stackblitz.io
I used two form controls. One for the autocomplete and one for multiple selection which I managed manually.

This is how i implemented https://stackblitz.com/edit/angular-xgtey4  using mat-chips, mat-autocomplete.
Using above approach there is a flicker in autocomplete panel while selecting multiple items so i have used another approach https://stackblitz.com/edit/angular-ah51ss where i used mat-select-list in autocomplete instead of mat-option

Here is how i handled it https://stackblitz.com/edit/angular-v1b716
I used two form controls. One for the autocomplete and one for multiple selection which I managed manually.

i took a reference from your solution. could you let us know how to bind the selected values as in mat select like for e.g. i tried ([value])="somearray"


New PopoverService changes cause big memory allocations.

Bug type
Other
Component name
PopoverService
What happened?
The new changes to PopoverService made in #8210 cause a big increase in objects allocation.
This happens because the constructor is allocating a AsyncKeyedLockPool of size 10000 and since PoolInitialFill is not set, all 10000 AsyncKeyedLockReleaser are created.
This is made worse by the fact that PopoverService is a scoped service, so it gets recreated after every page reload.
Expected behavior
I'm not super familiar with the internals of the project, but I think there could be various options:

Disable pooling completely.
Don't pre-fill the pool and allow it to grow organically.

The initial capacity should also be lowered IMO, 10000 is very large especially considering that it gets recreated in every scope.
Maybe also consider have a static/singleton instance of the pool for the whole duration of the app.

Reproduction link
n/a
Reproduction steps
n/a
Relevant log output
No response
Version (bug)
6.17.0
Version (working)
No response
What browsers are you seeing the problem on?
Microsoft Edge
On what operating system are you experiencing the issue?
Windows
Pull Request

[ ] I would like to do a Pull Request

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Hi.
Thanks for report, I will lower the pool size and set the initial size. Maybe I will even expose the settings.
I guess for now until the fix is not out you can fallback to the Legacy popover.

Maybe also consider have a static/singleton instance of the pool for the whole duration of the app.

I'd love to do that if the AddKeyedSingleton wasn't only for .net8+, for now I wouldn't want to workaround it by wrapping in another class, since I also need the AsyncKeyedLocker for other services, and it shouldn't be shared between them


Add a method to extract all orders from user history

While web_orders_gogdata() is able to acquire the most recent operations
in a user's history, occasionally we wish to go through its entirety.
This can be used to calculate the full amount already spent, determine
when a game was purchased or do more elaborate analysis such as how a
user changes behaviour or preferences since they created their GOG
account.
The new method was added with what are considered reasonable default
arguments.
At the same time, a new URL was added, supporting all the search
arguments for this query.

@gatl thanks 🙂, i was struggling to find the needed params for the request to return values


I am confused when I use the resnet50 that comes with keras to extract the middle layer features.

def model_ResNet50(img_dim, num_label):
print('begin to load resnet50-model')
input_tensor = Input(shape=img_dim)
base_model = ResNet50(include_top=False, input_shape=img_dim, weights='imagenet')
bn = BatchNormalization()(input_tensor)
x = base_model(bn)
x = GlobalAveragePooling2D()(x)
x = Dropout(0.5)(x)
output = Dense(num_label, activation='softmax')(x)
model = Model(input_tensor, output)
print('finish loading resnet50-model')
return model

img_dim=(224,224,3)
num_label=16
model=model_ResNet50(img_dim, num_label)
adam = Adam(lr=0.0001)
model.compile(optimizer=adam,loss='categorical_crossentropy',metrics=['accuracy'])
checkpointer = ModelCheckpoint(filepath='/media/lab326/9a55ef08-6e15-4a6e-b1c5-9f20232c2f00/lab326/songpeng/terrain_model/resnet50.best.hdf5', verbose=1,
save_best_only=True)
model.fit(X_train, Y_train, batch_size=24, epochs=15,
callbacks=[EarlyStopping(patience=3), checkpointer],
shuffle=True,
validation_split=0.1)
model.save(filepath="/media/lab326/9a55ef08-6e15-4a6e-b1c5-9f20232c2f00/lab326/songpeng/terrain_model/resnet_model.h5", include_optimizer=False)
mymodel=load_model("/media/lab326/9a55ef08-6e15-4a6e-b1c5-9f20232c2f00/lab326/songpeng/terrain_model/resnet_model.h5")
for i in mymodel.layers:
print(i)
print(len(mymodel.layers))
result：
<keras.engine.topology.InputLayer object at 0x7f3eb50773c8>
<keras.layers.normalization.BatchNormalization object at 0x7f3eb5077438>
<keras.engine.training.Model object at 0x7f3eb50775c0>
<keras.layers.pooling.GlobalAveragePooling2D object at 0x7f3eb4f2c710>
<keras.layers.core.Dropout object at 0x7f3eb5acc048>
<keras.layers.core.Dense object at 0x7f3eb5acc4e0>
question：
I use the resnet50 that comes with keras, but the last full connection layer is my own. When I display this layer, there are only 6 layers, but resnet has 168 layers, and I want to  extract the features of the middle layer, while keras think of all the middle layers as one layer.
I hope that the great god can solve my doubts！

This forum is for issues only and not implementation questions: please open stackoverflow question and I will be happy to help you there.

Hi!
This issue isn't related to a bug/enhancement/feature request or other accepted types of issue.
To ask questions, please see the following resources :

https://keras.io/
https://keras.io/#support
https://gitter.im/Keras-io/Lobby

Thanks!
If you think I made a mistake, please open another issue.


Fixes in Lighthouse Aggregator, Bug fixes and feature addition in DealStatus.sol

List of updates:

Updated lighthouseAggregator.js and added pinCIDAndMakeDeal that pin cid to Lighthouse from the IPFS network and creates a deal for it.
Updated DealStatus.sol:

Fixed index out-of-bound issue in getAllCIDs() function.
Added submit_raas function that emits deal parameters, transactionID, and CID.

CORS issue is fixed.

@ychiaoli18 can you help review this PR? ty

@ravish1729 is this PR completed (ready to merge)?


Do not wait for unhealthy timeout before LPR health testing for the first time

https://github.com/cloudfoundry/executor/blob/master/depot/steps/monitor_step.go#L81
The line above means that it will always wait the "unhealthyInterval" before testing to see if an app is up and running ok.  If you set the interval too high (i.e. 300s) all the LRPs will not be started for 5 minutes.
We should only use that unhealthy interval once an app has been marked as unhealthy.

Thanks, @andrew-edgar. Actually, if a monitor action is configured on the executor container spec, the container starts out as unhealthy and becomes healthy only when the monitor action succeeds. The current container lifecycle policy is to treat the container as failed if it the monitor action fails once the container is designated as healthy, so the "unhealthy" interval wouldn't apply there (although we'll likely be looking at allowing more than one health-check failure before declaring the container failed). Anyway, what problem were you trying to solve by setting that interval so high?
Best,
Eric

Closing due to inactivity.


fix menu default close when mobile

This PR addresses #18 by changing the default behaviour of the menu and page classes.

Something is very wrong with the PR looking at the number of changes/files changed


Unsoundness in coercion from object to boolean

TypeScript Version:  3.4.3<EMAIL_ADDRESS>
Search Terms: unsound coercion object boolean
Code
const obj: { toFixed: unknown } = 0;
// val has type "123"
const val = obj && "123";
console.log(val.slice()); // <- runtime error!

Expected behavior:
Compile error.
Actual behavior:
This code compiles and causes a runtime error when run.
TypeScript assumes that any value with object type (except {}) is truthy, but it's not true as illustrated above. If one of 0, "", false or 0n is assignable to an object type, it should not be considered truthy.
Playground Link: https://www.typescriptlang.org/play/#src=const obj%3A { toFixed%3A unknown } %3D 0%3B
%2F%2F val has type "123"
const val %3D obj %26%26 "123"%3B
console.log(val.slice())%3B%0A%0A%0A
Related Issues: #18196 (fixed by #27157)

Unsoundness in coercion from object to boolean

Isn't the unsoundness the very first line
const obj: { toFixed: unknown } = 0;

Coercing a primitive (number) to an object?

At a single glance it seems TypeScript should distinguish number from Number instance?
E.g. when we annotate some object as Number specifically, TS should regard it as an object with some props & methods but otherwise as if it'd be a real primitive same as other languages.

Coercing a primitive (number) to an object?

It is not coercing a primitive to an object. The type { toFixed: unknonw } does not constrain to objects. It just says whatever is passed has a toFixed property.
If you want to enforce having an object, then you can make use of the object type:
const obj1: { toFixed: unknown } & object = 0; // Does not compile
const obj2: { toFixed: unknown } & object = { toFixed: 0 }; // Does compile

@MartinJohns

t just says whatever is passed has a toFixed property.

Which means it is an object. Primitives don't have properties.
Do we really need to discuss the very basics of JS?

I was not precise enough. It doesn't has to be a property, but anything with the name 'toFixed', and numbers have a function named like that.
const n = 0;
console.log(n.toFixed);

@MartinJohns

but anything with the name 'toFixed',

OPs example has a primitive number!!

My example has a primitive number as well. I just omitted the type information.

Which is coerced to an object.
0.toFixed
VM121:1 Uncaught SyntaxError: Invalid or unexpected token

@lll000111 take it down a notch; we don't need to be condescending to have a discussion.
Anyway, as to the OP: Types written as { p: T; } are not constrained to be object-like. There is plenty of code that operates well on things that have length and are indexable (including strings) or things that have a toString (including numbers). This does create a soundness gap for the falsy primitive values, but it's not with any palatable solutions.


latest nodejs buildpack fails with permission denied

Using this sample repo fork (https://github.com/michaelshobbs/node-js-sample) I get the following permission denied error.
-----> Checking startup method
       Found Procfile

-----> Finalizing build
       Creating runtime environment
remote: /tmp/buildpacks/custom/lib/build.sh: line 212: /tmp/buildpacks/custom/export: Permission denied
       Exporting binary paths

-----> Build failed

       We're sorry this build is failing! If you can't find the issue in application code,
       please submit a ticket so we can help: https://help.heroku.com/
       You can also try reverting to our legacy Node.js buildpack:
       heroku config:set BUILDPACK_URL=https://github.com/heroku/heroku-buildpack-nodejs#v63

       Love,
       Heroku

More info? Using master? What perms are they? Used with Dokku?

My bad.

on master
with dokku
perms:

root@c14760c734ec:/# ls -la /tmp/buildpacks/
total 60
drwxr-xr-x 27 u29276 u29276 4096 Mar 30 23:18 .
drwxrwxrwt 13 root   root   4096 Mar 30 23:18 ..
drwxr-xr-x  6 root   root   4096 Mar 30 23:18 custom
drwxr-xr-x 10 u29276 u29276 4096 Mar 30 23:18 heroku-buildpack-clojure
drwxr-xr-x 12 u29276 u29276 4096 Mar 30 23:18 heroku-buildpack-go
drwxr-xr-x 12 u29276 u29276 4096 Mar 30 23:18 heroku-buildpack-gradle
drwxr-xr-x  6 u29276 u29276 4096 Mar 30 23:18 heroku-buildpack-grails
drwxr-xr-x 12 u29276 u29276 4096 Mar 30 23:18 heroku-buildpack-java
drwxr-xr-x  4 u29276 u29276 4096 Mar 30 23:18 heroku-buildpack-multi
drwxr-xr-x  8 u29276 u29276 4096 Mar 30 23:18 heroku-buildpack-nodejs
drwxr-xr-x  8 u29276 u29276 4096 Mar 30 23:18 heroku-buildpack-php
drwxr-xr-x 10 u29276 u29276 4096 Mar 30 23:18 heroku-buildpack-play
drwxr-xr-x  8 u29276 u29276 4096 Mar 30 23:18 heroku-buildpack-python
drwxr-xr-x 14 u29276 u29276 4096 Mar 30 23:18 heroku-buildpack-ruby
drwxr-xr-x 14 u29276 u29276 4096 Mar 30 23:18 heroku-buildpack-scala
root@c14760c734ec:/# ls -la /tmp/buildpacks/custom/
total 44
drwxr-xr-x  6 root   root   4096 Mar 30 23:18 .
drwxr-xr-x 27 u29276 u29276 4096 Mar 30 23:18 ..
-rw-r--r--  1 root   root     17 Mar 30 23:18 .gitignore
-rw-r--r--  1 root   root   1075 Mar 30 23:18 LICENSE
-rw-r--r--  1 root   root   7008 Mar 30 23:18 README.md
drwxr-xr-x  2 root   root   4096 Mar 30 23:18 bin
-rw-r--r--  1 root   root   1391 Mar 30 23:18 concurrency
drwxr-xr-x  2 root   root   4096 Mar 30 23:18 lib
drwxr-xr-x  3 root   root   4096 Mar 30 23:18 test
drwxr-xr-x  2 root   root   4096 Mar 30 23:18 vendor

@progrium i assume now, this is an issue with herokish?

Yes, every buildstep issue is probably a herokuish issue now :)
On Fri, Apr 3, 2015 at 6:50 PM, Michael Hobbs<EMAIL_ADDRESS>wrote:

@progrium https://github.com/progrium i assume now, this is an issue
with herokish?
—
Reply to this email directly or view it on GitHub
https://github.com/progrium/buildstep/issues/145#issuecomment-89459390.

--
Jeff Lindsay
http://progrium.com

Yeah I'm gathering that :smile:

moved to https://github.com/gliderlabs/herokuish/issues/19


Thumbs up ! And file name for route using .md should use '-' not spacebar

Hi, I just drop in to say very cool tool to create blog style website, love it!
I just found that file .md must use '-' as filename (I use space bar between word and cannot found the route)
Thanks for this invention

@x4080 try updating the plugin included with the test template with below.
On line 34 in ./src/plugins/elderjs-plugin-markdown/index.js
          let fileSlug = file.replace('.md', '').split('/').pop();

          if (fileSlug.includes(' ')) {
            fileSlug = fileSlug.replace(/ /gim, '-');
          }

I'll update the template.

@x4080 Let me know if this doesn't fix it for ya. I've updated the template.

@nickreese Wow, very fast response - thanks. I just stumble on it while trying your cool project. And its ok for me not using spacebar. But thanks for your update, really appreciate it

And its working for space bar now, thanks

@nickreese Early stats, moving from sapper to elderjs
Sapper build time :
> Finished in 24.5s. Type node __sapper__/build to run the app.

Elderjs build time :
Build completed 28 pages in 964ms

Sapper Pagespeed insights : 92,97 (mobile,desktop)
Elderjs Pagespeed insights : 97,97 (mobile,desktop)
Very cool