HTTP status 406 when configuring Prometheus with Azure Monitor

I have an AKS cluster and I am trying to setup prometheus.  I have created a config map however when I look in the logs, I get a 406 error.  I believe this is related to an unacceptable MIME Type.  I can't change the application and I know the URL is good because if I test it with curl it works.  How can I configure the ConfigMap to accept a differnt MIME type?
kind: ConfigMap
apiVersion: v1
data:
schema-version:
#string.used by agent to parse config. supported versions are {v1}. Configs with other schema versions will be rejected by the agent.
v1
config-version:
#string.used by customer to keep track of this config file's version in their source control/repository (max allowed 10 chars, other chars will be truncated)
ver1
log-data-collection-settings: |-
[log_collection_settings]
[log_collection_settings.stdout]
enabled = true
exclude_namespaces = ["kube-system"]
[log_collection_settings.stderr]
enabled = true
exclude_namespaces = ["kube-system"]
[log_collection_settings.env_var]
enabled = true
[log_collection_settings.enrich_container_logs]
enabled = false
[log_collection_settings.collect_all_kube_events]
enabled = false
prometheus-data-collection-settings: |-
[prometheus_data_collection_settings.cluster]
interval = "1m"
urls = ["http://poi.api-dev.svc.cluster.local:80/metrics"]
monitor_kubernetes_pods = true
[prometheus_data_collection_settings.node]
interval = "1m"
alertable-metrics-configuration-settings: |-
[alertable_metrics_configuration_settings.container_resource_utilization_thresholds]
container_cpu_threshold_percentage = 95.0
container_memory_rss_threshold_percentage = 95.0
container_memory_working_set_threshold_percentage = 95.0
metadata:
name: container-azm-ms-agentconfig
namespace: kube-system
Here is the log outpout
k logs omsagent-rs-f76dcb958-8kjhr -n kube-system
customResourceId:/subscriptions/b53a5b8e-b158-4114-89f7-4a254169c6d6/resourceGroups/teamresources/providers/Microsoft.ContainerService/managedClusters/mapTeamAKSCluster
AZMON_AGENT_CFG_SCHEMA_VERSION:v1
AZMON_AGENT_CFG_FILE_VERSION:ver1
Making curl request to oms endpint with domain: opinsights.azure.com
% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
Dload  Upload   Total   Spent    Left  Speed
0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
curl request to oms endpoint succeeded.
Start Config Processing****
config::configmap container-azm-ms-agentconfig for settings mounted, parsing values
config::Successfully parsed mounted config map
config::Using config map setting for stdout log collection
config::Using config map setting for stdout log collection to exclude namespace
config::Using config map setting for stderr log collection
config::Using config map setting for stderr log collection to exclude namespace
config::Using config map setting for cluster level environment variable collection
config::Using config map setting for cluster level container log enrichment
config::Using config map setting for kube event collection
Both stdout & stderr log collection are turned off for namespaces: '.csv2,kube-system*.log'
End Config Processing****
Start Prometheus Config Processing****
config::configmap container-azm-ms-agentconfig for settings mounted, parsing values for prometheus config map
config::Successfully parsed mounted prometheus config map
config::Successfully passed typecheck for config settings for replicaset
config::Starting to substitute the placeholders in telegraf conf copy file for replicaset
config::Successfully substituted the placeholders in telegraf conf file for replicaset
config::Successfully created telemetry file for replicaset
End Prometheus Config Processing****
Start Telegraf in Test Mode**********
2020-08-26T01:16:53Z I! Starting Telegraf
End Telegraf Run in Test Mode**********
Start MDM Metrics Config Processing****
config::configmap container-azm-ms-agentconfig for MDM metric settings mounted, parsing values
config::Successfully parsed mounted config map
config::Using config map settings for MDM metric configuration settings for resource utilization
End MDM Metrics Config Processing****
Making wget request to cadvisor endpoint with port 10250
Wget request using port 10250 succeeded. Using 10250
Making curl request to cadvisor endpoint /pods with port 10250 to get the configured container runtime on kubelet
configured container runtime on kubelet is : docker
getting gid for docker.sock
creating a local docker group
adding omsagent user to local docker group
set caps for ruby process to read container env from proc
aks-nodepool1-31106936-vmss000000
Workspace decee088-c1d6-4f78-9175-0a9efd64b8af already onboarded and agent is running.
Symbolic links have not been created; re-onboarding to create them
info    Generating certificate ...
-e info Agent GUID is 08577026-74af-4642-9cf7-24b0a990263b
-e info Onboarding success
Configure syslog...
Configuring rsyslog for OMS logging
Restarting service: rsyslog
invoke-rc.d: could not determine current runlevel

Stopping enhanced syslogd rsyslogd
...done.
Starting enhanced syslogd rsyslogd
...done.
Configure heartbeat monitoring agent...
Configure log rotate for workspace decee088-c1d6-4f78-9175-0a9efd64b8af...
INFO:  Configuring OMS agent service decee088-c1d6-4f78-9175-0a9efd64b8af ...
invoke-rc.d: could not determine current runlevel
Starting Operations Management Suite agent (decee088-c1d6-4f78-9175-0a9efd64b8af):
...done.
-e error        MetaConfig generation script not available at /opt/microsoft/omsconfig/Scripts/OMS_MetaConfigHelper.py
Starting periodic command scheduler cron
...done.
Primary Workspace: decee088-c1d6-4f78-9175-0a9efd64b8af    Status: Onboarded(OMSAgent Running)
omsagent <IP_ADDRESS>
docker-cimprov <IP_ADDRESS>
DOCKER_CIMPROV_VERSION=<IP_ADDRESS>
nodename: aks-nodepool1-31106936-vmss000000
replacing nodename in telegraf config
Fluent Bit v1.4.2
Copyright (C) 2019-2020 The Fluent Bit Authors
Copyright (C) 2015-2018 Treasure Data
Fluent Bit is a CNCF sub-project under the umbrella of Fluentd
https://fluentbit.io

File Doesnt Exist. Creating file...
2020-08-26T01:16:56Z I! Starting Telegraf
Telegraf unknown (git: fork 50cd124)
td-agent-bit 1.4.2
2020-08-26T01:17:00Z E! [inputs.prometheus]: Error in plugin: http://user-java.api-dev.svc.cluster.local/api/metrics returned HTTP status 406
2020-08-26T01:18:00Z E! [inputs.prometheus]: Error in plugin: http://user-java.api-dev.svc.cluster.local/api/metrics returned HTTP status 406

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

ID: 413a60e0-2723-e21e-dd81-df480c45564b
Version Independent ID: f79752d6-8240-d62c-5635-a6529f9adf32
Content: Configure Azure Monitor for containers Prometheus Integration - Azure Monitor
Content Source: articles/azure-monitor/insights/container-insights-prometheus-integration.md
Service: azure-monitor
GitHub Login: @bwren
Microsoft Alias: magoedte

@mapoitras Thanks for your comment. We will review the issue and get back to you shortly.

Based on the 406 response that you are seeing, below should help. Below is our ACCEPT header –
application/vnd.google.protobuf;proto=io.prometheus.client.MetricFamily;encoding=delimited;q=0.7,text/plain;version=0.0.4;q=0.3
As of Prometheus 2.0, anyone exposing Prometheus metrics, have to use text-based format – Please see below for further reference.
https://prometheus.io/docs/instrumenting/exposition_formats/#text-based-format
@mapoitras

Thanks for your inputs @vishiy.
@mapoitras As there are no further documentation changes , we will close the issue for now. If there are further questions , please revert and we will be glad to assist you.


feat: add aarch64-linux target

hey Matt! not sure if this target will succeed, but I'd like to pull this into an aarch64 Docker image

Nice, glad you are using this! Seems to have built ok. I will tag a new release next time I'm at the computer. There's an artifact on the latest build that works for me on termux.


ng11

Skipped to ng13, not planning to distribute an angular 11 version of the library unless we need to


Ensure translation keys are an array

Previously we were using the body if present but body will be an empty object after being parsed. Added more checks to ensure we marshall the keys into an array otherwise server crashes could be caused by sending bad requests.

!import


#114 Added path builder function

closes #114

We need to be able to implement the as_udf_path(bucket) function. For that we must know the service name. Unfortunately, we can't request the service name from the bucket, although, logically we should be able to do this. It doesn't look pretty, I agree.


refactor: including avg_pct_pnl_rank into leaderboard schema

Adding avg_pct_pnl_rank
Ran yarn gql-generate

@nibiruchain/nibijs / test-nibijs tests are failing bc of testnet rpc connect ECONNREFUSED <IP_ADDRESS>:26657


Cron send metrics checks fix

Added a work around to handle yaml.v2 package output of dates as strings

Hmm, somehow I've included another commit - fixing this MR

That's better. Ready for PR

failed pylint. fixing
C:115,23: Using type() instead of isinstance() for a typecheck. (unidiomatic-typecheck)

/lgtm

/lgtm


"Form controls should be fully style-able"

I think this rule leaves the page in a broken state and it's the only rule of this kind.
If the purpose is resetting the style across browsers so it's easily styleable, then it needs further extension. For comparison, these are my "reset form elements" rules I built over time as I found inconsistencies:
%os-element-reset {
    display: inline-block;
    overflow: visible;

    padding: 0;
    margin: 0;
    outline: 0;

    font: inherit;
    color: inherit;
    background-color: transparent;
    border: none;
    letter-spacing: inherit;

    text-transform: inherit;

    -webkit-font-smoothing: inherit;
    appearance: none;

    border-radius: 0;
    text-align: inherit;
}
%button-reset{
    @extend %os-element-reset;
    cursor: pointer;
    white-space: inherit;
    box-sizing: inherit;

    &::-moz-focus-inner {
        padding: 0;
        border: 0;
    }
}

%text-field-reset {
    @extend %os-element-reset;
    padding: .1em .2em 0;
    width: 100%;
    box-sizing: inherit;
    // &:focus {
    //  outline: 1px solid;
    // }
}
%textarea-reset {
    @extend %text-field-reset;
    resize: vertical;
}

But my first point still remains

I think pulling our form styling might be the better choice, and leaving it to another library.

👌

@bfred-it, and if it is kept, it will look like this.
https://github.com/jonathantneal/sanitize.css/blob/master/sanitize.css#L332-L341

Left most of these in v6.


Mockups based on policy team input

@eurolife to determine scope for mockups in sprint
Grouped by backlog?

[x] Search page
[x] Search results

[x] Search result passages sidebar
[x] Search result passage context page
[ ] Document cover page
[ ] Document viewer

[ ] Landing page
[ ] Navigation sidebar
[ ] User login
[ ] User account

Figma prototype (still being developed) here: https://www.figma.com/proto/p0yd3uxnoPvpkZXKrbhR0O/Navigator?page-id=8%3A63&node-id=8%3A63&viewport=241%2C48%2C0.5&scaling=min-zoom&starting-point-node-id=35%3A2546

closing based on individual mockup tasks e.g. #46 #47 #48. Landing page and navigation sidebar are post-alpha.


Fixed scheduled test runs; Fixed releasing/starting a version docs

See commit message.

Coverage remained the same at 40.475% when pulling 25841f13a1195b0eb161f2573eba757a8263a186 on andy/fix-scheduled-test into 55fee798194230a672278cc4ea7fa81e9d9ad4e8 on master.


Implementation of template to Test documentation

Contribution description
To solve the problem with the test folder, first, it needs to change the m4a.doxyfile to include the /test directory to create the documentation. This PR presents a  template to manage the docs to all test that will be created. Here will be removed all old test that was made here, only reference that should be appears is the template and unittest folder

Testing procedure

Issues/PRs references
fixes #109

seems all is ok, i could see some details please check the requested changes and solve it.

seems all is ok, i could see some details please check the requested changes and solve it.
What requested changes?

sorry the request were in pending

Please update main in your fork and merge with it before continue.


updated web fav icon

@Sirsho29 Could you let me know if this was considered as a PR in your. hacktoberfest dashboard?

No it is not added till now.

@Sirsho29
Probably because only the registrations were started i guess

Yah maybe. I will try to resolve the other issues after 1st october then.


Downgrades sbt-org-policies

And also, set up library versions locally in the build.sbt file.

@JesusMtnez Beause https://travis-ci.org/higherkindness/catamorph/jobs/457485575#L665 // see https://github.com/47deg/sbt-org-policies/issues/655#issuecomment-339140699


Remove high cyclomatic complexity in Parsers

Some code refactor based on TA's feedback from last sprint, remove high cyclomatic complexity in Parsers.

Good to see that the feedback is processed! Code looks more clear now 👍

If you only removed the if statements does that mean they were unnecessary to begin with?

I guess so @Michieldoesburg

@Michieldoesburg Yes, they were indeed unnecessary, but I guess they were there for the safe check purpose, but in order to reduce cyclomatic complexity as Bastiaan suggested, I will remove them.

@SunweiWang I think you've misunderstood wat Bastiaan meant with high complexity. He meant that you can split the whole function into smaller functions. An example of that is in ProjectInfoFinder. I am surprised that removing the if statements didn't cause any problems.

@ClintonCao "Cyclomatic complexity is a software metric (measurement), used to indicate the complexity of a program. It is a quantitative measure of the number of linearly independent paths through a program's source code. It was developed by Thomas J. McCabe, Sr. in 1976. " (https://en.wikipedia.org/wiki/Cyclomatic_complexity)

@ClintonCao in Eclipse, if you run the coverage, then you change from line coverage to complexity, then you will see Parsers are now all 100%, before they were 77%.

@SunweiWang yeah I know that, but that is not Bastiaan meant, or else he wouldn't have reference to ProjectInfoFinder

@ClintonCao  I will ask him on his PR then.

@SunweiWang Have you noticed that if a file has multiple warnings, that you pass the same message to each of the warning? Try running mvn site and then check for JavaControllerTest It shows the wrong message for line 160.

Update summation of the warning is right in the analyser, but not in the visualizer!
And by the way, the fix for the message is by doing the following:
use warning.getTextContent() instead of passing the message into the function. Passing it, will change the message for all other PMD warnings in the same class.

@ClintonCao  Thanks for spotting the bug, this should be able to fix it, I didn't update the JSON file though, but if you re-run it yourself, the PMD warnings should give the corresponding right messages.

With Bastiaan's approval this is mergable now


Cant install vsix package

Describe the bug
When installing latest windows app sdk msix package on visual studio 2022 preview 3 it says unsupported because version is to low
Steps to reproduce the bug

Install visual studio 2022 preview3
Try to install latest windows app sdk from microsoft site
Error will display when clicking motify after a few secondes

Expected behavior
What i think should hebben that the installer says succes installing and then that i can build winui3 apps
Screenshots
No response
NuGet package version
No response
Packaging type
Packaged (MSIX)
Windows version
Windows 11 version 21H2 (22000)
IDE
Visual Studio 2022-preview
Additional context
No response

VSIX extension is not MSIX package.

Sorry my mistake that i say it wrong

First of all, install VS 2022 from Current Channel instead of Preview.
https://docs.microsoft.com/en-us/visualstudio/productinfo/release-rhythm
Then install the extension corresponding to the VS version, SDK and the programming language
https://docs.microsoft.com/en-us/windows/apps/windows-app-sdk/downloads

@aepot now it works fine

@jarno9981: no need to install the VSIX, since preview 3 newer version is available through installer
see: https://github.com/microsoft/WindowsAppSDK/discussions/2014

@plonkaadam okay thank you

@plonkaadam thank you


400 interaction_required

Describe the bug
When using socialite provider for azure + Conditonal access with MFA, it will not allow MFA through bookstack.
Steps To Reproduce
Steps to reproduce the behavior:

Click Login With Microsoft
Have MFA enabled for organisation in Azure
See error - Which is unknown error in bookstack and 400 interaction_required in laravel log.

Expected behavior
To be logged into the application
Screenshots
If applicable, add screenshots to help explain your problem.
Your Configuration (please complete the following information):

28.2
php7-7.3.14-r0
Docker

Additional context
Please see my pull request which fixes above, it is a fix recommended by socialite provider.
https://github.com/BookStackApp/BookStack/pull/1889#issue-374326205

@ssddanbrown Any plans for merging?

@ch0wm3in Yes, I do plan to. Just haven't got round to it yet as I'd need to spend some time understanding how it fixes the issue and if it will possibly cause issues for existing setups.

As mentioned on #1889, Tested on my dev instance, which did not have this issue, and did not cause any side-effects there (Thinking of existing users), so now merged to be part of the next patch release.
Thanks for reporting and fixing @ch0wm3in.


Web vitals errors

First, thank you for all the work on the project. That said, I have found a few bugs/problems when running a website performance test that should be addressed.

This can be fixed by adding the named parameters to the a tag in this line. I could make a PR for this if that is ok with you.
The following error could be a bit harder to debug as it has something to do with WebSockets, but it is not easily reproducible when trying manually. Let me know if you have any ideas about this.

Hey,
Thanks for looking into this! I'd be more than happy to accept a PR for this :)
The websocket error is weird - I've tried to do a bit of research on it and it seems it's quite common and likely because the web.dev firewall blocks websocket connections during the test (https://stackoverflow.com/questions/59157106/unable-to-reproduce-web-dev-console-errors) but are safely ignored.

@souramoo If we can safely ignore the WebSockets errors, I see no problem in closing the issue.


determine if string is numeric

Implements http://rosettacode.org/wiki/Determine_if_a_string_is_numeric
and
http://rosettacode.org/wiki/Tic-tac-toe

Many thanks for your contribution and sorry for the time it is taking to review it... The build is currently broken due to latest rust updates and I'm trying ot fix it before merging your PR.
In the meanwhile, would it be possible to add some tests to your tic-tac-toe solution, please?

relaunching the build now that the breakage from the last rust update (20150212) should be fixed

merging. @trideon3 Many thanks for your contribution!


Uncaught ReferenceError: documentObserver is not defined

Dear developers,
Evertime I move my mouse on a UMAP, the js backend tells me the following error message, can you help me figure out why? thanks
Uncaught ReferenceError: documentObserver is not defined
at MutationObserver.callback (:28:5)
VM43184:28

Could you provide more details, like browser information, a reproducible example, and how you are using vitessce (embedded in a website, one of our demos, etc.)? Thanks!


Feat/dida sync

I made a tick list synchronization function by myself, because I did not need real-time synchronization or timely synchronization,
I only needed to synchronize the tasks of "ticktick" and handy notes to obsidian when I reviewed them.
After completion,
I found that bullet note retrieval was very slow, so I looked at the query code and found that all files were queried. Can be made to retrieve the specified folder
#54

This is just a demo, markdown file path for data rendering is written dead, need to pre-create "Dida/笔记.md "and "Dida/任务.md" in the root directory

Have you tried this dida plugin: https://github.com/thesamim/TickTickSync

Thank you very much for your contribution.
I am also a loyal user of dida, and my opinion on its combination with Obsidian is as follows:

By tagging tasks with #dida on Obsidian, tasks can be pushed to Dida and deadlines can be set using 📅 2024-xx-xx.
Pull Dida tasks into the daily note, just like memos record with reference id.
If you also need to pull notes, it is recommended to pull them into the daily note, and add a link to the note files in 0. PeriodicNote/Attachments.

For more convenient communication, you can contact me through any of the following ways.
: https://obsidian-life-os.netlify.app/zh/contact/index.html


Adding DocDB/MongoDB link

This PR simply adds the placeholder link to the DocDB/MongoDB+Node tutorial. I'm not sure if this ToC makes sense, but I just wanted to get the link added for now.

:warning: Validation status: warnings

File
Status
Preview URL
Details

node-sandbox/docs/TOC.md
:warning:Warning

Details

node-sandbox/docs/TOC.md

[Warning] Invalid file link:(~/).

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

@TomArcher Let me know if I misused the URL format. I copied the query string from other links, under the assumption that that is how you maintain the same ToC despite navigating to another section.


ODS-3 not detected

Fiel with mimetype error not detecting ODS-3
Testing D:\ODS1\TestCorpusV2\ODS-3\WithMimeTypeError.ods
APP-1: [INFO] Validating D:\ODS1\TestCorpusV2\ODS-3\WithMimeTypeError.ods.
APP-4: [INFO] Validation report for D:\ODS1\TestCorpusV2\ODS-3\WithMimeTypeError.ods.
DOC-1: D:\ODS1\TestCorpusV2\ODS-3\WithMimeTypeError.ods [ERROR] An OpenDocument document SHALL be a single XML file or a Zip file.
XML-3: D:\ODS1\TestCorpusV2\ODS-3\WithMimeTypeError.ods [ERROR] Not a well formed XML document. XML parsing exception at line 1 and column 1: Content is not allowed in prolog..
NOT VALID, 2 errors, 0 warnings and 0 info messages.

Created new issue for ODF_3: #91


hold_trajectory_duration was renamed to stop_trajectory_duration (since hydro)

The parameter is mentioned in the configs.
The old parameter name will be dropped for melodic (https://github.com/ros-controls/ros_controllers/pull/386).
In addition the default is 0.0 and not 0.5.

Done https://github.com/ros-industrial/ur_modern_driver/pull/241

#241 was merged.


Lfu soak test cleanup

Standardize test parameters and de-dupe the setup code.

coverage: 98.367%. remained the same when pulling 12992749ae8f5068bea45d4b9e6f77f9988f70a4 on users/alexpeck/soakcleanup into c7b399e6fbaf8372041e91b4b908e76799e4ffbb on main.


⚠ Samsung has degraded performance

In e15977c, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 2270 ms

Resolved: Samsung performance has improved in 28f89dc.


build: Extend zephyr repo to be module

Extend the Zephyr repository to also be a module.  The module portion covers the following sub-trees:

boards
soc
arch
kernel
dts
drivers
lib
subsys

Fix #42700
Signed-off-by: Gregory SHUE<EMAIL_ADDRESS>

Stop re-posting duplicate PRs in the hope that someone will approve it.
You already posted similar here: https://github.com/zephyrproject-rtos/zephyr/pull/42927

Draft PRs do not assign reviewers, and yet here we are, with this review, where 4 people were assigned to review it.

and with a PR description that looks amazingly similar to #42927 that you wanted us to be concerned with, so how were I supposed to know ?
You even mark it as fixing a closed issue.
Please read about pull-requests here: https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request
Especially bullet 5 (but also 6) is of interest:

Type a title and description for your pull request.

means that you can edit the description so reviewers know what to expect.
Hey, you can even do a [DNM] in the title to let people know.


buyer-contracting-type'

Code list missing in https://op.europa.eu/en/web/eu-vocabularies/authority-tables

buyer-contracting-type is one of the "technical" codelists, which are not in EU Vocabularies.  There are other codelists that are only available in the SDK: https://docs.ted.europa.eu/eforms/latest/reference/code-lists/index.html#_technical_codelists

Thank

You can see all the codelists here:
https://github.com/OP-TED/eForms-SDK/tree/develop/codelists
If you select (develop) on the top left, you can select tags and see this for every SDK version.

I thanked yesterday, sorry i did not close the issue


Improve monitor mode tests

Depends on https://github.com/kubewarden/kubewarden-controller/pull/175

https://github.com/kubewarden/kubewarden-controller/pull/175 was merged as unblocked this.


🐛 [BUG] - TypeError unsupported operand type(s) for *=: 'NoneType' and 'int'

Description
Problem Description
The error message is telling us that there's an unsupported operand type for the *= operation.
The issue is happening in the song_sync_continuation_score function in the file result/score.py on line 71. There, the line previous_result.score *= -1 is trying to multiply a None value with an integer. I'm not sure if the previous result's score should always be defined or that we should perhaps initialise it when it doesn't exist and we cannot multiply.
See also https://uva-aml.sentry.io/issues/5413868492/?project=4506353897570304&query=is%3Aunresolved&referrer=issue-stream&statsPeriod=7d&stream_index=3
Screenshots
Sentry

Session results on Acceptance
As it tries to get the previous result with the key "recognize", we can see that result is not always there (whether that's intentional or not), so that probably results into previous_result = result.session.get_previous_result(['recognize']) resolve into None. And from that you can obviously not read the score property.

Reproduction URL
http://illc-aml-mu-prd.science.uva.nl/server/result/score/
Reproduction steps
n/a

Logs
https://uva-aml.sentry.io/issues/5413868492/?project=4506353897570304&query=is%3Aunresolved&referrer=issue-stream&statsPeriod=7d&stream_index=3

Browsers
No response
OS
No response
Additional context
No response

This probably happens due to the race condition that is fixed in #1043, but the questions is: should we handle a scenario like this or should we always assume that previous score is defined?

Most likely fixed by #1043 - the issue doesn't seem to appear anymore after of 2024-05-31


How can it be used with Swift?

How would you call
connection.received = ^(NSString * data) {
    NSLog(data);
};
connection.started =  ^{
    [connection send:@"hello world"];
};

using Swift?

We're only just starting to look at this library, but something like this should work, once you add the necessary files to your bridging header:
connection.received = { data in
    NSLog(data)
}
connection.started = {
    connection.send("hello world")
}

This does not work I am afraid, it seems that a different type of syntax is needed...

I found it, I should initialize SRHubConnection, not SRConnection

There is also a swift port : https://github.com/skerkewitz/SwignalR


debugger crashes wen pausing

VMERR>     dbg: suspend 8
VMERR>     JD_PANIC() at devicescript/value.c:291 in devs_value_typeof
VMERR>               throw ex;
VMERR>               ^
VMERR>     at abort (/Users/peli/Documents/devicescript/cli/built/devicescript-cli.cjs:12953:19)
VMERR>     at _abort (/Users/peli/Documents/devicescript/cli/built/devicescript-cli.cjs:13289:11)
VMERR>     at hw_panic (wasm://wasm/000c5152:wasm-function[29]:0xe06)
VMERR>     at jd_panic_core (wasm://wasm/000c5152:wasm-function[609]:0x1e70d)
VMERR>     at devs_value_typeof (wasm://wasm/000c5152:wasm-function[369]:0x132f2)
VMERR>     at expand_value (wasm://wasm/000c5152:wasm-function[95]:0x33f2)
VMERR>     at send_values (wasm://wasm/000c5152:wasm-function[91]:0x2d6e)
VMERR>     at devsdbg_handle_packet (wasm://wasm/000c5152:wasm-function[90]:0x255d)
VMERR>     at jd_services_handle_packet (wasm://wasm/000c5152:wasm-function[581]:0x1dbde)
VMERR>     at jd_process_everything_core (wasm://wasm/000c5152:wasm-function[593]:0x1e1af)
VMERR>     at jd_process_everything (wasm://wasm/000c5152:wasm-function[592]:0x1e168)
VMERR>     at jd_em_process (wasm://wasm/000c5152:wasm-function[46]:0xf76)
VMERR>     at Object._jd_em_process (/Users/peli/Documents/devicescript/cli/built/devicescript-cli.cjs:13012:31)
VMERR>     at Object.handlePacket (/Users/peli/Documents/devicescript/cli/built/devicescript-cli.cjs:12102:21)
VMERR>     at Socket.<anonymous> (/Users/peli/Documents/devicescript/cli/built/devicescript-cli.cjs:12160:29)
VMERR>     at Socket.emit (node:events:513:28)
VMERR>     at addChunk (node:internal/streams/readable:324:12)
VMERR>     at readableAddChunk (node:internal/streams/readable:297:9)
VMERR>     at Readable.push (node:internal/streams/readable:234:10)
VMERR>     at TCP.onStreamRead (node:internal/stream_base_commons:190:23)

will need a better repro for this.


Map /perf command

No worries, can just drop my changes (as mine are just extra lambda parameters compared to this)


FileNotFoundError on isobuster.log

This sometimes happens (using Windows 10 VM with virtual floppy):
  File "z:\ipmlab\pmworker.py", line 124, in processMedium
    resultIsoBuster = isobuster.extractData(dirDisc)
  File "z:\ipmlab\isobuster.py", line 45, in extractData
    with io.open(logFile, "r", encoding="cp1252") as fLog:
FileNotFoundError: [Errno 2] No such file or directory: 'X:\\iromlab-test\\kb-c8f34409-dc40-11ec-96fb-0800272c26ff\\e2a3e029-dc40-11ec-8cb6-0800272c26ff\\isobuster.log'

Could be some race condition, but log file does exist (and code already uses a 2-second pause before checking for this file). Or maybe there's a delay in writing the file because of general VM slowness?

Error seemed to occur mainly/only on registration nag dialog with unregistered IsoBuster, just renewed Pro license which hopefully puts an end to this.

Added check which waits until log file is found https://github.com/KBNLresearch/ipmlab/commit/6a3671eb4ffc6c3f3e59904cf22c523b97087911


Decouple TextBox blocking behaviour from underlying text consumption

Add any details pertaining to developers above the break.

Closes ppy/osu#2447

Fixes keys not always being blocked by text boxes, leading to unexpected UI actions.

Requires conflict resolution.

Is there an osu-side PR for this?

As discussed, shouldn't be necessary


Create mixins @base-font-size @base-line-height for reuse

Prerequisites

[x] Can you reproduce the problem in safe mode?
[x] Are you running the latest version of Atom?
[x] Did you check the debugging guide?
[x] Did you check the FAQs on Discuss?
[x] Are you reporting to the correct repository?
[x] Did you perform a cursory search to see if your bug or enhancement is already reported?

For more information on how to write a good bug report or enhancement request, see the CONTRIBUTING guide.
Description
UPDATE: A simple mixin proposed solution is located at https://github.com/atom/atom/issues/11905#issuecomment-224336832
PROBLEM: The functionality for CMD + is not accessible by packages and themes.  Instead, it is hardcoded to modify atom-text-editor element for font-size by hardcoding #px pixel value.
This does not allow the reuse of this functionality for custom packages and CSS.  The proposed solution noted at https://github.com/atom/atom/issues/11905#issuecomment-224336832 is to move the variable it is modifying to a global mixin, for reuse at this same atom-text-editor element and font-size attribute.
An example use-case: When resizing the font size with CMD-+ (or CMD-SHIFT-+), only the Editor window is resized - not the TreeView, Tabs, StatusBar, ScrollBar, Dialogs (Find, Packages, etc), or anything else.
BEFORE: Atom default font...

AFTER: pressing CMD-+ several times to greatly increase font size...

^- Only the Editor is resized, making the Treeview and Debugger and other dialogs extremely hard to read in screencasts/meetup presentations.
This is really needed, especially for doing Meetups Presentations, Screencasts and even Screen sharing/Code pairing sessions.  Just make a few CMD-+ to blow everything up to enormous size and everyone is happy.
This was originally mentioned back in November 2015.

Does anyone know how could I make @font-size change along with zoom levels? E.g. ctrl+/-/scroll-up/down. Thanks!
https://github.com/atom/atom/issues/2530#issuecomment-153580043

If we compare to VSCode, VSCode resizes everything with CMD-+ (Editor window, TreeView, Tabs, StatusBar, Scrollbar, dialogs, and everything else).  For example, here's VSCode before and after:
BEFORE: VSCode default font size...

AFTER: pressing CMD-+ a few times blows everything up large.

^- that's a fullscreen shot at 3840x2400!
In summary, the root issue is that CMD + is modifying the base stylesheet directly.  We cannot access this functionality with custom packages and custom CSS.  If a mixin was used instead, simple CSS overrides for the user could reuse them, as noted above.
Steps to Reproduce

Open a code file
Press CMD-+ a few times

Expected behavior: When pressing CMD-+, I expect a global mixin or some other variable to access for custom packages and custom CSS.
Actual behavior: There is no global mixin - it is hardcoded to change the base stylesheet.
Versions
$ atom --version
Atom    : 1.8.0
Electron: 0.36.8
Chrome  : 47.0.2526.110
Node    : 5.1.1

Talking with @50Wliu on slack, I found this:
https://github.com/atom/atom/blob/2cfc4ee4e6f5f6b9bbc795411839a81c9679db5c/src/workspace.coffee#L738
  # Increase the editor font size by 1px.
  increaseFontSize: ->
    @config.set("editor.fontSize", @config.get("editor.fontSize") + 1)

  # Decrease the editor font size by 1px.
  decreaseFontSize: ->
    fontSize = @config.get("editor.fontSize")
    @config.set("editor.fontSize", fontSize - 1) if fontSize > 1

  # Restore to the window's original editor font size.
  resetFontSize: ->
    if @originalFontSize
      @config.set("editor.fontSize", @originalFontSize)

  subscribeToFontSize: ->
    @config.onDidChange 'editor.fontSize', ({oldValue}) =>
      @originalFontSize ?= oldValue

I also see CMD-SHIFT-+ isn't a registered key.
How about a proposal a new function for CMD-SHIFT-+ and CMD-SHIFT- - to change the everything?
For example, thanks to a tip in this https://github.com/atom/atom/issues/2530#issuecomment-153580043 , I was able to create a base style:
 @font-size: 1.2rem;

 html,
 body,
 .tree-view,
 .tooltip,
 .tab-bar .tab,
 .find-and-replace .find-meta-container,
 atom-text-editor,
 .btn,
 .status-bar,
 linter-message {
   font-size: @font-size;
 }

(leaving out atom-text-editor as I'd continue to want CMD-+ to operate on the editor for now, to have some type of dynamic resizing.

Cmd-+ and Cmd-Shift-+ are the same key binding since you can't make + without using Shift.
Cmd-Shift-+ is already mapped to the window:increase-font-size command:
https://github.com/atom/atom/blob/master/keymaps/darwin.cson#L81
The reason why they are equivalent is because key bindings are case-sensitive, so the short way to write cmd-shift-b was cmd-B. People found this unintuitive and confusing, so we changed the convention to write things out. You'll still find vestiges of the old convention though in the Atom code base, like this one.
You can use some code in your init.coffee to permanently scale the entire UI like this:
require('web-frame').setZoomFactor(1.15)

Just change the zoom factor number to your desired scale. One could also easily create a package with whatever keybindings you like to change the zoom factor to scale the entire UI. (This also has the benefit that it scales more than just fonts ... which your suggested approach would only change the font size and things that were explicitly based upon the font size. Various UI icons might not be changed at all, leading to a strange, lopsided experience.)

https://github.com/atom/atom/blob/6f1c1fd0e0242b096f4781698066788b26af2fa4/src/workspace-element.coffee#L54
Per this, this is hardcoding the px size of the font.
How about we use a less variable instead?  That way, we inherit that same variable in other customizations - such as the CSS I posted above.

Per this, this is hardcoding the px size of the font.

Have you tried the setZoomFactor thing? It really works:

It may require you to reload the window. I'm not sure ... I've only used it in my init.coffee.

Yes, setZoomFactor somewhat works... But, it is nowhere near optimum.  It does not resize the scrollbar nor the Tab space and a few other things related to dialogs.  That was all I found in the 30 seconds that i tried it.  The CSS I posted above actually captures a bit more and resizes, including the Tabs spacing (though, I'll add scrollbars now that I think about it).
Also, setZoomFactor requires a full restart to take affect.  The CSS method, which is the same method used by CMD + to resize the editor font, takes effect immediately and does not require a restart.
Additional info about what to change:
@50Wliu found this, which shows we are directly editing the stylesheet to modify the font-size.
https://github.com/atom/atom/blob/6f1c1fd0e0242b096f4781698066788b26af2fa4/src/workspace-element.coffee#L54
I think it will come down to two things to resolve this:

Create global Mixins called @base-font-size and maybe @base-line-height (coffee?  less?  I am not sure what Atom uses - I only know less but I'm sure this is simple in coffee).
Modify the existing /src/workspace-element.coffee, around line 54 as lined to above, to use the @base-font-size and @base-line-height mixins above.

That is all that is needed.  Then, us users who want this functionally can simply use some CSS like I posted earlier, and to use the @base-font-size and @base-line-height global mixins.
Bonus points if a new keyboard shortcut is created to enable it for everyone.  But for now, getting the base changed to use a mixin would be ideal and would allow us to modify the CSS.
If someone could give me an overview/point me to a tutorial about modifying CSS for Atom, I might take a stab at doing this.

requires you to restart Atom to take affect.

I just tried it in the Developer console and it took effect immediately, didn't even have to reload the window. But yes, it doesn't affect anything that isn't part of the DOM, this includes system dialogs, the OS-provided title bar and the Developer Tools themselves. (Of course, you'll have this same problem with a CSS/LESS solution.) I think scroll bars typically aren't overridden by CSS because people prefer an OS-style experience with them. If they were overridden by CSS in a theme, they'll probably be scaled by setZoomFactor as well.
I'm not sure what you mean about Tab spacing though.

I just tried it in the Developer console and it took effect immediately,

Needing developer console to adjust the zoom wouldn't be a clean solution for the masses.  Most people would want to modify the init.coffee script, which requires a full restart of Atom.
Hence, my proposed solution above at https://github.com/atom/atom/issues/11905#issuecomment-224336832 which is a simple solution that should allow the masses to just tweak our CSS.

I'm not sure what you mean about Tab spacing though.

Default Atom tab sizing (setZoomFactor and CSS disabled, restarted Atom):

My CSS solution (setZoomFactor disabled, only my CSS code - takes affect immediately):

setZoomFactor set to 1.5 (my CSS disabled, setZoomFactor used and needing restart):

^- That is what all tabs look like after restarting with setZoomFactor.  Don't know how you could miss that with setZoomFactor.

What about my proposed solution at https://github.com/atom/atom/issues/11905#issuecomment-224336832 ?

Needing developer console to adjust the zoom wouldn't be a clean solution for the masses. Most people would want to modify the init.coffee script, which requires a full restart of Atom.

I was proving the theory that a package could be written (and thereby a keybinding) where the change would take effect immediately, that one doesn't need to restart Atom. I wasn't suggesting that it was the final solution.
As far as the tab spacing goes, you're probably pushing across the border where Atom switches to "mini" mode for smaller screens. That could be solved with some minor tweaks to the default themes.

What about my proposed solution at #11905 (comment) ?

Your proposed solution would:

Have the exact same drawbacks as the setZoomFactor solution
Would require possibly large-scale rewriting of just the default themes for it to even start working
Would require large-scale rewriting of all Atom themes and potentially even non-theme packages would need to be rewritten for it to work reliably

setZoomFactor is:

Equivalent to your CSS/LESS solution
Doesn't require any changes to themes to start working
Requires only minor tweaks for some edge cases in themes (like the tab spacing issue)

If you want a short-term fix for this, figuring out how to make setZoomFactor work for you is going to be your best bet.

Not sure I agree entirely.
Your proposed solution would:

Have the exact same drawbacks as the setZoomFactor solution
1- Have the exact same drawbacks as the setZoomFactor solution

What are the drawbacks for using CSS exactly?  the CSS solution seems to be working, whereas the setZoomFactor needs a restart (unless a "package" can hack around that, as you propose - more hacks?).
setZoomFactor may work but as you pointed out, it may be "switching to 'mini' mode" as a complete guess - pointing out there's even more work to do  This is starting to smell of a rabbit hole to investigate how to forcefully hack a restart or alike, figure out the "mini mode" if that is even the problem here, and who knows what else would come up.

2 - Would require possibly large-scale rewriting of just the default themes for it to even start working

I don't think this is the case.  Maybe I am mis-understanding, but this is simple CSS right?
Currently it is being hardcoded by directly inserting it into base stylesheet as you can see here: https://github.com/atom/atom/blob/6f1c1fd0e0242b096f4781698066788b26af2fa4/src/workspace-element.coffee#L54 .
How is that any different than adjusting the value of a mixin variable?  And, that mixin variable is just used for that atom-text-editor element located in the same base stylesheet and using it for this font-size value?
It's all re-parsed in the end the same way upon refresh using the existing event hooks that are already in place.  No class names or elements are changed.

3- Would require large-scale rewriting of all Atom themes and potentially even non-theme packages would need to be rewritten for it to work reliably

I don't think this is the case either.  It is already being hardcoded/directly inserted into the base stylesheet - my proposal doesn't change any of that (no class name changes, no css attribute changes, nada - 100% backwards compatibility).
As a matter of fact, I just move the modifications to a global variable for re-usability, starting with only 1 use: the existing font-size already being hardcoded/inserted into the DOM.
Any custom themes and packages out there already would forcefully have to overwrite this same atom-text-editor element and font-size attribute.  That does not change.

Currently it is being hardcoded by directly inserting it into base stylesheet as you can see here
How is that any different than adjusting the value of a mixin variable?

There is the @font-size variable that themes define and packages use. But it's read-only. Changing that variable at runtime would require all the Less files that use it to be recompiled and injected again. Probably all CSS since source order matters. There were some attempts to do that, but because of performance concerns didn't end up in production. Now CSS custom properties (that just got added to Atom, I think currently in Atom Beta) could be updated at runtime without recompiling. But because it's a different syntax (var(--font-size) instead of @font-size) it would only work for themes that get updated to use the custom property.
@eduncan911 what theme are you using? Based on the screenshots, looks like One dark? With that theme, you can scale the UI by changing the "Font Size" theme setting. It doesn't scale everything like setZoomFactor, but most parts.

Personally, I like that cmd-+/- only changes the editor, but keeps the UI as is. And only if needed, e.g. meetup, the UI can still be changed in the settings.
Or you can also change it in your styles.less file with:
.theme-one-dark-ui {
  font-size: 14px;
}

Maybe it's possible to create an init script that listens to the atom-text-editor font-size changes and then inlines the same value to the html element, like <html style="font-size: 14px;">, then editor and UI would be synced. But that only works for themes that use the em units (like One dark).

@simurai

There is the @font-size variable that themes define and packages use. But it's read-only. Changing that variable at runtime would require all the Less files that use it to be recompiled and injected again. Probably all CSS since source order matters. There were some attempts to do that, but because of performance concerns didn't end up in production. Now CSS custom properties (that just got added to Atom, I think currently in Atom Beta) could be updated at runtime without recompiling. But because it's a different syntax (var(--font-size) instead of @font-size) it would only work for themes that get updated to use the custom property.

That sounds... a lot more complicated than I thought!  I would have thought that when the base stylesheet changes (either by user entries + SAVE, or by the CMD + action - which currently works) that it parses all CSS, starting with the base, and up the chain.  It seems this is how it works right now.
The goal of this Issue was to create some global @base-font-size that is dynamically changed with some action.   CMD + or some other new shortcut.  It would only be changed for the atom-text-editor to use for now, as it would not change any functionality of CSS overrides.  It would just allow someone like me to tweak my own CSS, to use that @base-font-size. Later on, theme authors could elect to use it if they wish - an option to have a variable dynamically changed by some shortcut key.  Like CMD +.

eduncan911 what theme are you using? Based on the screenshots, looks like One dark?

UI Theme: One Dark, yep
Syntax Theme: Tesla Atom (for those that are interested in my "I left Solarized!" theme)

Personally, I like that cmd-+/- only changes the editor, but keeps the UI as is. And only if needed, e.g. meetup, the UI can still be changed in the settings.

I agree, in that this isn't the feature I am talking about developing - changing the entire UI with CMD + (though, I really LOVED that feature of VSCode when I saw it did it).  I am only talking about creating some sort of dynamically-changing variable that is tied to an Action, that we can link to in CSS stylesheets.

Maybe it's possible to create an init script that listens to the atom-text-editor font-size changes and then inlines the same value to the html element, like , then editor and UI would be synced. But that only works for themes that use the em units (like One dark).

that's one idea to directly address the example I gave in the OP.  Didn't want to go that far as to build in the actual change of the UI - just wanted to expose a dynamically-changing variable that we could hook into.  Also, there may be other elements that need changing (though, on the html element is pretty broad).
--
Alternative proposal:
What about creating an init script that listens to the atom-text-editor font-size changes (and maybe line-height?) and then modifies that var(--font-size) you mention?
If it can be changed at Runtime with an action (e.g. CMD +), and it allows us to use it simply by inserting it into the global Stylesheet (in order to bind it to whatever elements we want, or don't want, to dynamically change), I think that's the winner.

The goal of this Issue was to create some global @base-font-size that is dynamically changed with some action.

That would be nice, but as mentioned above, due to performance concerns, it isn't something that Atom currently supports. Some packages tried to "hack" it.. like the base16-syntax theme switcher. I think this part does the updating of the variables.

Alternative proposal:

Yeah, that's something we could look into. Although it needs to be done on a per theme/package basis. There are probably lots of "abandoned" themes that even if we would send a PR, the theme author wouldn't bother about merging it. So for an official support of all themes, it has to wait for Atom 2.0, which there aren't any plans yet when that might be.

Here a custom init script and keybinding to increase/decrease the UI font-size:
# init.coffee
UIFontSize = 12
atom.commands.add 'atom-workspace',
  'ui:increase-font-size': ->
    UIFontSize += 1
    document.documentElement.style.fontSize = UIFontSize + 'px'
  'ui:decrease-font-size': ->
    UIFontSize -= 1
    document.documentElement.style.fontSize = UIFontSize + 'px'

# keymap.cson
'atom-workspace':
  'ctrl-+': 'ui:increase-font-size'
  'ctrl--': 'ui:decrease-font-size'

So cmd-+/- is to change the editor font size and ctrl-+/- the UI. Doesn't work with all UI themes, below an example with One dark:

@simurai Most Excellent!!! 👍
Though, I had to use an underscore for the decrease-font-size (maybe because of my PC keyboard on OSX):
# keymap.cson
'atom-workspace':
  'ctrl-+': 'ui:increase-font-size'
  'ctrl-_': 'ui:decrease-font-size'

Further tweaking...  This is my first attempt at touching a line of coffee script:
Is it not possible to call the updateGlobalTextEditorStyleSheet() function to update the Editor's font size?
# init.coffee
UIFontSize = 12
atom.commands.add 'atom-workspace',
  'ui:increase-font-size': ->
    UIFontSize += 1
    document.documentElement.style.fontSize = UIFontSize + 'px'
    @updateGlobalTextEditorStyleSheet()
  'ui:decrease-font-size': ->
    UIFontSize -= 1
    document.documentElement.style.fontSize = UIFontSize + 'px'
    @updateGlobalTextEditorStyleSheet()

Code is located here: https://github.com/atom/atom/blob/6f1c1fd0e0242b096f4781698066788b26af2fa4/src/workspace-element.coffee#L54
I'm aware that this could get things outta wack if I start from different sizes.  I can reset things.  :)

The idea is I could use CTRL-SHIFT-+ to scale everything at once

If you want it to be the same all the time, you could hook into the config changes and add the same value to the html element. Then UI and editor font-size are always synced:
# init.coffee

# set initial value
document.documentElement.style.fontSize = atom.config.get('editor.fontSize') + 'px'

# update value
atom.config.onDidChange 'editor.fontSize', ({newValue}) ->
  document.documentElement.style.fontSize = newValue + 'px'

And... we have a winner!
❤  x 100!
--
I think we can close this issue, since var(--font-size) kind of stuff is in beta and may allow the customization we were seeking here.

Thanks for the script!

I'm aware that this could get things outta wack if I start from different sizes. I can reset things. :)

Agreed - here is a reset
# init.coffee
UIFontSize = 12
atom.commands.add 'atom-workspace',
  'ui:increase-font-size': ->
    UIFontSize += 1
    document.documentElement.style.fontSize = UIFontSize + 'px'
    @updateGlobalTextEditorStyleSheet()
  'ui:decrease-font-size': ->
    UIFontSize -= 1
    document.documentElement.style.fontSize = UIFontSize + 'px'
    @updateGlobalTextEditorStyleSheet()
  'ui:reset-font-size': ->
    UIFontSize = 12
    document.documentElement.style.fontSize = UIFontSize + 'px'
    @updateGlobalTextEditorStyleSheet()

# keymap.cson
'atom-workspace':
  'ctrl-+': 'ui:increase-font-size'
  'ctrl-_': 'ui:decrease-font-size'
  'ctrl-)': 'ui:reset-font-size'

@eduncan911's code works flawlessly!

Posting on an old thread, but is there any way @eduncan911's script can be ported/modified to work for other themes? Not too familiar with how the elements are picked up/how they are defined differently by the themes. Thanks for the script though!


read_xdc command accepts unknown commands

Currently if the file that is read with the read_xdc command contains an unknown command no error is reported.
This is caused by the fact that read_xdc makes use of the unknown args procedure and implements the handler which returns the string of the called command surrounded by square bracket.
We need to make sure commands that are not number will error out.

We need to make sure commands that are not number will error out.

Also if a number if supplied with more arguments.
So examples:
[0] -> [0]
[0 1] -> error
[get_ports 0] -> error
[get_ports] -> error

Also we discussed having an option on read_xdc to control whether the behavior is a warning or an error.


WMS ID:5741 New OCW23 HOL for data integration

Add here your WMS ID
5741
General requirements

Information in the workshop is adequate and updated
Code is correct and working
Links are correct
Make sure you enter the help email link in your manifest.json
Please make sure WMS URLs are updated as needed after your PR is approved

Checklist - Refer to the QA document for the complete list
Please confirm that the following is completed before submitting your PR

[x] All filenames are lower case (including folders, images, files, etc.)
[x] Filenames are descriptive
[x] Your workshop folder structure should be similar to the one used in the sample workshop (https://github.com/oracle-livelabs/common/tree/main/sample-livelabs-templates/sample-workshop)
[x] Are you using multiple versions (desktop/, sandbox/, tenancy/)? Make sure that each of them contains a manifest.json and an index.html
[x] Image references in markdown contain an alternate text

@davidallan - This workshop is in Quarterly QA status. Plese follow these steps to perform the QA of the workshop - LINK and update your workshop status to Quarterly QA Complete. You can refer to this workshop folder structure to update your workshop folder structure - LINK

Thanks @anooshapilli I have updated the image alternative text and the headings with a/b/c to bullets. For the getting started, at OCW23 we will be providing a tenancy and access, do we still need a Getting Started?

@anooshapilli can you review the PR, its states At least 1 approving review is required by reviewers with write access.

@davidallan - I still do not see all the requested changes. Please add the alternative text in the brackets, and get started lab in the manifest.json file. You can make these changes in your local and push them. They will be added to this PR.

@davidallan - Please make the requested changes by tomorrow. As the PR has been open for about two weeks now, we will close it and you can create a new one when you're ready. Thanks a lot for your understanding!

@davidallan - Closing this PR. Please make these changes and create a new PR.

Add alternative text to images within the []. You can view the example in Lab 4 Task 4 Step 2 LINK
In the manifest.json file, add Need Help lab at the end with this LINK. You can view the sample HERE
We recommend only numbering with 1. 2. 3. format and not a. b. c. please bullet them or number them in the create-data-loader.md file


Rename SapiEmitter to ServerApiEmitter

ServerApiEmitter more clear name.

Why? This means PHP SAPI.

Thought about it a bit more. I agree with @devanych. I'll add better description.


HTML view not working with py3Dmol

Nobody has reported an issue with py3Dmol, but there was one about a performance issue with NGLview, which is a similar package for viewing molecular models. However, I think the backends of these two packages are different, and the issue I am having is different.
Py3Dmol is a python implementation of 3Dmol.js. The output displays in browser implementations of a Jupyter Notebook (using Chrome), and it was working around a month ago in VS Code, but now it creates an empty output cell of roughly the correct size.
Environment data

VS Code version: 1.57.1
Jupyter Extension version (available under the Extensions sidebar): v2021.6.999662501
Python Extension version (available under the Extensions sidebar): v2021.6.944021595
OS (Windows | Mac | Linux distro) and version: Windows 10.0.19043 build 19043
Python and/or Anaconda version: Anaconda 2020.11 Python 3.7.9
Type of virtual environment used (N/A | venv | virtualenv | conda | ...): conda, but using 'base'
Jupyter server running: Local

Expected behaviour
An interactive plot should display in the output cell.
Actual behaviour
A blank output of roughly the correct size displays in the output cell.
Steps to reproduce:
Run the following in a code cell:
!pip install py3Dmol
import py3Dmol
p = py3Dmol.view(query='mmtf:1ycr')
p.setStyle({'cartoon': {'color':'spectrum'}})
p

Logs

Output for Jupyter in the Output panel (View→Output, change the drop-down the upper-right of the Output panel to Jupyter)

Info 2021-07-08 11:32:41: restartKernel - finishing cells that are outstanding
Info 2021-07-08 11:32:41: restartKernel - restarting kernel
Info 2021-07-08 11:32:41: Restarting ea8fa227-96a8-4cc1-9268-13ca982d86f4
Info 2021-07-08 11:32:41: Widget Coordinator sent IPyWidgets_onRestartKernel
Info 2021-07-08 11:32:41: Posting message to Notebook UI
Info 2021-07-08 11:32:41: Widget Coordinator sent IPyWidgets_kernelOptions
Info 2021-07-08 11:32:41: Posting message to Notebook UI
Info 2021-07-08 11:32:41: Got new session 00e5c2cb-0f18-41aa-90ac-9f64a3c749ca
Info 2021-07-08 11:32:41: Starting raw kernel Python 3.7.9 64-bit ('base': conda)
Info 2021-07-08 11:32:41: installMissingDependencies C:\Users\psirv\Anaconda3\python.exe
Info 2021-07-08 11:32:41: Started new restart session
Info 2021-07-08 11:32:41: shutdownSession ea8fa227-96a8-4cc1-9268-13ca982d86f4, .jvsc74a57bd06c33f2e669c4252adcb6b35df72ed100d5670b3dff543db2a50ccff0137b1beb.C:\Users\psirv\Anaconda3\python.exe.C:\Users\psirv\Anaconda3\python.exe - start
Info 2021-07-08 11:32:41: Session can be shutdown .jvsc74a57bd06c33f2e669c4252adcb6b35df72ed100d5670b3dff543db2a50ccff0137b1beb.C:\Users\psirv\Anaconda3\python.exe.C:\Users\psirv\Anaconda3\python.exe
Info 2021-07-08 11:32:41: Dispose Kernel process
Info 2021-07-08 11:32:41: kill daemon
Info 2021-07-08 11:32:41: restartKernel - initialSetup
Info 2021-07-08 11:32:41: Initial setup for untitled:Untitled-1.ipynb starting ...
 Start port is 9000
Info 2021-07-08 11:32:42: Launching kernel daemon for Python 3.7.9 64-bit ('base': conda) # C:\Users\psirv\Anaconda3\python.exe
Info 2021-07-08 11:32:42: Fetching interpreter variables of Conda environment to be used as env vars of Kernel
Info 2021-07-08 11:32:42: Creating daemon process for C:\Users\psirv\Anaconda3\python.exe with env variables count 67
Info 2021-07-08 11:32:42: Process Execution: > ~\Anaconda3\python.exe -m vscode_datascience_helpers.daemon --daemon-module=vscode_datascience_helpers.kernel_launcher_daemon -v
> ~\Anaconda3\python.exe -m vscode_datascience_helpers.daemon --daemon-module=vscode_datascience_helpers.kernel_launcher_daemon -v
Info 2021-07-08 11:32:42: Got custom variables for Kernel owned by a conda interpreter
Info 2021-07-08 11:32:42: Python Daemon (pid: 17564): Execute rpc method exec_module in DS Daemon
Info 2021-07-08 11:32:42: Python Daemon (pid: 17564): Execute rpc method exec_module from C:\Users\psirv\Anaconda3\python.exe
Info 2021-07-08 11:32:42: Python Daemon (pid: 17564): Exec module in DS Kernel Launcher Daemon ipykernel_launcher with args ['--ip=<IP_ADDRESS>', '--stdin=9013', '--control=9011', '--hb=9010', '--Session.signature_scheme="hmac-sha256"', '--Session.key=b"7b65afe3-6949-453f-b9ca-6d4f1b0549d4"', '--shell=9012', '--transport="tcp"', '--iopub=9014', '--f=C:\\Users\\psirv\\AppData\\Local\\Temp\\tmp-40882I6r4f6j8YeC.json']
Info 2021-07-08 11:32:42: Python Daemon (pid: 17564): Exec in DS Kernel Launcher Daemon (observable) ipykernel_launcher with args ['--ip=<IP_ADDRESS>', '--stdin=9013', '--control=9011', '--hb=9010', '--Session.signature_scheme="hmac-sha256"', '--Session.key=b"7b65afe3-6949-453f-b9ca-6d4f1b0549d4"', '--shell=9012', '--transport="tcp"', '--iopub=9014', '--f=C:\\Users\\psirv\\AppData\\Local\\Temp\\tmp-40882I6r4f6j8YeC.json']
Info 2021-07-08 11:32:42: Python Daemon (pid: 17564): Exec in DS Kernel Launcher Daemon (observable) ['C:\\Users\\psirv\\Anaconda3\\python.exe', '-m', 'ipykernel_launcher', '--ip=<IP_ADDRESS>', '--stdin=9013', '--control=9011', '--hb=9010', '--Session.signature_scheme="hmac-sha256"', '--Session.key=b"7b65afe3-6949-453f-b9ca-6d4f1b0549d4"', '--shell=9012', '--transport="tcp"', '--iopub=9014', '--f=C:\\Users\\psirv\\AppData\\Local\\Temp\\tmp-40882I6r4f6j8YeC.json']
Info 2021-07-08 11:32:42: Python Daemon (pid: 17564): Exec in DS Kernel Launcher Daemon (observable)
Info 2021-07-08 11:32:42: Python Daemon (pid: 17564): Kernel launched, with PID 9400
Warn 2021-07-08 11:32:42: Python Daemon (pid: 17564): Waiting for Kernel to die 9400
Info 2021-07-08 11:32:42: Launching kernel daemon, Class name = f, completed in 247ms, has a truthy return value, Arg 1: <Uri:Untitled-1.ipynb>, Arg 2: "c:\\Users\\psirv\\OneDrive - University of North Carolina at Chapel Hill\\GitHub\\JNBTools", Arg 3: {"specFile":"C:\\Users\\psirv\\Anaconda3\\share\\jupyter\\kernels\\python3\\kernel.json","interpreterPath":"C:\\Users\\psirv\\Anaconda3\\python.exe","name":"python379jvsc74a57bd06c33f2e669c4252adcb6b35df72ed100d5670b3dff543db2a50ccff0137b1beb","argv":["C:/Users/psirv/Anaconda3\\python.exe","-m","ipykernel_launcher","--ip=<IP_ADDRESS>","--stdin=9013","--control=9011","--hb=9010","--Session.signature_scheme=\"hmac-sha256\"","--Session.key=b\"7b65afe3-6949-453f-b9ca-6d4f1b0549d4\"","--shell=9012","--transport=\"tcp\"","--iopub=9014","--f=C:\\Users\\psirv\\AppData\\Local\\Temp\\tmp-40882I6r4f6j8YeC.json"],"language":"python","path":"C:/Users/psirv/Anaconda3\\python.exe","display_name":"Python 3.7.9 64-bit ('base': conda)"}, Arg 4: {"sysPrefix":"C:\\Users\\psirv\\Anaconda3","envType":"Conda","envName":"base","envPath":"C:\\Users\\psirv\\Anaconda3","path":"C:\\Users\\psirv\\Anaconda3\\python.exe","architecture":3,"sysVersion":"3.7.9 (default, Aug 31 2020, 17:10:11) [MSC v.1916 64 bit (AMD64)]","version":{"raw":"3.7.9","major":3,"minor":7,"patch":9,"build":[],"prerelease":["final","0"]},"companyDisplayName":"ContinuumAnalytics","displayName":"Python 3.7.9 64-bit ('base': conda)"}, Return Value: <Return value cannot be serialized for logging>
Info 2021-07-08 11:32:42: Launching kernel in kernelProcess.ts, Class name = b, completed in 248ms, has a truthy return value, Arg 1: "c:\\Users\\psirv\\OneDrive - University of North Carolina at Chapel Hill\\GitHub\\JNBTools", Return Value: {"proc":{"_events":{},"_eventsCount":2,"_closesNeeded":3,"_closesGot":0,"connected":false,"signalCode":null,"exitCode":null,"killed":false,"spawnfile":"C:\\Users\\psirv\\Anaconda3\\python.exe","_handle":{"pid":17564},"spawnargs":["C:\\Users\\psirv\\Anaconda3\\python.exe","-m","vscode_datascience_helpers.daemon","--daemon-module=vscode_datascience_helpers.kernel_launcher_daemon","-v"],"pid":17564,"stdin":{"connecting":false,"_hadError":false,"_parent":null,"_host":null,"_readableState":{"objectMode":false,"highWaterMark":16384,"buffer":{"head":null,"tail":null,"length":0},"length":0,"pipes":[],"flowing":null,"ended":false,"endEmitted":false,"reading":false,"sync":true,"needReadable":false,"emittedReadable":false,"readableListening":false,"resumeScheduled":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"destroyed":false,"errored":null,"closed":false,"closeEmitted":false,"defaultEncoding":"utf8","awaitDrainWriters":null,"multiAwaitDrain":false,"readingMore":false,"decoder":null,"encoding":null,"readable":false},"_events":{},"_eventsCount":3,"_writableState":{"objectMode":false,"highWaterMark":16384,"finalCalled":false,"needDrain":false,"ending":false,"ended":false,"finished":false,"destroyed":false,"decodeStrings":false,"defaultEncoding":"utf8","length":0,"writing":false,"corked":0,"sync":false,"bufferProcessing":false,"writecb":null,"writelen":0,"afterWriteTickInfo":null,"buffered":[],"bufferedIndex":0,"allBuffers":true,"allNoop":true,"pendingcb":0,"prefinished":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"errored":null,"closed":false,"closeEmitted":false},"allowHalfOpen":false,"_sockname":null,"_pendingData":null,"_pendingEncoding":"","server":null,"_server":null},"stdout":{"connecting":false,"_hadError":false,"_parent":null,"_host":null,"_readableState":{"objectMode":false,"highWaterMark":16384,"buffer":{"head":null,"tail":null,"length":0},"length":0,"pipes":[],"flowing":true,"ended":false,"endEmitted":false,"reading":true,"sync":false,"needReadable":true,"emittedReadable":false,"readableListening":false,"resumeScheduled":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"destroyed":false,"errored":null,"closed":false,"closeEmitted":false,"defaultEncoding":"utf8","awaitDrainWriters":null,"multiAwaitDrain":false,"readingMore":false,"decoder":null,"encoding":null},"_events":{"close":[null,null]},"_eventsCount":4,"_writableState":{"objectMode":false,"highWaterMark":16384,"finalCalled":false,"needDrain":false,"ending":false,"ended":false,"finished":false,"destroyed":false,"decodeStrings":false,"defaultEncoding":"utf8","length":0,"writing":false,"corked":0,"sync":true,"bufferProcessing":false,"writecb":null,"writelen":0,"afterWriteTickInfo":null,"buffered":[],"bufferedIndex":0,"allBuffers":true,"allNoop":true,"pendingcb":0,"prefinished":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"errored":null,"closed":false,"writable":false,"closeEmitted":false},"allowHalfOpen":false,"_sockname":null,"_pendingData":null,"_pendingEncoding":"","server":null,"_server":null},"stderr":{"connecting":false,"_hadError":false,"_parent":null,"_host":null,"_readableState":{"objectMode":false,"highWaterMark":16384,"buffer":{"head":null,"tail":null,"length":0},"length":0,"pipes":[],"flowing":true,"ended":false,"endEmitted":false,"reading":true,"sync":false,"needReadable":true,"emittedReadable":false,"readableListening":false,"resumeScheduled":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"destroyed":false,"errored":null,"closed":false,"closeEmitted":false,"defaultEncoding":"utf8","awaitDrainWriters":null,"multiAwaitDrain":false,"readingMore":false,"decoder":null,"encoding":null},"_events":{},"_eventsCount":3,"_writableState":{"objectMode":false,"highWaterMark":16384,"finalCalled":false,"needDrain":false,"ending":false,"ended":false,"finished":false,"destroyed":false,"decodeStrings":false,"defaultEncoding":"utf8","length":0,"writing":false,"corked":0,"sync":true,"bufferProcessing":false,"writecb":null,"writelen":0,"afterWriteTickInfo":null,"buffered":[],"bufferedIndex":0,"allBuffers":true,"allNoop":true,"pendingcb":0,"prefinished":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"errored":null,"closed":false,"writable":false,"closeEmitted":false},"allowHalfOpen":false,"_sockname":null,"_pendingData":null,"_pendingEncoding":"","server":null,"_server":null},"stdio":[{"connecting":false,"_hadError":false,"_parent":null,"_host":null,"_readableState":{"objectMode":false,"highWaterMark":16384,"buffer":{"head":null,"tail":null,"length":0},"length":0,"pipes":[],"flowing":null,"ended":false,"endEmitted":false,"reading":false,"sync":true,"needReadable":false,"emittedReadable":false,"readableListening":false,"resumeScheduled":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"destroyed":false,"errored":null,"closed":false,"closeEmitted":false,"defaultEncoding":"utf8","awaitDrainWriters":null,"multiAwaitDrain":false,"readingMore":false,"decoder":null,"encoding":null,"readable":false},"_events":{},"_eventsCount":3,"_writableState":{"objectMode":false,"highWaterMark":16384,"finalCalled":false,"needDrain":false,"ending":false,"ended":false,"finished":false,"destroyed":false,"decodeStrings":false,"defaultEncoding":"utf8","length":0,"writing":false,"corked":0,"sync":false,"bufferProcessing":false,"writecb":null,"writelen":0,"afterWriteTickInfo":null,"buffered":[],"bufferedIndex":0,"allBuffers":true,"allNoop":true,"pendingcb":0,"prefinished":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"errored":null,"closed":false,"closeEmitted":false},"allowHalfOpen":false,"_sockname":null,"_pendingData":null,"_pendingEncoding":"","server":null,"_server":null},{"connecting":false,"_hadError":false,"_parent":null,"_host":null,"_readableState":{"objectMode":false,"highWaterMark":16384,"buffer":{"head":null,"tail":null,"length":0},"length":0,"pipes":[],"flowing":true,"ended":false,"endEmitted":false,"reading":true,"sync":false,"needReadable":true,"emittedReadable":false,"readableListening":false,"resumeScheduled":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"destroyed":false,"errored":null,"closed":false,"closeEmitted":false,"defaultEncoding":"utf8","awaitDrainWriters":null,"multiAwaitDrain":false,"readingMore":false,"decoder":null,"encoding":null},"_events":{"close":[null,null]},"_eventsCount":4,"_writableState":{"objectMode":false,"highWaterMark":16384,"finalCalled":false,"needDrain":false,"ending":false,"ended":false,"finished":false,"destroyed":false,"decodeStrings":false,"defaultEncoding":"utf8","length":0,"writing":false,"corked":0,"sync":true,"bufferProcessing":false,"writecb":null,"writelen":0,"afterWriteTickInfo":null,"buffered":[],"bufferedIndex":0,"allBuffers":true,"allNoop":true,"pendingcb":0,"prefinished":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"errored":null,"closed":false,"writable":false,"closeEmitted":false},"allowHalfOpen":false,"_sockname":null,"_pendingData":null,"_pendingEncoding":"","server":null,"_server":null},{"connecting":false,"_hadError":false,"_parent":null,"_host":null,"_readableState":{"objectMode":false,"highWaterMark":16384,"buffer":{"head":null,"tail":null,"length":0},"length":0,"pipes":[],"flowing":true,"ended":false,"endEmitted":false,"reading":true,"sync":false,"needReadable":true,"emittedReadable":false,"readableListening":false,"resumeScheduled":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"destroyed":false,"errored":null,"closed":false,"closeEmitted":false,"defaultEncoding":"utf8","awaitDrainWriters":null,"multiAwaitDrain":false,"readingMore":false,"decoder":null,"encoding":null},"_events":{},"_eventsCount":3,"_writableState":{"objectMode":false,"highWaterMark":16384,"finalCalled":false,"needDrain":false,"ending":false,"ended":false,"finished":false,"destroyed":false,"decodeStrings":false,"defaultEncoding":"utf8","length":0,"writing":false,"corked":0,"sync":true,"bufferProcessing":false,"writecb":null,"writelen":0,"afterWriteTickInfo":null,"buffered":[],"bufferedIndex":0,"allBuffers":true,"allNoop":true,"pendingcb":0,"prefinished":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"errored":null,"closed":false,"writable":false,"closeEmitted":false},"allowHalfOpen":false,"_sockname":null,"_pendingData":null,"_pendingEncoding":"","server":null,"_server":null}]},"out":{"_isScalar":false,"observers":[],"closed":false,"isStopped":false,"hasError":false,"thrownError":null}}
Info 2021-07-08 11:32:42: Execute Cells request 2 0, 1
Info 2021-07-08 11:32:42: Execute Cell 0 untitled:Untitled-1.ipynb
Info 2021-07-08 11:32:42: Cell Index:0, state:1, exec: 1. User queued cell for execution
Info 2021-07-08 11:32:42: Execute Cell 1 untitled:Untitled-1.ipynb
Info 2021-07-08 11:32:42: Cell Index:1, state:undefined, exec: undefined. User queued cell for execution
Info 2021-07-08 11:32:42: Cell Index:0, state:1, exec: 1. Ready to execute
Info 2021-07-08 11:32:42: Cell Index:1, state:undefined, exec: undefined. Ready to execute
Info 2021-07-08 11:32:42: Cell Index:0, state:1, exec: 1. Before Execute individual cell
Info 2021-07-08 11:32:42: Cell Index:0, state:1, exec: 1. Start execution
Info 2021-07-08 11:32:42: Cell Index:0, state:3, exec: undefined. Send code for execution
Info 2021-07-08 11:32:42: Cell Index:0, state:3, exec: undefined.  Kernel switching to busy
Info 2021-07-08 11:32:42: Notebook Session status untitled:Untitled-1.ipynb # Busy
Info 2021-07-08 11:32:42: Widget Coordinator sent IPyWidgets_msg
Info 2021-07-08 11:32:42: Posting message to Notebook UI
Info 2021-07-08 11:32:42: Cell Index:0, state:3, exec: 1.  Update output
Info 2021-07-08 11:32:43: Cell Index:0, state:3, exec: 1. Kernel switching to idle
Info 2021-07-08 11:32:43: Notebook Session status untitled:Untitled-1.ipynb # Idle
Info 2021-07-08 11:32:43: Cell Index:0, state:3, exec: 1. Jupyter execution completed
Info 2021-07-08 11:32:43: Cell Index:0, state:3, exec: 1. Completed successfully
Info 2021-07-08 11:32:43: Cell Index:0, state:3, exec: 1. Completed successfully & resolving
Info 2021-07-08 11:32:43: Cell Index:0, state:3, exec: 1. After Execute individual cell 3
Info 2021-07-08 11:32:43: Cell Index:1, state:2, exec: undefined. Before Execute individual cell
Info 2021-07-08 11:32:43: Cell Index:1, state:2, exec: undefined. Start execution
Info 2021-07-08 11:32:43: Cell Index:0, state:3, exec: 1. Executed successfully in executeCell
Info 2021-07-08 11:32:43: Cell Index:0, state:3, exec: 1. Execution disposed
Info 2021-07-08 11:32:43: Cell Index:1, state:3, exec: undefined. Send code for execution
Info 2021-07-08 11:32:43: Cell Index:1, state:3, exec: undefined. Empty cell execution
Info 2021-07-08 11:32:43: Cell Index:1, state:3, exec: undefined. Completed successfully
Info 2021-07-08 11:32:43: Cell Index:1, state:3, exec: undefined. Completed successfully & resolving
Info 2021-07-08 11:32:43: Cell Index:1, state:3, exec: undefined. After Execute individual cell 2
Info 2021-07-08 11:32:43: Cell Index:1, state:3, exec: undefined. Execution disposed
Info 2021-07-08 11:32:43: KernelProcess output: Content-Length: 335
Content-Type: application/vscode-jsonrpc; charset=utf8

{"jsonrpc":"2.0","method":"log","params":{"level":"INFO","msg":"write to stderr: C:\\Users\\psirv\\Anaconda3\\lib\\site-packages\\traitlets\\traitlets.py:2199: FutureWarning: Supporting extra quotes around Unicode is deprecated in traitlets 5.0. Use 'hmac-sha256' instead of '\"hmac-sha256\"' \u2013 or use CUnicode.\r\n","pid":17564}}Content-Length: 312
Content-Type: application/vscode-jsonrpc; charset=utf8

{"jsonrpc":"2.0","method":"output","params":{"source":"stderr","out":"C:\\Users\\psirv\\Anaconda3\\lib\\site-packages\\traitlets\\traitlets.py:2199: FutureWarning: Supporting extra quotes around Unicode is deprecated in traitlets 5.0. Use 'hmac-sha256' instead of '\"hmac-sha256\"' \u2013 or use CUnicode.\r\n"}}
Info 2021-07-08 11:32:43: Python Daemon (pid: 17564): write to stderr: C:\Users\psirv\Anaconda3\lib\site-packages\traitlets\traitlets.py:2199: FutureWarning: Supporting extra quotes around Unicode is deprecated in traitlets 5.0. Use 'hmac-sha256' instead of '"hmac-sha256"' – or use CUnicode.

Info 2021-07-08 11:32:43: KernelProcess output: Content-Length: 116
Content-Type: application/vscode-jsonrpc; charset=utf8

{"jsonrpc":"2.0","method":"log","params":{"level":"INFO","msg":"write to stderr:   FutureWarning)\r\n","pid":17564}}Content-Length: 93
Content-Type: application/vscode-jsonrpc; charset=utf8

{"jsonrpc":"2.0","method":"output","params":{"source":"stderr","out":"  FutureWarning)\r\n"}}Content-Length: 361
Content-Type: application/vscode-jsonrpc; charset=utf8

{"jsonrpc":"2.0","method":"log","params":{"level":"INFO","msg":"write to stderr: C:\\Users\\psirv\\Anaconda3\\lib\\site-packages\\traitlets\\traitlets.py:2154: FutureWarning: Supporting extra quotes around Bytes is deprecated in traitlets 5.0. Use '7b65afe3-6949-453f-b9ca-6d4f1b0549d4' instead of 'b\"7b65afe3-6949-453f-b9ca-6d4f1b0549d4\"'.\r\n","pid":17564}}Content-Length: 338
Content-Type: application/vscode-jsonrpc; charset=utf8

{"jsonrpc":"2.0","method":"output","params":{"source":"stderr","out":"C:\\Users\\psirv\\Anaconda3\\lib\\site-packages\\traitlets\\traitlets.py:2154: FutureWarning: Supporting extra quotes around Bytes is deprecated in traitlets 5.0. Use '7b65afe3-6949-453f-b9ca-6d4f1b0549d4' instead of 'b\"7b65afe3-6949-453f-b9ca-6d4f1b0549d4\"'.\r\n"}}Content-Length: 116
Content-Type: application/vscode-jsonrpc; charset=utf8

{"jsonrpc":"2.0","method":"log","params":{"level":"INFO","msg":"write to stderr:   FutureWarning)\r\n","pid":17564}}Content-Length: 93
Content-Type: application/vscode-jsonrpc; charset=utf8

{"jsonrpc":"2.0","method":"output","params":{"source":"stderr","out":"  FutureWarning)\r\n"}}
Warn 2021-07-08 11:32:43: Kernel 17564 as possibly died, StdErr from Kernel Process C:\Users\psirv\Anaconda3\lib\site-packages\traitlets\traitlets.py:2199: FutureWarning: Supporting extra quotes around Unicode is deprecated in traitlets 5.0. Use 'hmac-sha256' instead of '"hmac-sha256"' – or use CUnicode.

Warn 2021-07-08 11:32:43: StdErr from Kernel Process C:\Users\psirv\Anaconda3\lib\site-packages\traitlets\traitlets.py:2199: FutureWarning: Supporting extra quotes around Unicode is deprecated in traitlets 5.0. Use 'hmac-sha256' instead of '"hmac-sha256"' – or use CUnicode.

 Use '7b65afe3-6949-453f-b9ca-6d4f1b0549d4' instead of 'b"7b65afe3-6949-453f-b9ca-6d4f1b0549d4"'.

Warn 2021-07-08 11:32:43: Kernel 17564 as possibly died, StdErr from Kernel Process C:\Users\psirv\Anaconda3\lib\site-packages\traitlets\traitlets.py:2154: FutureWarning: Supporting extra quotes around Bytes is deprecated in traitlets 5.0. Use '7b65afe3-6949-453f-b9ca-6d4f1b0549d4' instead of 'b"7b65afe3-6949-453f-b9ca-6d4f1b0549d4"'.

Warn 2021-07-08 11:32:43: StdErr from Kernel Process C:\Users\psirv\Anaconda3\lib\site-packages\traitlets\traitlets.py:2154: FutureWarning: Supporting extra quotes around Bytes is deprecated in traitlets 5.0. Use '7b65afe3-6949-453f-b9ca-6d4f1b0549d4' instead of 'b"7b65afe3-6949-453f-b9ca-6d4f1b0549d4"'.

Info 2021-07-08 11:32:43: Python Daemon (pid: 17564): write to stderr:   FutureWarning)

Warn 2021-07-08 11:32:43: Kernel 17564 as possibly died, StdErr from Kernel Process   FutureWarning)

Warn 2021-07-08 11:32:43: StdErr from Kernel Process   FutureWarning)

Should be fixed in our new release, will be releasing shortly.

@Psirving, please reopen if this has not been fixed in the next release (happening very very soon)

I just updated to v2021.8.1013163132. I'm still getting the same result.

I don't think I have permission to reopen an issue which you closed.

@Psirving works for me, see here
Please could you provide logs:

Jupyter output panel
Toggle Developer tools & go into console window

My mistake, kind of.
It is working in newly created notebooks only. If I run this cell in an existing notebook, or if I make a copy of a notebook, and run that, It doesn't display. If I copy all of the contents of a notebook to a newly created notebook. It works perfectly. The logs, to me look basically the same.
Logs

Log 1, a new notebook, this displays correctly.

Info 2021-07-09 14:30:43: Execute Cells request 1 0
Info 2021-07-09 14:30:43: Execute Cell 0 untitled:Untitled-1.ipynb?jupyter-notebook
Info 2021-07-09 14:30:43: Cell Index:0, state:1, exec: 1. User queued cell for execution
Info 2021-07-09 14:30:43: Cell Index:0, state:1, exec: 1. Ready to execute
Info 2021-07-09 14:30:43: Cell Index:0, state:1, exec: 1. Before Execute individual cell
Info 2021-07-09 14:30:43: Cell Index:0, state:1, exec: 1. Start execution
Info 2021-07-09 14:30:43: Cell Index:0, state:3, exec: undefined. Send code for execution
Info 2021-07-09 14:30:43: Cell Index:0, state:3, exec: undefined. Wait for jupyter execution
Info 2021-07-09 14:30:43: Widget Coordinator sent IPyWidgets_mirror_execute
Info 2021-07-09 14:30:43: Posting message to Notebook UI
Info 2021-07-09 14:30:43: Widget Coordinator received IPyWidgets_msg_received
Info 2021-07-09 14:30:43: Widget Coordinator sent IPyWidgets_msg
Info 2021-07-09 14:30:43: Posting message to Notebook UI
Info 2021-07-09 14:30:43: Widget Coordinator sent IPyWidgets_msg
Info 2021-07-09 14:30:43: Posting message to Notebook UI
Info 2021-07-09 14:30:43: Cell Index:0, state:3, exec: undefined. Kernel switching to busy
Info 2021-07-09 14:30:43: Notebook Session status untitled:Untitled-1.ipynb?jupyter-notebook # Busy
Info 2021-07-09 14:30:43: Widget Coordinator sent IPyWidgets_msg
Info 2021-07-09 14:30:43: Posting message to Notebook UI
Info 2021-07-09 14:30:43: Widget Coordinator sent IPyWidgets_msg
Info 2021-07-09 14:30:43: Posting message to Notebook UI
Info 2021-07-09 14:30:43: Cell Index:0, state:3, exec: undefined.  Update output
Info 2021-07-09 14:30:43: Cell Index:0, state:3, exec: 3. Kernel switching to idle
Info 2021-07-09 14:30:43: Cell Index:0, state:3, exec: 3. Jupyter execution completed
Info 2021-07-09 14:30:43: Cell Index:0, state:3, exec: 3. Completed successfully
Info 2021-07-09 14:30:43: Cell Index:0, state:3, exec: 3. Completed successfully & resolving
Info 2021-07-09 14:30:43: Notebook Session status untitled:Untitled-1.ipynb?jupyter-notebook # Idle
Info 2021-07-09 14:30:43: Cell Index:0, state:3, exec: 3. After Execute individual cell 3
Info 2021-07-09 14:30:43: Cell Index:0, state:3, exec: 3. Executed successfully in executeCell
Info 2021-07-09 14:30:43: Cell Index:0, state:3, exec: 3. Execution disposed

Log 2, an existing notebook, this does not display anything.

Info 2021-07-09 14:31:38: Execute Cells request 1 0
Info 2021-07-09 14:31:38: Execute Cell 0 file:///c%3A/Users/psirving/OneDrive%20-%20University%20of%20North%20Carolina%20at%20Chapel%20Hill/GitHub/JNBTools/JNB-example/3d_test.ipynb
Info 2021-07-09 14:31:38: Cell Index:0, state:1, exec: 2. User queued cell for execution
Info 2021-07-09 14:31:38: Cell Index:0, state:1, exec: 2. Ready to execute
Info 2021-07-09 14:31:38: Cell Index:0, state:1, exec: 2. Before Execute individual cell
Info 2021-07-09 14:31:38: Cell Index:0, state:1, exec: 2. Start execution
Info 2021-07-09 14:31:38: Cell Index:0, state:3, exec: undefined. Send code for execution
Info 2021-07-09 14:31:38: Cell Index:0, state:3, exec: undefined. Wait for jupyter execution
Info 2021-07-09 14:31:38: Widget Coordinator sent IPyWidgets_mirror_execute
Info 2021-07-09 14:31:38: Posting message to Notebook UI
Info 2021-07-09 14:31:38: Widget Coordinator received IPyWidgets_msg_received
Info 2021-07-09 14:31:38: Widget Coordinator sent IPyWidgets_msg
Info 2021-07-09 14:31:38: Posting message to Notebook UI
Info 2021-07-09 14:31:38: Widget Coordinator sent IPyWidgets_msg
Info 2021-07-09 14:31:38: Posting message to Notebook UI
Info 2021-07-09 14:31:38: Cell Index:0, state:3, exec: undefined. Kernel switching to busy
Info 2021-07-09 14:31:38: Notebook Session status file:///c%3A/Users/psirving/OneDrive%20-%20University%20of%20North%20Carolina%20at%20Chapel%20Hill/GitHub/JNBTools/JNB-example/3d_test.ipynb # Busy
Info 2021-07-09 14:31:38: Widget Coordinator sent IPyWidgets_msg
Info 2021-07-09 14:31:38: Posting message to Notebook UI
Info 2021-07-09 14:31:38: Cell Index:0, state:3, exec: undefined.  Update output
Info 2021-07-09 14:31:38: Cell Index:0, state:3, exec: 3. Kernel switching to idle
Info 2021-07-09 14:31:38: Notebook Session status file:///c%3A/Users/psirving/OneDrive%20-%20University%20of%20North%20Carolina%20at%20Chapel%20Hill/GitHub/JNBTools/JNB-example/3d_test.ipynb # Idle
Info 2021-07-09 14:31:38: Cell Index:0, state:3, exec: 3. Jupyter execution completed
Info 2021-07-09 14:31:38: Cell Index:0, state:3, exec: 3. Completed successfully
Info 2021-07-09 14:31:38: Cell Index:0, state:3, exec: 3. Completed successfully & resolving
Info 2021-07-09 14:31:38: Cell Index:0, state:3, exec: 3. After Execute individual cell 3
Info 2021-07-09 14:31:38: Cell Index:0, state:3, exec: 3. Executed successfully in executeCell
Info 2021-07-09 14:31:38: Cell Index:0, state:3, exec: 3. Execution disposed

Odd, I can replicate in stable however it works in insiders.
Please could you install VS Code insiders and try this out, its possible its related to an upstream issue (in vsocde) & its been fixed there.
Appreciate your help.

Yup, works perfect with insiders. Thanks so much!

Sounds like a bug in vscode stable that's fixed in insiders.
I'll try to keep an eye out for this when the next version of vscode gets released


Custom auth method and login component (for Firebase Auth)

Describe the problem feature solves
Hi, thank heaps for this awesome OSS.
I am trying to implement Firebase Auth with Admin Bro ExpressJs.
Is this already a supported feature? If yes, can you please share with me some links or clues to the implementation?
Describe the solution you'd like
Ideally, I would like a landing login page with FirebaseUI component. And then on the server-side, it statelessly decodes the auth token from either cookie or JWT header.
Currently, I can see Admin Bro supports overiding components:
export declare type OverridableComponent = 'LoggedIn' | 'NoRecords' | 'SidebarResourceSection' | 'SidebarFooter';

But it doesn't support overriding Login Page.
Describe alternatives you've considered
I am familiar with ExpressJS. It should be quite easy to implement something like
  app.all('*', decodeAuthTokenOrRedirectToLoginPage)

  function decodeAuthTokenOrRedirectToLoginPage() {
    ...
    const claims = await firebase-admin.admin.auth().verifyIdToken(idToken)
    ...
  }

But I am not sure what is the best way to integrate with Admin Bro's existing component bundle and auth workflow.
Acceptance criteria

Firebase Auth login page
Cookie support, so that doesn't require re-login on every fresh request.
Redirect to login page when users are not logged in.

Thanks in advanced =D

Hey @wojtek-krysiak , I have just tried it a bit more. I don't think it's possible to wire Firebase Auth at the moment.
As currently from buildAuthenticatedRouter(admin: Admin, auth: { authenticate: (email: string, password: string) => unknown } , authenticate is hardcoded to require email and password on https://github.com/SoftwareBrothers/admin-bro-expressjs/blob/507c6ca99d3bd8c20f29b47eeb8a7cbf82b560a9/plugin.js#L198.

we use it (firebase) in SoftwareBrothers with one of our clients.
don't use buildAuthenticatedRouter() - you have to write your own implementation. You can take a look at the source code (it is super simple: https://github.com/SoftwareBrothers/admin-bro-expressjs/blob/master/plugin.js#L141)
Example: this is how your firebaseRouter() function should look like (modified buildAuthenticatedRouter)

router.use(session()) // with your session options

const router = express.Router()

router.get('/login', () => {
  // here you have to render login page with firebase UI
})

router.post('/login', () => {
  // here you have to take firebase token, validate it and store to the `req.session.adminUser`. It has to be of type: https://adminbro.com/AdminBro.html#CurrentAdmin so you can have avatar, etc.
// and then redirect to /admin (assuming that this is your )
})

// this is copied from authenticatedRouerCode
router.use('(req, res, next) => {
    if (AdminBro.Router.assets.find(asset => req.originalUrl.match(asset.path))) {
     // all static assets are available by default
      next()
    } else if (req.session.adminUser) {
      next()
    } else {
      // If the redirection is caused by API call to some action just redirect to resource
      const [redirectTo] = req.originalUrl.split('/actions')
      req.session.redirectTo = redirectTo.includes(`${rootPath}/api`) ? rootPath : redirectTo
      req.session.save((err) => {
        if (err) {
          next(err)
        }
        res.redirect(admin.options.loginPath)
      })
    }
  })

router.get(logoutPath, async (req, res) => {
    req.session.destroy(() => {
      res.redirect(admin.options.loginPath)
    })
  })

// and finally you add adminbro to this router
buildRouter(admin, router) // you can add formidableOptions if any as a 3rd argument

PS: in case of problems let me know on slack - will be faster there.


Column Offset

Is there a way to handle column offsets with the grid?

First off, I should note that the reason Basscss does not include any sort of .col-offset-x utilities is that these can lead to a lot of extra CSS for something that, I find, is not that widely used. If you're using one or two column offsets multiple times in your templates, you could add utilities for what you need. Or, if you're using something like UnCSS in your build process, you could consider adding a full set of these utilities.
Generally when I want something like a column offset, I'll handle it in a single layout template that other pages use, so it's easier to keep my code DRY.
Also note: if you've used column offset in the past to center columns, you can center columns in Basscss with the mx-auto utility, which sets margins on the x-axis (left/right) to auto:

centered div

The simplest way to offset columns is to use an empty div:

Offset by 3 columns

The .py1 utility ensures that the left column empty div has a minimal amount of height to push the column next to it over. Alternatively, you can use   inside the div.
If you'd like to use the flex-object, you can do this:

Offset by 3

Or, to automatically fill the remaining space, use .flex-auto.

Offset by 3

I put together a quick demo of all three of these on Codepen:
http://codepen.io/jxnblk/pen/NPLxBJ?editors=100
Let me know if you have any other questions.


chore: release master

:robot: I have created a release beep boop
button: 1.0.0
1.0.0 (2023-06-03)
Features

add button (a9c1737)

allaround-components: 1.0.0
1.0.0 (2023-06-03)
Features

add button (a9c1737)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/wholesome-ghoul/allaround-components/releases/tag/allaround-components-v1.0.0 :sunflower:

:robot: Release is at https://github.com/wholesome-ghoul/allaround-components/releases/tag/button-v1.0.0 :sunflower:


train 512 or higher resolution

I'm going to train a 512x512 face model and release it to the public under the public domain. But I met some challenge in getting 512 datasets. I have eight Tesla V100 fully paid waiting, if you could show me how to train, I would love to share the end results publicly. Mail me at<EMAIL_ADDRESS>

how is it?

how is it?

There is no progress. My training is performing poorly

this repo is amazing but higher res needed

我要训练一个512x512的面部模型,然后在公共领域发布给公众。但我在获得512个数据集方面遇到了一些挑战。我有八个特斯拉V100全薪等待,如果你能告诉我如何训练,我会很乐意公开分享最终的结果。寄给我<EMAIL_ADDRESS>
VFHQ怎样？不过是西方人脸……

how is it?


Apply localhost magic to all targets using the local transport

Use Case
Default configuration for the local transport should be updated to match the same defaults used for the localhost target.

Closed by #2589

Closed by #2589


Lovelace front end not responsive

Home Assistant release with the issue:

0.81.4
Last working Home Assistant release (if known):
0.80
Operating environment (Hass.io/Docker/Windows/etc.):

Ubuntu 16.04.5 LTS with docker 18.06.1-ce
Component/platform:

Lovelace front end
Description of problem:
The frontend is not responsive / doesn't get updated. When I switch an input_boolean it switches back after a second. Sensor info doesn't get updated.
When I switch back to the old front end, everything works as it should.
Problem-relevant configuration.yaml entries and (fill out even if it seems unimportant):
configuration.yaml
frontend:
  themes: !include theme.yaml
  javascript_version: latest

Traceback (if applicable):

Additional information:
Experienced  with:

latest versions of Safari, Chrome and Firefox on MacOS
latest version of Firefox on Ubuntu
Home Assistant Companion v1.5.0 (22) on iOS

/move to home-assistant/home-assistant-polymer


[MEDIUM] semver vulnerable to Regular Expression Denial of Service

Github reported a new dependabot security alert at: https://github.com/cdk8s-team/cdk8s-projen-common/security/dependabot/8

Not relevant anymore:
The alert you requested has been withdrawn and is no longer available.


Migrate old unit test

Initially the unit test had been done with mocha+chai. Now we are using jest. thus, the old ones need to be migrate to JEST.
Folder: tests_old

Test migrated


The selected subscriptions in previous version are not preserved after updating to the current version

Storage Explorer Version: 1.29.0-dev
Build Number: 20230316.7
Branch: main
Platform/OS: Windows 10/Linux Ubuntu 22.04/MacOS Ventura 13.2.1 (Apple M1 Pro)
Architecture: ia32/x64
How Found: From running test cases
Regression From: Previous release (1.28.1)
Steps to Reproduce

Install Storage Explorer 1.28.1.
Switch to ACCOUNT MANAGEMENT panel -> Select several subscriptions.
Uninstall Storage Explorer -> Install the current build.
Switch to ACCOUNT MANAGEMENT panel.
Check whether the selected subscriptions are preserved.

Expected Experience
The selected subscriptions are preserved.
Actual Experience
The selected subscriptions are not preserved.

@v-kellyluo when you say you "uninstalled" 1.28.0, can you elaborate on what that means? To be clear, the selected data is only preserved if you do an upgrade. If you literally uninstall, then the cached data will be removed.
In tonight's build I have added additional logging in the conversation process. If you are still able to reproduce this behavior during an upgrade, please:

Elaborate on what exactly you did
Share the Storage Explorer logs for 1.29.0-dev for each OS you reproduce the issue on

Hi @MRayermannMSFT , I uninstalled Storage Explorer on Control Panel, and then installed the current build. Verified this issue on the build main/20230319.3, it still reproduces, here are the results:

1.27.2 -> 1.28.1, the subscriptions are preserved.
1.28.1 -> 20230319.3, the subscriptions are not preserved.

Hi @MRayermannMSFT , I uninstalled Storage Explorer 1.28.1 on Control Panel, and then installed the current build. Verified this issue on the build main/20230319.3, it still reproduces, here are the results:

1.27.2 -> 1.28.1, the subscriptions are preserved.
1.28.1 -> 20230319.3, the subscriptions are not preserved.

@v-kellyluo I see selected subscriptions preserved using those steps, using build 20230319.3.
Please note that if you have previously run 1.29.0-dev on the machine then the selected subscriptions from then will be what is used when 1.29.0-dev is re-installed. So please test this on a clean machine, starting with 1.28 being the very first Storage Explorer ever installed on the machine.
If you can still repro, please share the logs from the first launch of 1.29.0-dev on the machine. Thanks.

@MRayermannMSFT , this issue doesn't reproduce on a clean machine by the following steps:

Install 1.28.0 -> Select some subscriptions -> Uninstall 1.28.0 on Control Panel.
Install 1.29.0-dev -> The subscriptions are preserved.

Ok good. That is expected. If you want to test this scenario on a non-clean machine you would have to do the following.

Open Storage Explorer
Open developer tools (F12)
Go to the "Application" tab
On that tab, look for Storage > Local Storage > file://
Click on file:// and look for the "StorageExplorer.AzureSubscriptionsManager.subscriptionCacheV2" key value pair
Click on the pair and then press the delete key, or click on the X above the list of key value pairs

Doing this will reset the 1.29.0+ selected subscriptions data, allowing you to test the upgrade process on a non-clean machine.
I'm going to close this now as it sounds to me like everything is working as expected. If you see otherwise or have any questions though, feel free to reopen the issue.

@MRayermannMSFT , thanks for the updates!
This issue doesn't reproduce after resetting the 1.29.0+ selected subscriptions data on an unclear machine.

@MRayermannMSFT , thanks for the updates!
This issue doesn't reproduce after resetting the 1.29.0+ selected subscriptions data on a non-clean machine.


Update base64 requirement from ^0.13 to ^0.20

Description
Update base64 requirement from ^0.13 to ^0.20
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #95 (08402c2) into main (8432c58) will decrease coverage by 4.65%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##             main      #95      +/-   ##
==========================================
- Coverage   42.28%   37.63%   -4.66%
==========================================
  Files          50       50
  Lines       28085    28086       +1
==========================================
- Hits        11877    10569    -1308
- Misses      16208    17517    +1309

Flag
Coverage Δ

integration
37.63% <0.00%> (-4.66%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

opensearch/src/http/transport.rs
42.18% <0.00%> (-7.62%)
:arrow_down:

opensearch/src/indices.rs
38.98% <0.00%> (-8.90%)
:arrow_down:

yaml_test_runner/tests/common/client.rs
87.87% <0.00%> (-6.07%)
:arrow_down:

opensearch/src/root/mod.rs
31.02% <0.00%> (-5.65%)
:arrow_down:

opensearch/src/cat.rs
40.41% <0.00%> (-5.35%)
:arrow_down:

opensearch/src/cluster.rs
38.59% <0.00%> (-3.91%)
:arrow_down:

yaml_test_runner/src/step/skip.rs
85.91% <0.00%> (-2.82%)
:arrow_down:

yaml_test_runner/src/skip.rs
92.50% <0.00%> (-2.50%)
:arrow_down:

opensearch/src/http/response.rs
16.18% <0.00%> (-2.32%)
:arrow_down:

... and 4 more

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

@Xtansia Are we concerned with the compatibility CI failing?

@dblock There seems to be a pathological failing for testing unreleased 1.x (also affecting #91), the tests succeed locally but are hitting resource limits when running in GitHub Actions. I've tried running them with no changes from main, but it consistently fails with

@dblock There seems to be a pathological failing for testing unreleased 1.x (also affecting #91), the tests succeed locally but are hitting resource limits when running in GitHub Actions. I've tried running them with no changes from main, but it consistently fails with

Want to PR removing those and open an issue for now?


better handle expressjs errors by adding .next when error occures

I would really benefit from this feature. At the moment I'm using Express + Sequelize, and the database password is rotated every 90 days. I want to be able to update the password adminbro is using programatically, but at the moment I've no easy way of intercepting the error. I can see SequelizeAccessDeniedError: being thrown in the console log, but that's about it.

fixed