DOCKER-USER chain not created when IPTableEnable=false.

This fix addresses https://docker.atlassian.net/browse/ENGCORE-1115
Expected behaviors upon docker engine restarts:

IPTableEnable=true, DOCKER-USER chain present
-- no change to DOCKER-USER chain
IPTableEnable=true, DOCKER-USER chain not present
-- DOCKER-USER chain created and inserted top of FORWARD
chain.
IPTableEnable=false, DOCKER-USER chain present
-- no change to DOCKER-USER chain
the rational is that DOCKER-USER is populated
and may be used by end-user for purpose other than
filtering docker container traffic. Thus even if
IPTableEnable=false, docker engine does not touch
pre-existing DOCKER-USER chain.
IPTableEnable=false, DOCKER-USER chain not present
-- DOCKER-USER chain is not created.

Please sign your commits following these rules:
https://github.com/moby/moby/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "master" git@github.com:suwang48404/libnetwork.git somewhere
$ cd somewhere
$ git commit --amend -s --no-edit
$ git push -f

Amending updates the existing PR. You DO NOT need to open a new one.

@arkodg @selansen @euanh @chiragtayal

@joeabbey

Some useful documentation in this area -
https://docs.docker.com/network/iptables/
This wont take care of the cases where DOCKER-INGRESS is created if there are services running
IMHO a clean way to fix this could be to incorporate this flag into
https://github.com/docker/libnetwork/blob/master/iptables/iptables.go and error out from functions such as NewChain or ProgramChain if the flag is disabled with an error saying iptables is disabled in config

Some useful documentation in this area -
https://docs.docker.com/network/iptables/
This wont take care of the cases where DOCKER-INGRESS is created if there are services running
IMHO a clean way to fix this could be to incorporate this flag into
https://github.com/docker/libnetwork/blob/master/iptables/iptables.go and error out from functions such as NewChain or ProgramChain if the flag is disabled with an error saying iptables is disabled in config

-- in most common container use cases (network mode=bridge, overlay), I feel "iptables=false" should be ignore even if it is set. This is because without docker engine manipulate iptables for NATting/forwarding rules, connectivity to those container are broken.

I know that there's definitely users running with --iptables=false; their use case is that they don't want docker to automatically expose ports / traffic to the containers, and they manually set up rules to make networking work

@thaJeztah
Hi Sebastiaan, can u please help review. As this will eventually be moved to dockerd?
thx, Su

@thaJeztah I have taken ur firewall_test.go, it is much cleaner, thanks alot.
Beyond that, let me know if there is anything else I should address.
thx, Su

@suwang48404 , changes look good to me. If I remember correctly there were few places I mentioned #2339 that this code path fix didnt cover.  Can you pls take a look and let me know if that is ok. coping from #2339 PR comment.
fwMarker()
redirector()
programIngress()

with the PR, I don't think we are covering these code path. we might end up leaving the daemon iptable configuration in faulty state.```

@suwang48404 , changes look good to me. If I remember correctly there were few places I mentioned #2339 that this code path fix didnt cover. Can you pls take a look and let me know if that is ok. coping from #2339 PR comment.
fwMarker()
redirector()
programIngress()

with the PR, I don't think we are covering these code path. we might end up leaving the daemon iptable configuration in faulty state.```

@selansen The fix is pointed fix for docekr-user chain only. The iptable usage is pervasive in libnetwork, we do not have a good understanding and/or test metrics to confidently disable all iptable programming  when iptable=false. IMHO, the risk is to0 high for such general fix.

@euanh @arkodg can u guys help reviewing?

@thaJeztah PTAL ?  it looks good to me . wanted to make sure your review comments are updated and you approve this one.

PTAL @selansen @thaJeztah


Support dataframes for k-means

Fixes #390
I went with the easier approach of just forcing chunk lengths.  I did this after I realized that we're going to be doing multiple passes anyway.

Looks like tests/test_kmeans.py::TestKMeans::test_dask_dataframe_raises will need to be removed.


process is terminated due to stackoverflowexception

I am using windows 7 and ILMerge is installed in "C:\Program Files\Microsoft".
When I am trying to merge four Dll files into single one, it is throwing "process is terminated due to stackoverflowexception" exception. Below command is used:
"ilmerge /out:Merged.dll Number1.dll Microsoft.SharePoint.Client.dll Microsoft.SharePoint.Client.Runtime.dll Microsoft.Xrm.Sdk.Deployment.dll"
Any suggestion/workaround would be helpful.
Thanks

If you can add the /log option and send/post the resulting file then that might help figure it out.
Thanks!
Mike
From: KushalMaz<EMAIL_ADDRESS>Sent: Tuesday, February 6, 2018 6:06 AM
To: Microsoft/ILMerge<EMAIL_ADDRESS>Cc: Subscribed<EMAIL_ADDRESS>Subject: [Microsoft/ILMerge] process is terminated due to stackoverflowexception (#37)
I am using windows 7 and ILMerge is installed in "C:\Program Files\Microsoft".
When I am trying to merge four Dll files into single one, it is throwing "process is terminated due to stackoverflowexception" exception. Below command is used:
"ilmerge /out:Merged.dll Number1.dll Microsoft.SharePoint.Client.dll Microsoft.SharePoint.Client.Runtime.dll Microsoft.Xrm.Sdk.Deployment.dll"
Any suggestion/workaround would be helpful.
Thanks
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoft%2FILMerge%2Fissues%2F37&data=02|01|Michael.Barnett%40microsoft.com|fe2463370c4e49efa3f808d56d6ab1f9|ee3303d7fb734b0c8589bcd847f1c277|1|0|636535227369621964&sdata=5O%2FvtgHKj7JnI6SXAD%2FOCavYF2bZJFB9xguixrnM9oE%3D&reserved=0, or mute the threadhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAFbk1Aomddcmd2go5FWnWqlCMpQGONOIks5tSFwvgaJpZM4R7GdG&data=02|01|Michael.Barnett%40microsoft.com|fe2463370c4e49efa3f808d56d6ab1f9|ee3303d7fb734b0c8589bcd847f1c277|1|0|636535227369621964&sdata=315Vzrq9O5FTHoC5uSqBYIih1xMyYtu%2BrPsQflhtzrI%3D&reserved=0.


vela show webservice does not show exposeType

In kubevela 1.2.4, the vela show webservice command does not show the exposeType parameter.

the exposeType parameter default to ClusterIP, other options include NodePort/LoadBalancer/ExternalName

Investigating this problem.

This field is tagged by // +ignore. This cause it invisible in vela show. You can check it by
vela def get webservice| grep -C 5 exposeType

If you wanna see it again. use vela def edit webservic to remove this tag in CUE.
Closing. Feel free to reopen it if you have more questions.


Wish for Rahul Patel

I'll keep it my natural color. Just get my waves all wavy. Straight Stylin'.

Great! Add that to your file :-)

Congrats on the merge!


CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC is not right for acrn_defconfig

Describe the bug
defconfig for x86 acrn boards declares:
# boards/x86/acrn/acrn_defconfig
CONFIG_APIC_TSC_DEADLINE_TIMER=y
CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC=25000000

This is definitely not right as TSC frequency is the CPU Core Freq which should not be 25MHz small.
Please also mention any information which could help others to understand
the problem you're facing:

What target platform are you using? x86
What have you tried to diagnose or workaround this issue? Runing a sleep test app.

Impact
Time/timeout not work correctly.

@bensenq would you like to submit a pull request to fix this?

@nashif @dcpleung @najumon1980 fyi

Yes this is wrong and TSC APIC timer frequency will be the processor’s bus clock or core crystal clock frequency divided by the value specified in the divide configuration register. But core clock frequency varies from platform to platform and even with different SKUs (for Intel platforms it usually from ~1GHz to ~4GHz).  But even with same platform type (for different SKU) this can be changed. So best way is read via CPUID/MSR and then configure dynamically instead of kernel/app using via static macro CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC. But this might need a wider discussion.

it seems dynamic reading supported if CONFIG_TIMER_READS_ITS_FREQUENCY_AT_RUNTIME enabled. But looks currently it not implemented for APIC timer driver. Also the kernel/test codes still using CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC instead of using sys_clock_hw_cycles_per_sec() and this also need to fix.

@bensenq would you like to submit a pull request to fix this?

why not just use HPET or APIC Timer? It seems to be more stable.
# TSC on this board is 1.9 GHz, HPET and APIC are 19.2 MHz
config SYS_CLOCK_HW_CYCLES_PER_SEC
        default<PHONE_NUMBER> if APIC_TSC_DEADLINE_TIMER
        default<PHONE_NUMBER> if APIC_TIMER_TSC
        default 19200000

Created a PR:https://github.com/zephyrproject-rtos/zephyr/pull/69705 for the issue and please have a look:

@bensenq would you like to submit a pull request to fix this?

why not just use HPET or APIC Timer? It seems to be more stable.
# TSC on this board is 1.9 GHz, HPET and APIC are 19.2 MHz
config SYS_CLOCK_HW_CYCLES_PER_SEC
        default<PHONE_NUMBER> if APIC_TSC_DEADLINE_TIMER
        default<PHONE_NUMBER> if APIC_TIMER_TSC
        default 19200000

APIC/TSC timer clock frequency will be varied with platform to platform as well SKUs within same platforms. So we need to use run time support for Intel platforms.


target.schema should return the schema for the environment being evaluated

dbt users expect target.schema to point to the schema for their active environment (aka target). sqlmesh should match that behavior to support run-time adapter queries that dynamically fetch tables.

@crericha is this still an issue?

Yes, still an issue. target.schema will point to prod. It's unclear to me what schema should be provided as the snapshot may be shared by multiple environments. We'll need to talk through this one.


Turn off codecov comments

This turns off codecov commenting in PRs, in favour of the codecov status checks reported alongside the GH actions status.

@adamltyson it looks like the codecov app needs installing on this repo to get codecov to show up in the list of checks

@dstansby I think I set everything up correctly, but I also gave you permissions to edit settings yourself.
The actions workflow has this error though:
[2023-03-24T16:05:20.638Z] ['error'] There was an error running the uploader: No coverage files located, please try use `-f`, or change the project root with `-R`

Ah, it's because there aren't any tests in this repo 😄  - I'll close this.


How does string comparison work?

My Environment
ArangoDB Version: 3.9.1
Deployment Mode: Single Server
Deployment Strategy: Manual Start in Docker
Configuration: Default
Infrastructure: own
Operating System: Windows
Total RAM in your machine: 32Gb
Disks in use: HDD
Used Package: official Docker library
Component, Query & Data
AQL
RETURN "?" > "0"

Result
[
  false
]

Question:
I'm not sure if this is a bug or an expected behavior. Does AQL implement its own character order for comparison? I was expecting "?" > "0" to return true since ? has a higher ASCII value than 0.
For context I store incomplete dates in the YYYY-MM-DD format, where if a part is not known it is filled with ?. So I can have a date like ????-05-01. I was hoping that this date can after 2022-01-01 after SORT ASC.

Strings are sorted and compared using ICU. The order depends on the selected server language (--icu-language or --default-language respectively).
https://www.arangodb.com/docs/stable/programs-arangod-general.html#default-language

Do you know if there is a way to tell ICU to order the characters by their ASCII values?

I played around on https://icu4c-demos.unicode.org/icu-bin/collation.html and I don't see a way to do this. It looks like I'll have to find a workaround from my end. Thank you for your response!


Fix import of from deepspeech.model import Model

This fixes the code with deepspeech==0.1.0 which I installed an hour ago.

I can double check later, but I think this will cause an error in any version of deepspeech greater than 0.2.0 (the current version is 0.3.0).

You are right, I just ran sudo pip install deepspeech --upgrade and got version 0.3.0. Then my PR is not needed indeed.


chore: bdd-sbrp-import-1585588915 to 0.0.1

chore: Promote bdd-sbrp-import-1585588915 to version 0.0.1

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


python312Packages.azure-mgmt-logic: remove msrestazure dependency

The dependency is unused and deprecated, so remove it. Modernizations to move to pyproject = true; are included as well.
part of #350657
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
25.05 Release Notes (or backporting 24.11 and 25.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 362156 run on aarch64-linux 1

4 packages built:

python311Packages.azure-mgmt-logic
python311Packages.azure-mgmt-logic.dist
python312Packages.azure-mgmt-logic
python312Packages.azure-mgmt-logic.dist


EPIC - Project

All Glyphs
Versions
Test Texts
Free Text Input
News

This mockup was created by @justus-hildebrand


test hf computer vision example

Will never finish within the required amount of time. We should consider deleting these.


Update attribute_driven and unit tests to new cookbook name

The lwrp names also need to be updated.
Have also included gems used for unit tests and got them passing.

Oops I missed test/support/Gemfile.ci
I have force pushed the commit without a change to the Gemfile

Thanks, @lukerobins.


Support remark-lint installed locally with new test

Support remark-lint installed locally and enables lint without saving it to disk.
I rebased #1711 onto master, and applied feedback.

There are some missing lines in the documentation, but I'll fix those. Otherwise this looks just fine to me. Cheers! :beers:


EVE-NG ClearPass UN/PW

Hello, I am trying to set up ClearPass in my lab, but the UN/PW in the passwords page is not working for me. Please help.

boa tarde estou tentado baixar imagem iol ou dinamica e fotinet


Score system chip

Add a chip that displays your score

Andrew added https://github.com/hto-projects/friendpardy/pull/121


feat(loadbalancing): add fail-open monitoring

Fixes #532
This pull request adds fail-open monitoring to our Load Balancing monitors.
To give context about fail open (ref):

If a target group contains only unhealthy registered targets, the load balancer routes requests to all those targets, regardless of their health status. This means that if all targets fail health checks at the same time in all enabled Availability Zones, the load balancer fails open. The effect of the fail-open is to allow traffic to all targets in all enabled Availability Zones, regardless of their health status, based on the load balancing algorithm

Adding this metric will give better visibility into whether the Load Balancer's fail open routing was used during incidents. The metrics added as part of this pull request are in line with the AWS documentation:

UnhealthyRoutingRequestCount for ApplicationLoadBalancer with LoadBalancer and TargetGroup dimensions (ref)
UnhealthyRoutingFlowCount for NetworkLoadBalancer with LoadBalancer dimension (ref)

These metrics are reported conditionally, only when they have nonzero values. Thus, I added a FILL(metric, 0) metric math to correctly represent the values on the dashboards.
Tested with NetworkLoadBalancer, as that's the setup I have on my account - the ApplicationLoadBalancer values are based only on the documentation.
Discussion point: I added metricUnhealthyRoutingCount to the ILoadBalancerMetricFactory interface, which is exported from the package. This means, that this commit theoretically introduced a breaking change for customers that extended the library with their own classes that implement this interface. How do you approach such changes in this library Should this commit be considered a breaking change and released in a new major version or is this overly cautious?

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license

Should this commit be considered a breaking change and released in a new major version or is this overly cautious?

A quick skim over internal codebases and a GitHub code search doesn't seem to reveal any such usages, so I'd consider it relatively safe.
If it turns out I'm wrong and you've ended up here, please open up an issue if this is a problem for your setup.


Krystle5183's file

created a branch, created a file and made a commit, and opened a pull request

nice


🐛 Bug Report: New installation cannot compile. Issues in @mui modules

📜 Description
I just started a new Backstage project on my Fedora 40 WSL system.
After installing prerequisites and then the npx command, I went into the new directory and ran yarn dev. After a while, my browser opened to an error page
👍 Expected behavior
A fresh install should compile and display a functioning webpage.
👎 Actual Behavior with Screenshots
After running yarn dev, I get an error page in the browser:

See below for the console output
👟 Reproduction steps

sudo dnf install make gcc gcc-c++ python3
nvm install --lts
npx @backstage/create-app@latest
cd backstage && yarn dev

📃 Provide the context for the Bug.

console output
$ yarn dev
yarn run v1.22.22
$ concurrently "yarn start" "yarn start-backend"
[0] $ yarn workspace app start
[1] $ yarn workspace backend start
[1] $ backstage-cli package start
[0] $ backstage-cli package start
[0] Loaded config from app-config.yaml
[0] <i> [webpack-dev-server] Project is running at:
[0] <i> [webpack-dev-server] Loopback: http://localhost:3000/, http://[::1]:3000/
[0] <i> [webpack-dev-server] Content not from webpack is served from '/home/cas/git/backstage/packages/app/public' directory
[0] <i> [webpack-dev-server] 404s will fallback to '/index.html'
[1] Loading config from MergedConfigSource{FileConfigSource{path="/home/cas/git/backstage/app-config.yaml"}, FileConfigSource{path="/home/cas/git/backstage/app-config.local.yaml"}, EnvConfigSource{count=0}}
[0] <i> [webpack-dev-middleware] wait until bundle finished: /
[1] 2024-07-17T09:51:21.616Z backstage info Found 1 new secrets in config that will be redacted
[1] 2024-07-17T09:51:21.624Z rootHttpRouter info Listening on :7007
[1] 2024-07-17T09:51:21.625Z backstage info Plugin initialization started: 'app', 'proxy', 'scaffolder', 'techdocs', 'auth', 'catalog', 'permission', 'search' type=initialization
[1] 2024-07-17T09:51:21.694Z search warn Postgres search engine is not supported, skipping registration of search-backend-module-pg
[1] 2024-07-17T09:51:21.718Z permission warn Permission backend started with permissions disabled. Enable permissions by setting permission.enabled=true.
[1] 2024-07-17T09:51:21.723Z auth info Configuring "database" as KeyStore provider
[1] 2024-07-17T09:51:21.725Z techdocs info Creating Local publisher for TechDocs
[1] 2024-07-17T09:51:21.732Z scaffolder info Starting scaffolder with the following actions enabled fetch:plain, fetch:plain:file, fetch:template, debug:log, debug:wait, catalog:register, catalog:fetch, catalog:write, fs:delete, fs:rename
[1] 2024-07-17T09:51:21.735Z catalog info Performing database migration
[1] 2024-07-17T09:51:21.736Z search info Added DefaultCatalogCollatorFactory collator factory for type software-catalog
[1] 2024-07-17T09:51:21.736Z search info Added DefaultTechDocsCollatorFactory collator factory for type techdocs
[1] 2024-07-17T09:51:21.821Z auth info Configuring auth provider: guest
[1] 2024-07-17T09:51:21.966Z search info Starting all scheduled search tasks.
[1] 2024-07-17T09:51:21.968Z backstage info Plugin initialization complete, newly initialized: 'proxy', 'permission', 'techdocs', 'search', 'app', 'auth', 'scaffolder', 'catalog' type=initialization
[1] 2024-07-17T09:51:22.061Z search info Task worker starting: search_index_software_catalog, {"version":2,"cadence":"PT10M","initialDelayDuration":"PT3S","timeoutAfterDuration":"PT15M"} task=search_index_software_catalog
[1] 2024-07-17T09:51:22.062Z search info Task worker starting: search_index_techdocs, {"version":2,"cadence":"PT10M","initialDelayDuration":"PT3S","timeoutAfterDuration":"PT15M"} task=search_index_techdocs
[1] 2024-07-17T09:51:25.064Z search info Collating documents for software-catalog via DefaultCatalogCollatorFactory documentType=software-catalog
[1] 2024-07-17T09:51:25.075Z search info Collating documents for techdocs via DefaultTechDocsCollatorFactory documentType=techdocs
[1] 2024-07-17T09:51:25.084Z rootHttpRouter info ::1 - - [17/Jul/2024:09:51:25 +0000] "GET /api/catalog/.backstage/auth/v1/jwks.json HTTP/1.1" 200 11 "-" "node" type=incomingRequest
[1] 2024-07-17T09:51:25.090Z backstage info Created new signing key 70cfe5df-20c1-46d0-90ad-7a016e63efaf
[1] 2024-07-17T09:51:25.102Z rootHttpRouter info ::1 - - [17/Jul/2024:09:51:25 +0000] "GET /api/search/.backstage/auth/v1/jwks.json HTTP/1.1" 200 196 "-" "node" type=incomingRequest
[1] 2024-07-17T09:51:25.108Z rootHttpRouter info ::1 - - [17/Jul/2024:09:51:25 +0000] "GET /api/search/.backstage/auth/v1/jwks.json HTTP/1.1" 200 196 "-" "jose/v5.6.3" type=incomingRequest
[1] 2024-07-17T09:51:25.111Z rootHttpRouter info ::1 - - [17/Jul/2024:09:51:25 +0000] "GET /api/search/.backstage/auth/v1/jwks.json HTTP/1.1" 200 196 "-" "jose/v5.6.3" type=incomingRequest
[1] 2024-07-17T09:51:25.125Z rootHttpRouter info ::1 - - [17/Jul/2024:09:51:25 +0000] "GET /api/catalog/entities?limit=500&filter=metadata.annotations.backstage.io%2Ftechdocs-ref&offset=0 HTTP/1.1" 200 2 "-" "node-fetch/1.0 (+https://github.com/bitinn/node-fetch)" type=incomingRequest
[1] 2024-07-17T09:51:25.129Z search warn Index for techdocs was not created: indexer received 0 documents documentType=techdocs
[1] 2024-07-17T09:51:25.129Z search info Collating documents for techdocs succeeded documentType=techdocs
[1] 2024-07-17T09:51:25.133Z rootHttpRouter info ::1 - - [17/Jul/2024:09:51:25 +0000] "GET /api/catalog/entities?limit=500&offset=0 HTTP/1.1" 200 - "-" "node-fetch/1.0 (+https://github.com/bitinn/node-fetch)" type=incomingRequest
[1] 2024-07-17T09:51:25.139Z search info Collating documents for software-catalog succeeded documentType=software-catalog
[0] WARNING in<EMAIL_ADDRESS>26:49-69
[0] export 'StyledEngineProvider' (imported as 'StyledEngineProvider') was not found in '@mui/material/styles' (possible exports: Experimental_CssVarsProvider, THEME_ID, ThemeProvider, adaptV4Theme, createMuiTheme, createStyles, createTheme, duration, easing, experimentalStyled, experimental_extendTheme, experimental_sx, getInitColorSchemeScript, getOverlayAlpha, makeStyles, private_createMixins, private_createTypography, private_excludeVariablesFromRoot, responsiveFontSizes, shouldSkipGeneratingVar, styled, unstable_createMuiStrictModeTheme, unstable_getUnit, unstable_toUnitless, useColorScheme, useTheme, useThemeProps, withStyles, withTheme)
[0]
[0] WARNING in<EMAIL_ADDRESS>26:59-66
[0] export 'lighten' (imported as 'lighten') was not found in '@mui/material/styles' (possible exports: Experimental_CssVarsProvider, THEME_ID, ThemeProvider, adaptV4Theme, createMuiTheme, createStyles, createTheme, duration, easing, experimentalStyled, experimental_extendTheme, experimental_sx, getInitColorSchemeScript, getOverlayAlpha, makeStyles, private_createMixins, private_createTypography, private_excludeVariablesFromRoot, responsiveFontSizes, shouldSkipGeneratingVar, styled, unstable_createMuiStrictModeTheme, unstable_getUnit, unstable_toUnitless, useColorScheme, useTheme, useThemeProps, withStyles, withTheme)
[0]
[0] WARNING in<EMAIL_ADDRESS>26:104-110
[0] export 'darken' (imported as 'darken') was not found in '@mui/material/styles' (possible exports: Experimental_CssVarsProvider, THEME_ID, ThemeProvider, adaptV4Theme, createMuiTheme, createStyles, createTheme, duration, easing, experimentalStyled, experimental_extendTheme, experimental_sx, getInitColorSchemeScript, getOverlayAlpha, makeStyles, private_createMixins, private_createTypography, private_excludeVariablesFromRoot, responsiveFontSizes, shouldSkipGeneratingVar, styled, unstable_createMuiStrictModeTheme, unstable_getUnit, unstable_toUnitless, useColorScheme, useTheme, useThemeProps, withStyles, withTheme)
[0]
[0] WARNING in<EMAIL_ADDRESS>29:59-66
[0] export 'lighten' (imported as 'lighten') was not found in '@mui/material/styles' (possible exports: Experimental_CssVarsProvider, THEME_ID, ThemeProvider, adaptV4Theme, createMuiTheme, createStyles, createTheme, duration, easing, experimentalStyled, experimental_extendTheme, experimental_sx, getInitColorSchemeScript, getOverlayAlpha, makeStyles, private_createMixins, private_createTypography, private_excludeVariablesFromRoot, responsiveFontSizes, shouldSkipGeneratingVar, styled, unstable_createMuiStrictModeTheme, unstable_getUnit, unstable_toUnitless, useColorScheme, useTheme, useThemeProps, withStyles, withTheme)
[0]
[0] WARNING in<EMAIL_ADDRESS>29:104-110
[0] export 'darken' (imported as 'darken') was not found in '@mui/material/styles' (possible exports: Experimental_CssVarsProvider, THEME_ID, ThemeProvider, adaptV4Theme, createMuiTheme, createStyles, createTheme, duration, easing, experimentalStyled, experimental_extendTheme, experimental_sx, getInitColorSchemeScript, getOverlayAlpha, makeStyles, private_createMixins, private_createTypography, private_excludeVariablesFromRoot, responsiveFontSizes, shouldSkipGeneratingVar, styled, unstable_createMuiStrictModeTheme, unstable_getUnit, unstable_toUnitless, useColorScheme, useTheme, useThemeProps, withStyles, withTheme)
[0]
[0] WARNING in<EMAIL_ADDRESS>111:17-23
[0] export 'darken' (imported as 'darken') was not found in '@mui/material/styles' (possible exports: Experimental_CssVarsProvider, THEME_ID, ThemeProvider, adaptV4Theme, createMuiTheme, createStyles, createTheme, duration, easing, experimentalStyled, experimental_extendTheme, experimental_sx, getInitColorSchemeScript, getOverlayAlpha, makeStyles, private_createMixins, private_createTypography, private_excludeVariablesFromRoot, responsiveFontSizes, shouldSkipGeneratingVar, styled, unstable_createMuiStrictModeTheme, unstable_getUnit, unstable_toUnitless, useColorScheme, useTheme, useThemeProps, withStyles, withTheme)
[0]
[0] WARNING in<EMAIL_ADDRESS>112:22-29
[0] export 'lighten' (imported as 'lighten') was not found in '@mui/material/styles' (possible exports: Experimental_CssVarsProvider, THEME_ID, ThemeProvider, adaptV4Theme, createMuiTheme, createStyles, createTheme, duration, easing, experimentalStyled, experimental_extendTheme, experimental_sx, getInitColorSchemeScript, getOverlayAlpha, makeStyles, private_createMixins, private_createTypography, private_excludeVariablesFromRoot, responsiveFontSizes, shouldSkipGeneratingVar, styled, unstable_createMuiStrictModeTheme, unstable_getUnit, unstable_toUnitless, useColorScheme, useTheme, useThemeProps, withStyles, withTheme)
[0]
[0] ERROR in<EMAIL_ADDRESS>3:0-76
[0] Module not found: Error: Can't resolve '@mui/system/InitColorSchemeScript' in '/home/cas/git/backstage/node_modules/@mui/material/InitColorSchemeScript'
[0]
[0] ERROR in<EMAIL_ADDRESS>7:0-86
[0] Module not found: Error: Can't resolve '@mui/system' in '/home/cas/git/backstage/node_modules/@mui/material/styles'
[0]
[0] ERROR in<EMAIL_ADDRESS>8:0-58
[0] Module not found: Error: Can't resolve '@mui/system/styleFunctionSx' in '/home/cas/git/backstage/node_modules/@mui/material/styles'
[0]
[0] ERROR in<EMAIL_ADDRESS>8:0-67
[0] Module not found: Error: Can't resolve '@mui/system' in '/home/cas/git/backstage/node_modules/@mui/material/styles'
[0]
[0] ERROR in<EMAIL_ADDRESS>5:0-63
[0] Module not found: Error: Can't resolve '@mui/system' in '/home/cas/git/backstage/node_modules/@mui/material/styles'
[0]
[0] ERROR in<EMAIL_ADDRESS>6:0-81
[0] Module not found: Error: Can't resolve '@mui/system/colorManipulator' in '/home/cas/git/backstage/node_modules/@mui/material/styles'
[0]
[0] ERROR in<EMAIL_ADDRESS>6:0-107
[0] Module not found: Error: Can't resolve '@mui/system/styleFunctionSx' in '/home/cas/git/backstage/node_modules/@mui/material/styles'
[0]
[0] ERROR in<EMAIL_ADDRESS>7:0-56
[0] Module not found: Error: Can't resolve '@mui/system/createTheme' in '/home/cas/git/backstage/node_modules/@mui/material/styles'
[0]
[0] ERROR in<EMAIL_ADDRESS>6:0-123
[0] Module not found: Error: Can't resolve '@mui/system' in '/home/cas/git/backstage/node_modules/@mui/material/styles'
[0]
[0] ERROR in<EMAIL_ADDRESS>7:0-107
[0] Module not found: Error: Can't resolve '@mui/system/styleFunctionSx' in '/home/cas/git/backstage/node_modules/@mui/material/styles'
[0]
[0] ERROR in<EMAIL_ADDRESS>8:0-244
[0] Module not found: Error: Can't resolve '@mui/system/colorManipulator' in '/home/cas/git/backstage/node_modules/@mui/material/styles'
[0]
[0] ERROR in<EMAIL_ADDRESS>6:0-174
[0] Module not found: Error: Can't resolve '@mui/system' in '/home/cas/git/backstage/node_modules/@mui/material/styles'
[0]
[0] ERROR in<EMAIL_ADDRESS>3:0-52
[0] Module not found: Error: Can't resolve '@mui/system/createStyled' in '/home/cas/git/backstage/node_modules/@mui/material/styles'
[0]
[0] ERROR in<EMAIL_ADDRESS>4:0-57
[0] Module not found: Error: Can't resolve '@mui/system' in '/home/cas/git/backstage/node_modules/@mui/material/styles'
[0]
[0] ERROR in<EMAIL_ADDRESS>3:0-60
[0] Module not found: Error: Can't resolve '@mui/system/useThemeProps' in '/home/cas/git/backstage/node_modules/@mui/material/styles'
[0]
[0] webpack compiled with 15 errors and 7 warnings

🖥 Your Environment
yarn run v1.22.22
$ /home/cas/git/backstage/node_modules/.bin/backstage-cli info
OS:   Linux <IP_ADDRESS>-microsoft-standard-WSL2 - linux/x64
node: v20.15.1
yarn: 1.22.22
cli:  0.26.11 (installed)
backstage:  1.29.0

Dependencies:
  @backstage/app-defaults                                          1.5.8
  @backstage/backend-app-api                                       0.8.0
  @backstage/backend-common                                        0.23.3
  @backstage/backend-defaults                                      0.4.1
  @backstage/backend-dev-utils                                     0.1.4
  @backstage/backend-openapi-utils                                 0.1.15
  @backstage/backend-plugin-api                                    0.7.0
  @backstage/backend-tasks                                         0.5.27
  @backstage/catalog-client                                        1.6.5
  @backstage/catalog-model                                         1.5.0
  @backstage/cli-common                                            0.1.14
  @backstage/cli-node                                              0.2.7
  @backstage/cli                                                   0.26.11
  @backstage/config-loader                                         1.8.1
  @backstage/config                                                1.2.0
  @backstage/core-app-api                                          1.14.0
  @backstage/core-compat-api                                       0.2.7
  @backstage/core-components                                       0.14.9
  @backstage/core-plugin-api                                       1.9.3
  @backstage/e2e-test-utils                                        0.1.1
  @backstage/errors                                                1.2.4
  @backstage/eslint-plugin                                         0.1.8
  @backstage/frontend-plugin-api                                   0.6.7
  @backstage/integration-aws-node                                  0.1.12
  @backstage/integration-react                                     1.1.29
  @backstage/integration                                           1.13.0
  @backstage/plugin-api-docs                                       0.11.7
  @backstage/plugin-app-backend                                    0.3.71
  @backstage/plugin-app-node                                       0.1.22
  @backstage/plugin-auth-backend-module-atlassian-provider         0.2.3
  @backstage/plugin-auth-backend-module-aws-alb-provider           0.1.14
  @backstage/plugin-auth-backend-module-azure-easyauth-provider    0.1.5
  @backstage/plugin-auth-backend-module-bitbucket-provider         0.1.5
  @backstage/plugin-auth-backend-module-cloudflare-access-provider 0.1.5
  @backstage/plugin-auth-backend-module-gcp-iap-provider           0.2.17
  @backstage/plugin-auth-backend-module-github-provider            0.1.19
  @backstage/plugin-auth-backend-module-gitlab-provider            0.1.19
  @backstage/plugin-auth-backend-module-google-provider            0.1.19
  @backstage/plugin-auth-backend-module-guest-provider             0.1.8
  @backstage/plugin-auth-backend-module-microsoft-provider         0.1.17
  @backstage/plugin-auth-backend-module-oauth2-provider            0.2.3
  @backstage/plugin-auth-backend-module-oauth2-proxy-provider      0.1.15
  @backstage/plugin-auth-backend-module-oidc-provider              0.2.3
  @backstage/plugin-auth-backend-module-okta-provider              0.0.15
  @backstage/plugin-auth-backend-module-onelogin-provider          0.1.3
  @backstage/plugin-auth-backend                                   0.22.9
  @backstage/plugin-auth-node                                      0.4.17
  @backstage/plugin-auth-react                                     0.1.4
  @backstage/plugin-bitbucket-cloud-common                         0.2.21
  @backstage/plugin-catalog-backend-module-logs                    0.0.1
  @backstage/plugin-catalog-backend-module-scaffolder-entity-model 0.1.20
  @backstage/plugin-catalog-backend                                1.24.0
  @backstage/plugin-catalog-common                                 1.0.25
  @backstage/plugin-catalog-graph                                  0.4.7
  @backstage/plugin-catalog-import                                 0.12.1
  @backstage/plugin-catalog-node                                   1.12.4
  @backstage/plugin-catalog-react                                  1.12.2
  @backstage/plugin-catalog                                        1.21.1
  @backstage/plugin-events-node                                    0.3.8
  @backstage/plugin-org                                            0.6.27
  @backstage/plugin-permission-backend-module-allow-all-policy     0.1.19
  @backstage/plugin-permission-backend                             0.5.46
  @backstage/plugin-permission-common                              0.8.0
  @backstage/plugin-permission-node                                0.8.0
  @backstage/plugin-permission-react                               0.4.24
  @backstage/plugin-proxy-backend                                  0.5.3
  @backstage/plugin-scaffolder-backend-module-azure                0.1.14
  @backstage/plugin-scaffolder-backend-module-bitbucket-cloud      0.1.12
  @backstage/plugin-scaffolder-backend-module-bitbucket-server     0.1.12
  @backstage/plugin-scaffolder-backend-module-bitbucket            0.2.12
  @backstage/plugin-scaffolder-backend-module-gerrit               0.1.14
  @backstage/plugin-scaffolder-backend-module-gitea                0.1.12
  @backstage/plugin-scaffolder-backend-module-github               0.4.0
  @backstage/plugin-scaffolder-backend-module-gitlab               0.4.4
  @backstage/plugin-scaffolder-backend                             1.23.0
  @backstage/plugin-scaffolder-common                              1.5.4
  @backstage/plugin-scaffolder-node                                0.4.8
  @backstage/plugin-scaffolder-react                               1.10.0
  @backstage/plugin-scaffolder                                     1.23.0
  @backstage/plugin-search-backend-module-catalog                  0.1.28
  @backstage/plugin-search-backend-module-pg                       0.5.32
  @backstage/plugin-search-backend-module-techdocs                 0.1.27
  @backstage/plugin-search-backend-node                            1.2.27
  @backstage/plugin-search-backend                                 1.5.14
  @backstage/plugin-search-common                                  1.2.13
  @backstage/plugin-search-react                                   1.7.13
  @backstage/plugin-search                                         1.4.14
  @backstage/plugin-signals-react                                  0.0.4
  @backstage/plugin-techdocs-backend                               1.10.9
  @backstage/plugin-techdocs-module-addons-contrib                 1.1.12
  @backstage/plugin-techdocs-node                                  1.12.8
  @backstage/plugin-techdocs-react                                 1.2.6
  @backstage/plugin-techdocs                                       1.10.7
  @backstage/plugin-user-settings-common                           0.0.1
  @backstage/plugin-user-settings                                  0.8.9
  @backstage/release-manifests                                     0.0.11
  @backstage/test-utils                                            1.5.8
  @backstage/theme                                                 0.5.6
  @backstage/types                                                 1.1.1
  @backstage/version-bridge                                        1.0.8
Done in 0.37s.

👀 Have you spent some time to check if this bug has been raised before?

[X] I checked and didn't find similar issue

🏢 Have you read the Code of Conduct?

[X] I have read the Code of Conduct

Are you willing to submit PR?
No, I don't have time to work on this right now

Just to get unblocked, you can yarn --cwd packages/app add @mui/system. Definitely not a fix, but it's useful to have a workaround.

Just to get unblocked, you can yarn --cwd packages/app add @mui/system. Definitely not a fix, but it's useful to have a workaround.

Thanks, that indeed made it so I can start the program!

Hmm looks like this is the cause: https://github.com/mui/material-ui/issues/42946
Looks like it should already be a dependency of @mui/material.  Can you do yarn why @mui/material?

Interestingly, things seem to work on a fresh backstage install now - could be that there was just a window of time in which things resolved to a bad/broken version!

Definitely a possibility! Unfortunate timing seems to happen a lot in active OSS projects for sure! 😅 @cascer1 could you try again now and confirm it's fixed now? Think you can probably delete the yarn.lock and install again if you don't want to run the create script again.

Thanks for your replies and sorry for my late response.
I just created a brand new backstage instance using npx @backstage/create-app@latest
Everything now works as expected.


Add another/other LLMs

Add support for other LLMs, which should be easy with the langchainrb gem.  Preferably something with a free API so development can be done without any cost.
Could have a dropdown at top of 'New Story' to select the desired LLM.
Choices are: https://github.com/andreibondarev/langchainrb#supported-llms-and-features
An easy one to add would be Google: https://makersuite.google.com/app/apikey

@mattlindsey I'll work on this.


KAFKA-18227: Ensure v2 partitions are not added to last transaction during upgrade

We want to bump the epoch if we are upgrading to TV2. Given that we already have code in place for this, I thought we could piggyback on the completing transaction epoch bump logic. For just initializing producers, I moved the check to the end of InitTransaction. Note, we have do do this check after we initialize the producer ID to ensure we have updated ApiVersions correctly.
Will add tests to recreate some of the scenarios that caused us to find this bug.

Thanks for the change.
It may cause a delay if TV2 is enabled after the previous txn commit. The immediate next txn will still use TV1.
I wonder if we can modify beginTransaction to init producer id instead.

I was trying to avoid sending an api in beginTransaction since it doesn't return a result.
But just for my understanding, how would the next transaction use TV1? We wait until the result of beginCompletingTransaction before we return. We also use this approach for the epoch bump and that needs to ensure the producer gets the new epoch before starting the next transaction right?

I will take a look at the TransactionManagerTest failures. 👍

But just for my understanding, how would the next transaction use TV1? We wait until the result of beginCompletingTransaction before we return.

If the TV2 is ready to use during the current txn, before the endTxn request is sent, then the next txn uses TV2. If the TV2 is ready after the current txn's endTxn and before the next Txn, then the next txn is TV1.
Yeah, I agree current approach is simpler than modifying the beginTransaction. I think it is ok as the compatibility is corrected with the current approach.

New system test run is also green: http://ducktape-open-source-results.confluent.io.s3-website-us-west-2.amazonaws.com/confluent-open-source-kafka-branch-builder-system-test-results/?prefix=trunk/2024-12-14--001.aa458635-1231-4d5d-81ec-6d2951845439--1734203544--jolshan--kafka-17705-test--933d8d8072

Tests are still green with the newest changes (minus the very last commit -- which didn't change functionality) : https://confluent-open-source-kafka-branch-builder-system-test-results.s3-us-west-2.amazonaws.com/trunk/2024-12-17--001.b1b2f4a4-2c8e-4595-8e4a-a3b0429d23d9--1734476806--jolshan--kafka-17705-test--7cd411a93c/report.html

There is some issue with testBumpTransactionalEpochWithTV2Disabled I will take a look

Failing tests are known flakes and unrelated to this PR. I will go ahead and merge + pick to 4.0 branch.


webpack2 question

I saw that there is a webpack2 branch, and I would love a release that works with webpack2 if possible! 😄

This branch is quite old... I don't even remember to have created it ;) As you, I also would like to see a webpack 2 version of this project (and I'm glad, you are using it).
Are you facing any specific issues or is it just the semver that needs to be updated?
As I'm currently studying for my oncoming exams I do not have time to do the upgrade in the next three weeks. Maybe after that, but I have just one week of.
So I want to encourage you to create a fork and just try to upgrade the semver. If all unit tests are still running after that, then I can merge your pull request promptly and release a new version.

So to be more specific, I'm trying to enable tree-shaking in webpack2, and this needs a .babelrc like so:
{
  "presets": [
    ["es2015", { "modules": false}]
  ]
}

This disables babel from transpliling you're modules, and allows webpack2 to bundle them.
When using WebpackAngularTranslate, I get the following error:
ERROR in ./app/app.module.js
Module build failed: SyntaxError: 'import' and 'export' may appear only with 'sourceType: module' (1:0)
    at Parser.pp.raise (/Users/benjamind/projects/ultipro-mobile-app/node_modules/acorn/dist/acorn.js:918:13)
    at Parser.pp.parseStatement (/Users/benjamind/projects/ultipro-mobile-app/node_modules/acorn/dist/acorn.js:1739:34)
    at Parser.pp.parseTopLevel (/Users/benjamind/projects/ultipro-mobile-app/node_modules/acorn/dist/acorn.js:1645:21)
    at Parser.parse (/Users/benjamind/projects/ultipro-mobile-app/node_modules/acorn/dist/acorn.js:1613:17)
    at Object.parse (/Users/benjamind/projects/ultipro-mobile-app/node_modules/acorn/dist/acorn.js:880:44)
    at extractTranslations (/Users/benjamind/projects/ultipro-mobile-app/node_modules/webpack-angular-translate/src/js/js-loader.ts:38:34)
    at Object.jsLoader (/Users/benjamind/projects/ultipro-mobile-app/node_modules/webpack-angular-translate/src/js/js-loader.ts:31:5)
 @ multi webpack-dev-server/client?http://localhost:3000/ ./app/app.module.js

Which seems like WebpackAngularTranslate is trying to do something with the modules?
Maybe I'm using the library wrong, but here is the slice of my webpack.config that matters 😄
module: {
      rules: [
        {
          // The webpack-angular-translate html loader must be run as a preloader as it expects the HTML as input prior to it being bundled into js
          enforce: 'pre',
          test: /\.html$/,
          exclude: /(plugins|styles|teamcity|templates|hooks)/,
          loader: WebPackAngularTranslate.htmlLoader(),
        },
        {
          test: /\.js$/,
          exclude: /(plugins|styles|teamcity|templates|hooks)/,
          use: [
            WebPackAngularTranslate.jsLoader(),
            'babel-loader',
          ],
        },
       // ...
]}

hmm yeah... So the actual problem is the outdated version of acorn that is not capable parsing the javascript files (does not support ES6 syntax).
As long as you are not using the translate service in your code, you can just exclude the angular-translate js loader.
But overall, upgrading all dependencies to the latest versions is definitely something I have to do sometime soon... If I just have the time to so.

I can submit a PR for updating the dependencies if you think that is the only issue?

I think just updating the dependencies is not enough. If you look at the acorn documentation, then you can see that there is an options flag  sourceType that needs to be set.
So I think we have the update the dependency and as well provide an option to pass acorn-options to the jsloader that are used on line 38.  This way the source type can be configured...

I have submitted a PR (#22) and you we're right, I simply had to update the dependencies and add a few acorn options.


[AS-4453] Adding description to event View Work

The type of this PR is: Feature

This PR resolves [EMI-1829]
Description

PR Checklist (tick all before merging)

[ ] If I've added a new file to the tree I've exported it from the common index.ts
[ ] I've added comments with examples for any new interfaces and ensured that they're in the docs
[ ] No platform-specific terminology has been used outside of click and tap (platform is inferred by the DB storing events)

:rocket: PR was released in v4.176.0 :rocket:


Added a few command descriptions.

Full list:
{
  "gcode.definitions": {
    "G0": "Rapid, linear interpolation",
    "G1": "Feed, linear interpolation",
    "G2": "Feed, circular interpolation, clockwise",
    "G3": "Feed, circular interpolation, counter-clockwise",
    "G4": "DWELL: Pause the planner",
    "G5": "BÉZIER CUBIC SPLINE: Cubic B-spline with XYZE destination and IJPQ offsets",
    "G10": "RETRACT: Retract the filament",
    "G11": "RECOVER: Recover the filament with firmware-based retract.",
    "G12": "CLEAN THE NOZZLE: Perform the nozzle cleaning procedure.",
    "G17": "CNC WORKSPACE PLANES: Select CNC workspace plane",
    "G18": "CNC WORKSPACE PLANES: Select CNC workspace plane",
    "G19": "CNC WORKSPACE PLANES: Select CNC workspace plane",
    "G20": "INCH UNITS: Set Units to Inches.",
    "G21": "MILLIMETER UNITS: Set Units to Millimeters.",
    "G26": "MESH VALIDATION PATTERN: Test the mesh and adjust.",
    "G27": "PARK TOOLHEAD: Park the current toolhead",
    "G28": "AUTO HOME: Auto home one or more axes.",
    "G29": "BED LEVELING: Probe the bed and enable leveling compensation",
    "G30": "SINGLE Z-PROBE: Probe bed at current XY location",
    "G31": "DOCK SLED: Dock the Z probe sled.",
    "G32": "UNDOCK SLED: Undock the Z probe sled.",
    "G33": "DELTA AUTO CALIBRATION: Calibrate various Delta parameters",
    "G34": "Z STEPPERS AUTO-ALIGNMENT: Align multiple Z steppers using a bed probe",
    "G35": "TRAMMING ASSISTANT: Run a procedure to tram the bed",
    "G38.2": "PROBE TARGET: Probe towards a workpiece and stop on contact.",
    "G38.3": "PROBE TARGET: Probe towards a workpiece and stop on contact.",
    "G42": "MOVE TO MESH COORDINATE: Move to a specific point in the leveling mesh",
    "G53": "MOVE IN MACHINE COORDINATES: Apply native workspace to the current move.",
    "G54": "WORKSPACE COORDINATE SYSTEM: Select a workspace coordinate system",
    "G55": "WORKSPACE COORDINATE SYSTEM: Select a workspace coordinate system",
    "G56": "WORKSPACE COORDINATE SYSTEM: Select a workspace coordinate system",
    "G57": "WORKSPACE COORDINATE SYSTEM: Select a workspace coordinate system",
    "G58": "WORKSPACE COORDINATE SYSTEM: Select a workspace coordinate system",
    "G59": "WORKSPACE COORDINATE SYSTEM: Select a workspace coordinate system",
    "G59.1": "WORKSPACE COORDINATE SYSTEM: Select a workspace coordinate system",
    "G59.2": "WORKSPACE COORDINATE SYSTEM: Select a workspace coordinate system",
    "G59.3": "WORKSPACE COORDINATE SYSTEM: Select a workspace coordinate system",
    "G60": "SAVE CURRENT POSITION: Save current position to specified slot",
    "G61": "RETURN TO SAVED POSITION: Return to saved position of specified slot",
    "G76": "PROBE TEMPERATURE CALIBRATION: Calibrate probe temperature compensation",
    "G80": "CANCEL CURRENT MOTION MODE: Cancel the current motion mode",
    "G90": "ABSOLUTE POSITIONING: Set the interpreter to absolute positions",
    "G91": "RELATIVE POSITIONING: Set the interpreter to relative positions",
    "G92": "SET POSITION: Set the current position of one or more axes.",
    "G425": "BACKLASH CALIBRATION: Use a conductive object to calibrate XYZ backlash",
    "M0": "UNCONDITIONAL STOP: Stop and wait for user.",
    "M1": "UNCONDITIONAL STOP: Stop and wait for user.",
    "M3": "SPINDLE CW / LASER ON: Set the spindle CW speed or laser power",
    "M4": "SPINDLE CCW / LASER ON: Set the spindle CCW speed or laser power",
    "M5": "SPINDLE / LASER OFF: Turn off spindle or laser",
    "M7": "COOLANT CONTROLS: Turn mist or flood coolant on and off",
    "M8": "COOLANT CONTROLS: Turn mist or flood coolant on and off",
    "M9": "COOLANT CONTROLS: Turn mist or flood coolant on and off",
    "M16": "EXPECTED PRINTER CHECK: Prevent G-code usage on the wrong machine",
    "M17": "ENABLE STEPPERS: Enable steppers",
    "M18": "DISABLE STEPPERS: Disable steppers (same as M84).",
    "M84": "DISABLE STEPPERS: Disable steppers (same as M16).",
    "M20": "LIST SD CARD: List the contents of the SD Card.",
    "M21": "INIT SD CARD: Attempt to detect an SD card in the slot.",
    "M22": "RELEASE SD CARD: Simulate ejection of the SD card",
    "M23": "SELECT SD FILE: Select an SD file to be executed",
    "M24": "START OR RESUME SD PRINT: Start or resume a file selected with [`M23`]",
    "M25": "PAUSE SD PRINT: Pause printing from the SD card",
    "M26": "SET SD POSITION: Set the SD read position",
    "M27": "REPORT SD PRINT STATUS: Print SD progress to serial",
    "M28": "START SD WRITE: Start writing to a file on the SD card",
    "M29": "STOP SD WRITE: Stop writing the file, end logging.",
    "M30": "DELETE SD FILE: Delete a specified file from SD.",
    "M31": "PRINT TIME: Report the current print time.",
    "M32": "SELECT AND START: Begin an SD print from a file.",
    "M33": "GET LONG PATH: Convert a short pathname to a long pathname.",
    "M34": "SDCARD SORTING: Set SDCard file sorting options.",
    "M42": "SET PIN STATE: Set an analog or digital pin to a specified state.",
    "M43": "DEBUG PINS: Get information about pins.",
    "M48": "PROBE ACCURACY TEST: Measure Z Probe repeatability.",
    "M73": "SET PRINT PROGRESS: Set current print progress percentage for LCD.",
    "M75": "START PRINT JOB TIMER: Start the print job timer.",
    "M76": "PAUSE PRINT JOB: Pause the print job timer.",
    "M77": "STOP PRINT JOB TIMER: Stop the print job timer.",
    "M78": "PRINT JOB STATS: Print statistics about print jobs.",
    "M80": "POWER ON: Turn on the power supply",
    "M81": "POWER OFF: Turn off the power supply.",
    "M82": "E ABSOLUTE: Set E to absolute positioning.",
    "M83": "E RELATIVE: Set E to relative positioning.",
    "M85": "INACTIVITY SHUTDOWN: Set the inactivity timeout.",
    "M92": "SET AXIS STEPS-PER-UNIT: Set the number of steps-per-mm or steps-per-inch.",
    "M100": "FREE MEMORY: Description Here",
    "M104": "SET HOTEND TEMPERATURE: Set a new target hot end temperature.",
    "M105": "REPORT TEMPERATURES: Send a temperature report to the host.",
    "M106": "SET FAN SPEED: Turn on the fan and set its speed",
    "M107": "FAN OFF: Turn off a fan",
    "M108": "BREAK AND CONTINUE: Break out of the current waiting loop",
    "M109": "WAIT FOR HOTEND TEMPERATURE: Wait for the hot end to reach its target.",
    "M110": "SET LINE NUMBER: Set the current line number.",
    "M111": "DEBUG LEVEL: Report and optionally set the debug flags.",
    "M112": "EMERGENCY STOP: Shut everything down and halt the machine.",
    "M113": "HOST KEEPALIVE: Get or set the host keepalive interval.",
    "M114": "GET CURRENT POSITION: Report the current tool position to the host.",
    "M115": "FIRMWARE INFO: Print the firmware info and capabilities.",
    "M117": "SET LCD MESSAGE: Set the message line on the LCD.",
    "M118": "SERIAL PRINT: Send text to serial",
    "M119": "ENDSTOP STATES: Report endstop and probe states to the host.",
    "M120": "ENABLE ENDSTOPS: Enable endstops and keep them enabled when not homing.",
    "M121": "DISABLE ENDSTOPS: Disable endstops and keep them enabled when not homing.",
    "M122": "TMC DEBUGGING: Get TMC Debug Info",
    "M125": "PARK HEAD: Save current position and move to filament changeposition.",
    "M126": "BARICUDA 1 OPEN: Open the valve for Baricuda 1.",
    "M127": "BARICUDA 1 CLOSE: Close the valve for Baricuda 1.",
    "M128": "BARICUDA 2 OPEN: Open the valve for Baricuda 2.",
    "M129": "BARICUDA 2 CLOSE: Close the valve for Baricuda 2.",
    "M140": "SET BED TEMPERATURE: Set a new target bed temperature.",
    "M141": "SET CHAMBER TEMPERATURE: Set a new target chamber temperature.",
    "M145": "SET MATERIAL PRESET: Set material presets in the LCD menu.",
    "M149": "SET TEMPERATURE UNITS: Set temperature units to Celsius, Fahrenheit, or Kelvin.",
    "M150": "SET RGB(W) COLOR: Set the color of the RGB(W) LED, backlight, or LED strip.",
    "M155": "TEMPERATURE AUTO-REPORT: Auto-report temperatures to host periodically.",
    "M163": "SET MIX FACTOR: Set a single mix factor for a mixing extruder.",
    "M164": "SAVE MIX: Save the current mix as a virtual tool.",
    "M165": "SET MIX: Set all mix factors for the mixing extruder.",
    "M166": "GRADIENT MIX: Set a Gradient Mix",
    "M190": "WAIT FOR BED TEMPERATURE: Wait for the bed to reach target temperature.",
    "M191": "WAIT FOR CHAMBER TEMPERATURE: Wait for the chamber to reach target temperature.",
    "M192": "WAIT FOR PROBE TEMPERATURE: Wait for the probe temperature sensor to reach a target",
    "M200": "SET FILAMENT DIAMETER: Set the diameter for volumetric extrusion.",
    "M201": "SET PRINT MAX ACCELERATION: Set maximum acceleration for print moves one or more axes.",
    "M203": "SET MAX FEEDRATE: Set maximum feedrate for one or more axes.",
    "M204": "SET STARTING ACCELERATION: Set the starting acceleration for moves by type.",
    "M205": "SET ADVANCED SETTINGS: Set some advanced settings related to movement.",
    "M206": "SET HOME OFFSETS: Description Here",
    "M207": "SET FIRMWARE RETRACTION: Set options for firmware-based retraction.",
    "M208": "FIRMWARE RECOVER: Firmware-retraction recover settings.",
    "M209": "SET AUTO RETRACT: Enable / disable auto-retraction.",
    "M211": "SOFTWARE ENDSTOPS: Set and/or get the software endstops state",
    "M217": "FILAMENT SWAP PARAMETERS: Set length and speed for filament swapping",
    "M218": "SET HOTEND OFFSET: Set the offset of a hotend (from hotend 0).",
    "M220": "SET FEEDRATE PERCENTAGE: Set the global feedrate percentage.",
    "M221": "SET FLOW PERCENTAGE: Set the flow percentage, which applies to all E moves.",
    "M226": "WAIT FOR PIN STATE: Wait for a pin to have a given state.",
    "M240": "TRIGGER CAMERA: Trigger a camera shutter",
    "M250": "LCD CONTRAST: Set and/or get the LCD contrast.",
    "M260": "I2C SEND: Send data to the I2C bus.",
    "M261": "I2C REQUEST: Request and echo bytes from the I2C bus.",
    "M280": "SERVO POSITION: Set or get a servo position.",
    "M281": "EDIT SERVO ANGLES: Set servo deploy and/or stow angles",
    "M290": "BABYSTEP: Babystep one or more axes",
    "M300": "PLAY TONE: Play a single tone, buzz, or beep.",
    "M301": "SET HOTEND PID: Set PID values for a hotend.",
    "M302": "COLD EXTRUDE: Set minimum extrusion temperature, allow cold extrusion.",
    "M303": "PID AUTOTUNE: Auto-tune the PID system to find stable values.",
    "M304": "SET BED PID: Set PID values for the heated bed.",
    "M350": "SET MICRO-STEPPING: Set micro-stepping for drivers that support it",
    "M351": "SET MICROSTEP PINS: Directly set the micro-stepping pins",
    "M355": "CASE LIGHT CONTROL: Turn the case light on or off, set brightness",
    "M360": "SCARA THETA A: Move to Theta A",
    "M361": "SCARA THETA-B: Move to Theta-B",
    "M362": "SCARA PSI-A: Move to Psi-A",
    "M363": "SCARA PSI-B: Move to Psi-B",
    "M364": "SCARA PSI-C: Move to Psi-C",
    "M380": "ACTIVATE SOLENOID: Activate",
    "M381": "DEACTIVATE SOLENOIDS: Deactivate all extruder solenoids",
    "M400": "FINISH MOVES: Wait for all moves to finish",
    "M401": "DEPLOY PROBE: Deploy the bed probe",
    "M402": "STOW PROBE: Stow the bed probe",
    "M403": "MMU2 FILAMENT TYPE: Set filament type for Multi-Material Unit 2.0",
    "M404": "SET FILAMENT DIAMETER: Set the nominal diameter for filament width sensor auto-flow",
    "M405": "FILAMENT WIDTH SENSOR ON: Enable filament width sensor flow control",
    "M406": "FILAMENT WIDTH SENSOR OFF: Disable filament width sensor flow control",
    "M407": "FILAMENT WIDTH: Report the measured filament width",
    "M410": "QUICKSTOP: Stop all steppers instantly",
    "M412": "FILAMENT RUNOUT: Enable / disable filament runout detection",
    "M413": "POWER-LOSS RECOVERY: Enable / disable power-loss recovery",
    "M420": "BED LEVELING STATE: Get and/or set bed leveling state and parameters",
    "M421": "SET MESH VALUE: Set a single mesh Z height",
    "M422": "SET Z MOTOR XY: Set a Z motor position for G34 Auto-Alignment",
    "M425": "BACKLASH COMPENSATION: Enable and tune backlash compensation",
    "M428": "HOME OFFSETS HERE: Set home offsets based on current position",
    "M486": "CANCEL OBJECTS: Identify and cancel objects",
    "M500": "SAVE SETTINGS: Save settings to EEPROM.",
    "M501": "RESTORE SETTINGS: Restore settings from EEPROM.",
    "M502": "FACTORY RESET: Restore all settings to factory defaults.",
    "M503": "REPORT SETTINGS: Report all settings that may be saved to EEPROM.",
    "M504": "VALIDATE EEPROM CONTENTS: Validate the contents of the EEPROM.",
    "M524": "ABORT SD PRINT: Abort an SD print started with [`M24`]",
    "M540": "ENDSTOPS ABORT SD: Abort SD printing when an endstop is triggered.",
    "M569": "SET TMC STEPPING MODE: Toggle stealthChop",
    "M575": "SERIAL BAUD RATE: Change the serial baud rate",
    "M600": "FILAMENT CHANGE: Automatically change filament",
    "M603": "CONFIGURE FILAMENT CHANGE: Configure automatic filament change parameters",
    "M605": "DUAL NOZZLE MODE: Set the behavior mode for dual nozzles",
    "M665": "DELTA CONFIGURATION: Set delta geometry values",
    "M666": "SET DELTA ENDSTOP ADJUSTMENTS: Set Delta endstop adjustments",
    "M701": "LOAD FILAMENT: Load filament",
    "M702": "UNLOAD FILAMENT: Unload filament",
    "M710": "CONTROLLER FAN SETTINGS: Set or report controller fan settings",
    "M7219": "MAX7219 CONTROL: Control Max7219 Segmented LEDs",
    "M851": "XYZ PROBE OFFSET: Set the Z probe XYZ offset from nozzle",
    "M852": "BED SKEW COMPENSATION: Misalignment in the XYZ axes.",
    "M871": "PROBE TEMPERATURE CONFIG: Configure probe temperature compensation",
    "M900": "LINEAR ADVANCE FACTOR: Get and set Linear Advance K value",
    "M906": "TMC MOTOR CURRENT: Set the motor current (in milliamps)",
    "M907": "SET MOTOR CURRENT: Set motor current via digital trimpot",
    "M908": "SET TRIMPOT PINS: Set a digital trimpot directly",
    "M909": "DAC PRINT VALUES: Report DAC current values to host",
    "M910": "COMMIT DAC TO EEPROM: Commit digipot/DAC value to external EEPROM",
    "M911": "TMC OT PRE-WARN CONDITION: Driver overtemperature pre-warn condition",
    "M912": "CLEAR TMC OT PRE-WARN: Clear overtemperature pre-warn condition flag",
    "M913": "SET HYBRID THRESHOLD SPEED: TMC driver switching to spreadCycle",
    "M914": "TMC BUMP SENSITIVITY: Set sensorless homing sensitivity",
    "M915": "TMC Z AXIS CALIBRATION: Align ends of the Z axis and test torque",
    "M928": "START SD LOGGING: Log serial input to an SD file",
    "M997": "FIRMWARE UPDATE: Perform in-application firmware update",
    "M999": "STOP RESTART: Return the machine to Running state",
    "T0": "SELECT TOOL: Switch to the specified tool",
    "T1": "SELECT TOOL: Switch to the specified tool",
    "T2": "SELECT TOOL: Switch to the specified tool",
    "T3": "SELECT TOOL: Switch to the specified tool",
    "T4": "SELECT TOOL: Switch to the specified tool",
    "T5": "SELECT TOOL: Switch to the specified tool",
    "T6": "SELECT TOOL: Switch to the specified tool"
  }
}


Integrate TM Terminal Eclipse plugin

In old oasp4j-ide we provided eclipse as software binary bundled with various plugins. One of them was TM Terminal:
https://marketplace.eclipse.org/content/tm-terminal
Now we download the software like eclipse. For plugins we can automatically install via Update-Site URL. However, for TM Terminal I could not find a regular update site. It only seems to be available in Marketplace and I can not find a way to automatically install it this way.
Options:

figure out an update site for TM Terminal and integrate in eclipse commandlet (easiest solution).
find a way to install marketplace items automatically (maybe via OOMPH).

https://download.eclipse.org/tm/updates/4.5.100-SNAPSHOT/repository/

Almost nothing is ever easy (esp. in this devon-ide):
devon eclipse add-plugin terminal
Installing eclipse plugin org.eclipse.tm.terminal.feature from http://download.eclipse.org/tm/updates/4.5.100-SNAPSHOT/repository/
org.eclipse.m2e.logback.configuration: The org.eclipse.m2e.logback.configuration bundle was activated before the state location was initialized.  Will retry after the state location is initialized.
log4j:WARN No appenders could be found for logger (org.apache.http.client.protocol.RequestAddCookies).
log4j:WARN Please initialize the log4j system properly.
Installing org.eclipse.tm.terminal.feature.feature.group <IP_ADDRESS>903081602.
Installing org.eclipse.tm.terminal.view.feature.feature.group <IP_ADDRESS>903081602.
Installing org.eclipse.tm.terminal.control.feature.feature.group <IP_ADDRESS>903081602.
Installing org.eclipse.tm.terminal.connector.ssh.feature.feature.group <IP_ADDRESS>903081602.
Installing org.eclipse.tm.terminal.connector.telnet.feature.feature.group <IP_ADDRESS>903081602.
Installation failed.
Cannot complete the install because one or more required items could not be found.
	Software being installed: TM Terminal <IP_ADDRESS>903081602 (org.eclipse.tm.terminal.feature.feature.group <IP_ADDRESS>903081602)
	Missing requirement for filter properties ~= $0: Terminal Local Connector <IP_ADDRESS>901312304 (org.eclipse.tm.terminal.connector.local <IP_ADDRESS>901312304) requires 'org.eclipse.equinox.p2.iu; org.eclipse.cdt.core.macosx 0.0.0' but it could not be found
	Cannot satisfy dependency:
		From: TM Terminal Local Connector Extensions <IP_ADDRESS>903081602 (org.eclipse.tm.terminal.connector.local.feature.feature.group <IP_ADDRESS>903081602)
		To: org.eclipse.equinox.p2.iu; org.eclipse.tm.terminal.connector.local [<IP_ADDRESS>901312304,<IP_ADDRESS>901312304]
	Cannot satisfy dependency:
		From: TM Terminal <IP_ADDRESS>903081602 (org.eclipse.tm.terminal.feature.feature.group <IP_ADDRESS>903081602)
		To: org.eclipse.equinox.p2.iu; org.eclipse.tm.terminal.connector.local.feature.feature.group 0.0.0
There were errors. See log file: /projects/software/default/eclipse/2019-06/Eclipse.app/Contents/Eclipse/configuration/1566404373251.log

******** ATTENTION ********
WARNING: Installation of plugin org.eclipse.tm.terminal.feature failed. Please try to install manually.

For me this line worked:
start eclipse -application org.eclipse.equinox.p2.director -repository http://download.eclipse.org/tm/terminal/marketplace -installIU org.eclipse.tm.terminal.feature.feature.group
it installed the TM terminal. But i dont know, how to integrate it in the devon ide. I am a newbie here.

Awesome. Thanks. I will catch up from here...

Fixed with PR #227


Mouse lagging/stuttering when hovered or used in Runelite if Windows HDR setting is on

When I enable Windows 10 HDR settings and want to use Runelite, my mouse drastically loses smoothness if hovered over or is used in Runelite. Even with hardware acceleration disabled, the mouse cursor won't get to its original refresh rate (160Hz on my monitor).
Steps to reproduce are simple:

Go to Windows 10 settings and turn on Windows HDR color settings on a high refresh rate and HDR-enabled screen
Open Runelite (hardware acceleration disabled or not, problem persists in both instances)
Try to play and notice that the mouse's refresh rate is drastically lower than before
Close the game and turn off Windows HDR color settings
Restart the game and notice that the refresh rate of the mouse is back to its original smoothness

I'm on the latest Windows 10 Pro update with a GTX 1080TI running an ultrawide LG 38GN950 at 3840x1600.
The screen has HDR600 capabilities and every other app but Runelite works.

Do you have the GPU plugin enabled? Does this happen with the vanilla client, or any other program on your computer?

Do you have the GPU plugin enabled? Does this happen with the vanilla client, or any other program on your computer?

The GPU plugin is enabled. When I disable it, the problem disappears. Is there a known bug between the GPU plugin and HDR on/off through Windows 10?

We have recently replaced the GL library used by the GPU plugin. Given that change and that we are not able to reproduce this issue, we are closing this. Please comment if you still experience this issue.


Launcher: disable extensions and google translate by default

This patch teaches puppeteer.launch to run chromium with disabled
chrome extensions and google translate services.
References #760

@ebidel it turned out I don't really know why we want this in. Why would we want this?

Keep the launched chrome slimmer? Not sure it adds a ton of value for us. Turning these off makes more sense for Lighthouse where we're reusing an existing install of chrome.

I slept with this and now I like the patch since it aligns headful/headless with each other.
@JoelEinbinder any concerns?

@aslushnikov , @JoelEinbinder, et al - Sadly creating and merging this has disabled everyone's ability to automate with extensions in non-headless mode. Is there any way to work around this, or are these "default" args more like "permanent unchangeable" args?

@cretz @JoelEinbinder is working on a patch to override default arguments. Filed #872 to track progress.


Can't call an external pc server from the web socket

I have implemented the Starscream in my iMac along with its SimpleTest client. I'm trying now to connect it to a remote pc server. I created a webSocket using c# there and tried to make the SimpleTest client and server sending/listening through that port.
I know that my pc server resolves correctly. From my other swift project, I connect to the DB that is housed in that server all the time.
Is there something else beside just plugging the url I need to do to connect to that remote pc server from the Starscream client!?
Thanks!

Assuming you followed the example in the README or test project, you entered the connect WebSocket URL, setup the delegate and called the connect() method that should be all there is to it. If that isn't working I would start doing some basic networking troubleshooting to see what is going on between the client/server connection.


Readme youtube link

Don't know if it's really an issue but I felt  kind of Rick-rolled. Well played!

Haha thanks 😈 creds to @aelnaiem for telling me about the song when we started working on this 🎶


Add Get Request and Get handling in block

Coverage remained the same at 100.0% when pulling e3c8f9fb4d1be30e8bedfe7a4a3a776149824bbb on dev-gary into 91d591fde9cedb72bc660559b5db35d3f8c2a2c4 on master.

Coverage remained the same at 100.0% when pulling 43e39c0d51a7b9a9180e598152ddcc90f460659c on dev-gary into 91d591fde9cedb72bc660559b5db35d3f8c2a2c4 on master.

Coverage remained the same at 100.0% when pulling cbbf6a04d8fc5f24206d2fbbb2befdf42953920c on dev-gary into 91d591fde9cedb72bc660559b5db35d3f8c2a2c4 on master.

Coverage remained the same at 100.0% when pulling 0b21df192acaf351038e52af89f03d179a389627 on dev-gary into 91d591fde9cedb72bc660559b5db35d3f8c2a2c4 on master.


Add input validation for label property

Description
mkfs.xfs has a maximum of 12 characters for the label (-L).
Ideally this would be merged after https://github.com/sous-chefs/filesystem/pull/105
Issues Resolved
N/A
Check List

[x] A summary of changes made is included in the CHANGELOG under ## Unreleased
[ ] New functionality includes testing.
[ ] New functionality has been documented in the README if applicable.

@jasonwbarnett can you please fix the issue on this PR? I rebased it and the other issues are fixed

@damacus thanks for handling this 🚀. Totally dropped off my radar.

Mine too! My inbox is just a mess so I'm glad I found this nice PR to apply 😂


PLAT-9979 Improving error msg and checks for common errors

Ticket
https://perzoinc.atlassian.net/browse/PLAT-9979
Description
Goal of this PR is to improve error messages and add some checks to help the developer better understand errors while implenting/starting a bot.
What it includes

[x] Adding more logs while loading the config file
[x] Error messages while loading/validating RSA keys and Certificates with path to the file when needed
[x] Added more error messages after a network issue containing information on which URL and component is causing the issue. Involved:
RetryWithRecovery
Authentication Retry
DatafeedLoopV1 and DatafeedLoopV2
[x] All network messages introduced have been checked using both : symphony-bdk-http-webclient and symphony-bdk-http-jersey2

Missing

[x] Check  failing Unit test on Datafeed
[x] Handle PKIX errors
[x]  Check the spring boot starter
[x] Apply changes to endpoint and service added during the sprint

Dependencies
No dependencies
Checklist

[x] Referenced a ticket in the PR title and in the corresponding section
[x] Filled properly the description and dependencies, if any
[x] Unit tests updated or added
[ ] Javadoc added or updated
[ ] Updated the documentation in docs folder

For networking errors, maybe we could try if the first call fails to go into a diagnostic mode or to be able to find out the error cause, checking:

server name cannot be resolved (DNS issue, typo in the hostname)
server cannot be reached (port is not open, nothing is running on the server side, firewall issue) (what you would check with netcat -vz)
proxy cannot be resolved/reached (if configured)

For networking errors, maybe we could try if the first call fails to go into a diagnostic mode or to be able to find out the error cause, checking:

server name cannot be resolved (DNS issue, typo in the hostname)
server cannot be reached (port is not open, nothing is running on the server side, firewall issue) (what you would check with netcat -vz)
proxy cannot be resolved/reached (if configured)

don't we miss a string fromat?

yes sorry, Wrong formatting :( Fixed!

don't we miss a string fromat?

yes sorry, Wrong formatting :( Fixed!

If the target URL is failing with a 503, we get these logs (using the spring boot starter):
2021-02-01 08:21:26.463  INFO 18572 --- [           main] .s.b.c.r.r.Resilience4jRetryWithRecovery : Retry in 32.0s...
2021-02-01 08:21:59.162 ERROR 18572 --- [           main] c.s.bdk.core.retry.RetryWithRecovery     : Exception of type com.symphony.bdk.http.api.ApiException not recovered: error
2021-02-01 08:21:59.162 DEBUG 18572 --- [           main] .s.b.c.r.r.Resilience4jRetryWithRecovery : AbstractBotAuthenticator.retrieveToken service failed due to error
2021-02-01 08:21:59.162  INFO 18572 --- [           main] .s.b.c.r.r.Resilience4jRetryWithRecovery : Retry in 64.0s...

Here it would be nice to see that we have a 503 error
Also having the exponential backoff at startup is a bit painful, ideally we would like to fail fast (and retries are going to be done by the system running the bot that should restart the process then) (we can deal with that in another ticket)
the full stack trace at the end:

Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.symphony.bdk.core.auth.AuthSession]: Factory method 'botSession' threw exception; nested exception is com.symphony.bdk.http.api.ApiRuntimeException: com.symphony.bdk.http.api.ApiException: error
	at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185) ~[spring-beans-5.3.2.jar:5.3.2]
	at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) ~[spring-beans-5.3.2.jar:5.3.2]
	... 46 common frames omitted
Caused by: com.symphony.bdk.http.api.ApiRuntimeException: com.symphony.bdk.http.api.ApiException: error
	at com.symphony.bdk.core.auth.impl.AuthenticationRetry.executeAndRetry(AuthenticationRetry.java:89) ~[classes/:na]
	at com.symphony.bdk.core.auth.impl.AbstractBotAuthenticator.retrieveToken(AbstractBotAuthenticator.java:28) ~[classes/:na]
	at com.symphony.bdk.core.auth.impl.BotAuthenticatorRsaImpl.retrieveSessionToken(BotAuthenticatorRsaImpl.java:61) ~[classes/:na]
	at com.symphony.bdk.core.auth.impl.AuthSessionRsaImpl.refresh(AuthSessionRsaImpl.java:47) ~[classes/:na]
	at com.symphony.bdk.core.auth.impl.BotAuthenticatorRsaImpl.authenticateBot(BotAuthenticatorRsaImpl.java:55) ~[classes/:na]
	at com.symphony.bdk.spring.config.BdkCoreConfig.botSession(BdkCoreConfig.java:87) ~[classes/:na]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_265]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_265]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_265]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_265]
	at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) ~[spring-beans-5.3.2.jar:5.3.2]
	... 47 common frames omitted
Caused by: com.symphony.bdk.http.api.ApiException: error
	at com.symphony.bdk.http.jersey2.ApiClientJersey2.invokeAPI(ApiClientJersey2.java:182) ~[classes/:na]
	at com.symphony.bdk.gen.api.AuthenticationApi.pubkeyAuthenticatePostWithHttpInfo(AuthenticationApi.java:346) ~[classes/:na]
	at com.symphony.bdk.gen.api.AuthenticationApi.pubkeyAuthenticatePost(AuthenticationApi.java:293) ~[classes/:na]
	at com.symphony.bdk.core.auth.impl.BotAuthenticatorRsaImpl.authenticateAndGetToken(BotAuthenticatorRsaImpl.java:75) ~[classes/:na]
	at com.symphony.bdk.core.auth.impl.AbstractBotAuthenticator.lambda$retrieveToken$0(AbstractBotAuthenticator.java:29) ~[classes/:na]
	at com.symphony.bdk.core.retry.RetryWithRecovery.executeOnce(RetryWithRecovery.java:92) ~[classes/:na]
	at io.github.resilience4j.retry.Retry.lambda$decorateCheckedSupplier$3f69f149$1(Retry.java:137) ~[resilience4j-retry-1.6.1.jar:1.6.1]
	at io.github.resilience4j.retry.Retry.executeCheckedSupplier(Retry.java:419) ~[resilience4j-retry-1.6.1.jar:1.6.1]
	at com.symphony.bdk.core.retry.resilience4j.Resilience4jRetryWithRecovery.execute(Resilience4jRetryWithRecovery.java:65) ~[classes/:na]
	at com.symphony.bdk.core.auth.impl.AuthenticationRetry.executeAndRetry(AuthenticationRetry.java:83) ~[classes/:na]

Even here we don't see the 503

2021-02-01 08:37:55.007 ERROR 19090 --- [           main] c.s.b.c.auth.impl.AuthenticationRetry    : Service account is not authorized to authenticate. Check if credentials are valid.

Should we put the service account name in this error message too?
We also duplicate a debug log before that:
2021-02-01 08:37:53.408 DEBUG 19090 --- [           main] c.s.bdk.core.auth.AuthenticatorFactory   : Loading RSA privateKey from path : /Users/youri.bonnaffe/Documents/app-local/privatekey.pem
2021-02-01 08:37:53.408 DEBUG 19090 --- [           main] c.s.bdk.core.auth.AuthenticatorFactory   : Loading private key from : /Users/youri.bonnaffe/Documents/app-local/privatekey.pem

An error case where maybe there is room to improve the error message:
bdk:
  host: devx1.symphony.com
  proxy:
    host: devx1.symphony.com
    port: 443
    username: 1
    password: 1

2021-02-01 08:49:01.934 DEBUG 19328 --- [           main] c.s.bdk.core.auth.AuthenticatorFactory   : Loading private key from : /Users/youri.bonnaffe/Documents/app-local/privatekey.pem
2021-02-01 08:49:02.113 DEBUG 19328 --- [           main] c.s.b.c.a.impl.BotAuthenticatorRsaImpl   : Start retrieving sessionToken using RSA authentication...
2021-02-01 08:49:03.149  INFO 19328 --- [           main] o.apache.http.impl.execchain.RetryExec   : I/O exception (org.apache.http.NoHttpResponseException) caught when processing request to {tls}->http://devx1.symphony.com:443->https://devx1.symphony.com:443: The target server failed to respond
2021-02-01 08:49:03.149  INFO 19328 --- [           main] o.apache.http.impl.execchain.RetryExec   : Retrying request to {tls}->http://devx1.symphony.com:443->https://devx1.symphony.com:443

When connecting to devx1 and port 444 (nothing listening there)
Ideally I would like to know to what I tried to connect too
2021-02-01 08:53:21.289 ERROR 19374 --- [           main] c.s.bdk.core.retry.RetryWithRecovery     : Exception of type javax.ws.rs.ProcessingException not recovered: java.net.SocketTimeoutException: connect timed out
2021-02-01 08:53:21.313 DEBUG 19374 --- [           main] .s.b.c.r.r.Resilience4jRetryWithRecovery : AbstractBotAuthenticator.retrieveToken service failed due to java.net.SocketTimeoutException: connect timed out

Putting an invalid context as part of a client's configuration:
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.symphony.bdk.core.auth.AuthSession]: Factory method 'botSession' threw exception; nested exception is com.symphony.bdk.http.api.ApiRuntimeException: com.symphony.bdk.http.api.ApiException:
Here too it would be nice to see the URL that was used (as well as the error code)
(also the 404 content seems to appear multiple times)

2021-02-01 08:37:55.007 ERROR 19090 --- [           main] c.s.b.c.auth.impl.AuthenticationRetry    : Service account is not authorized to authenticate. Check if credentials are valid.

Should we put the service account name in this error message too?
We also duplicate a debug log before that:
2021-02-01 08:37:53.408 DEBUG 19090 --- [           main] c.s.bdk.core.auth.AuthenticatorFactory   : Loading RSA privateKey from path : /Users/youri.bonnaffe/Documents/app-local/privatekey.pem
2021-02-01 08:37:53.408 DEBUG 19090 --- [           main] c.s.bdk.core.auth.AuthenticatorFactory   : Loading private key from : /Users/youri.bonnaffe/Documents/app-local/privatekey.pem

Fixing it! I will add the name of the service account in the log message and remove the double log while loading rsaKey

When connecting to devx1 and port 444 (nothing listening there)
Ideally I would like to know to what I tried to connect too
2021-02-01 08:53:21.289 ERROR 19374 --- [ main] c.s.bdk.core.retry.RetryWithRecovery : Exception of type javax.ws.rs.ProcessingException not recovered: java.net.SocketTimeoutException: connect timed out
2021-02-01 08:53:21.313 DEBUG 19374 --- [ main] .s.b.c.r.r.Resilience4jRetryWithRecovery : AbstractBotAuthenticator.retrieveToken service failed due to java.net.SocketTimeoutException: connect timed out

Adding the log error with th information at each retry.

An error case where maybe there is room to improve the error message:
bdk:
  host: devx1.symphony.com
  proxy:
    host: devx1.symphony.com
    port: 443
    username: 1
    password: 1

2021-02-01 08:49:01.934 DEBUG 19328 --- [ main] c.s.bdk.core.auth.AuthenticatorFactory : Loading private key from : /Users/youri.bonnaffe/Documents/app-local/privatekey.pem
2021-02-01 08:49:02.113 DEBUG 19328 --- [ main] c.s.b.c.a.impl.BotAuthenticatorRsaImpl : Start retrieving sessionToken using RSA authentication...
2021-02-01 08:49:03.149 INFO 19328 --- [ main] o.apache.http.impl.execchain.RetryExec : I/O exception (org.apache.http.NoHttpResponseException) caught when processing request to {tls}->http://devx1.symphony.com:443->https://devx1.symphony.com:443: The target server failed to respond
2021-02-01 08:49:03.149 INFO 19328 --- [ main] o.apache.http.impl.execchain.RetryExec : Retrying request to {tls}->http://devx1.symphony.com:443->https://devx1.symphony.com:443

Adding the error message at each retry we now have this stack trace:
[main] ERROR com.symphony.bdk.core.retry.RetryWithRecovery - An unknown error occurred while trying to connect to https://devx1.symphony.com:443/login. Please check below for more information: org.apache.http.NoHttpResponseException: devx1.symphony.com:443 failed to respond
[main] DEBUG com.symphony.bdk.core.retry.resilience4j.Resilience4jRetryWithRecovery - AbstractBotAuthenticator.retrieveToken service failed due to org.apache.http.NoHttpResponseException: devx1.symphony.com:443 failed to respond
[main] INFO com.symphony.bdk.core.retry.resilience4j.Resilience4jRetryWithRecovery - Retry in 0.5s...
Feb 01, 2021 12:17:30 PM org.apache.http.impl.execchain.RetryExec execute
INFO: I/O exception (org.apache.http.NoHttpResponseException) caught when processing request to {tls}->http://devx1.symphony.com:443->https://devx1.symphony.com:443: The target server failed to respond
Feb 01, 2021 12:17:30 PM org.apache.http.impl.execchain.RetryExec execute
INFO: Retrying request to {tls}->http://devx1.symphony.com:443->https://devx1.symphony.com:443
Feb 01, 2021 12:17:30 PM org.apache.http.impl.execchain.RetryExec execute
INFO: I/O exception (org.apache.http.NoHttpResponseException) caught when processing request to {tls}->http://devx1.symphony.com:443->https://devx1.symphony.com:443: The target server failed to respond
Feb 01, 2021 12:17:30 PM org.apache.http.impl.execchain.RetryExec execute
INFO: Retrying request to {tls}->http://devx1.symphony.com:443->https://devx1.symphony.com:443
Feb 01, 2021 12:17:30 PM org.apache.http.impl.execchain.RetryExec execute
INFO: I/O exception (org.apache.http.NoHttpResponseException) caught when processing request to {tls}->http://devx1.symphony.com:443->https://devx1.symphony.com:443: The target server failed to respond
Feb 01, 2021 12:17:30 PM org.apache.http.impl.execchain.RetryExec execute
INFO: Retrying request to {tls}->http://devx1.symphony.com:443->https://devx1.symphony.com:443

We have the address, the cause "NoHttpResponseException: devx1.symphony.com:443 failed to respond", could be this enough?

An error case where maybe there is room to improve the error message:
bdk:
  host: devx1.symphony.com
  proxy:
    host: devx1.symphony.com
    port: 443
    username: 1
    password: 1

2021-02-01 08:49:01.934 DEBUG 19328 --- [ main] c.s.bdk.core.auth.AuthenticatorFactory : Loading private key from : /Users/youri.bonnaffe/Documents/app-local/privatekey.pem
2021-02-01 08:49:02.113 DEBUG 19328 --- [ main] c.s.b.c.a.impl.BotAuthenticatorRsaImpl : Start retrieving sessionToken using RSA authentication...
2021-02-01 08:49:03.149 INFO 19328 --- [ main] o.apache.http.impl.execchain.RetryExec : I/O exception (org.apache.http.NoHttpResponseException) caught when processing request to {tls}->http://devx1.symphony.com:443->https://devx1.symphony.com:443: The target server failed to respond
2021-02-01 08:49:03.149 INFO 19328 --- [ main] o.apache.http.impl.execchain.RetryExec : Retrying request to {tls}->http://devx1.symphony.com:443->https://devx1.symphony.com:443

Adding the error message at each retry we now have this stack trace:
[main] ERROR com.symphony.bdk.core.retry.RetryWithRecovery - An unknown error occurred while trying to connect to https://devx1.symphony.com:443/login. Please check below for more information: org.apache.http.NoHttpResponseException: devx1.symphony.com:443 failed to respond
[main] DEBUG com.symphony.bdk.core.retry.resilience4j.Resilience4jRetryWithRecovery - AbstractBotAuthenticator.retrieveToken service failed due to org.apache.http.NoHttpResponseException: devx1.symphony.com:443 failed to respond
[main] INFO com.symphony.bdk.core.retry.resilience4j.Resilience4jRetryWithRecovery - Retry in 0.5s...
Feb 01, 2021 12:17:30 PM org.apache.http.impl.execchain.RetryExec execute
INFO: I/O exception (org.apache.http.NoHttpResponseException) caught when processing request to {tls}->http://devx1.symphony.com:443->https://devx1.symphony.com:443: The target server failed to respond
Feb 01, 2021 12:17:30 PM org.apache.http.impl.execchain.RetryExec execute
INFO: Retrying request to {tls}->http://devx1.symphony.com:443->https://devx1.symphony.com:443
Feb 01, 2021 12:17:30 PM org.apache.http.impl.execchain.RetryExec execute
INFO: I/O exception (org.apache.http.NoHttpResponseException) caught when processing request to {tls}->http://devx1.symphony.com:443->https://devx1.symphony.com:443: The target server failed to respond
Feb 01, 2021 12:17:30 PM org.apache.http.impl.execchain.RetryExec execute
INFO: Retrying request to {tls}->http://devx1.symphony.com:443->https://devx1.symphony.com:443
Feb 01, 2021 12:17:30 PM org.apache.http.impl.execchain.RetryExec execute
INFO: I/O exception (org.apache.http.NoHttpResponseException) caught when processing request to {tls}->http://devx1.symphony.com:443->https://devx1.symphony.com:443: The target server failed to respond
Feb 01, 2021 12:17:30 PM org.apache.http.impl.execchain.RetryExec execute
INFO: Retrying request to {tls}->http://devx1.symphony.com:443->https://devx1.symphony.com:443

We have the address, the cause "NoHttpResponseException: devx1.symphony.com:443 failed to respond", could be this enough?

What is maybe difficult is maybe to figure out that it is related to the proxy?

What is maybe difficult is maybe to figure out that it is related to the proxy?

Yes, but here unfortunately the issue is the same as for the other message errors. I don't have access to the bdkConfig file, so I don't have this information.
From the error message isn't this "devx1.symphony.com:443 failed to respond" the address of the proxy? If so shouldn't be pretty straight forward to figure out the issue is in the proxy?


Tmux 1.9.1a dependency

Now that tmux 2.0 is out , is the patch that you need for tmux-resurrect-ng already present ? Or do you still need specifically version 1.9.1.a ?

According to the author, this should work, but he appears not to have fixed his code to work with the new version.

I would really like to use tmux-resurrect-ng because the original version with the history command is very intrusive. Any chance to make it run with latest tmux 2.2?

+1, would love to see this working with tmux 2.x


Customizing card components

Hello,
I am trying to integrate this sdk into a flutter app and was wondering if there is any proposed solution in customizing the CardComponents currently?
As far as the documentations go on the native libraries, that option is available albeit slightly vague.
For Android -> Overriding the styles of all components in styles.xml/strings.xml, which is still possible to do.
on iOS -> adding the FormComponentStyle() on the cardComponent itself.
However the iOS styling is done manually when initiating the native component and the style object is not exposed in the current version of the library as far as I can see or perhaps this is coming in a future release?
As a side question, is there a possibility to somehow invoke the onSubmit button without using the pre-built button?
A common use case would be for devs to build their own custom button on the flutter side and invoke it manually.

Hey, thanks for the answer,
Is there any indication on when the beta release might roll out?

Hey @rimkerb,
You're welcome, I am happy to help out.
We plan to release the beta at the end of May / in the beginning of June. We currently don’t have a specific date because we want to finish some features first and smaller adjustments before releasing the beta.
I will update this issue and notify you when the release is available.


Creating ReportControl element seems to not be working

When clicking on the add button in the ReportControl select list there is not Insert edit. The problem seems to be the createReportControl function that returns a null. Here is seems to be the function canAddReportControl that returns a false negative. See also https://github.com/OpenEnergyTools/scl-lib/issues/63

If it doesn't work it would be nice if it was greyed out or we had a snackbar to say why

I find createReportControl(ied) is returning null for me as well with some IEDs. In particular SEL devices.
I note the code path is not well named, should be insertReportControl:
callback: () => {
                const insertGseControl = createReportControl(ied);
                if (insertGseControl)
                  this.dispatchEvent(newEditEvent(insertGseControl));
              },

However it also seems to sum the max attribute within maxRptEnabled:
<RptEnabled max="7"/>

I think this means that there can be say 7 clients for this report but I don't know that it implies there can be 7 clients for all ReportControls simultaneously. So I'm not sure whether the following is correct:
https://github.com/OpenEnergyTools/scl-lib/blob/78e2e2f34fe53405485637a1ea36a01c4db323b3/tReportControl/numberReportControlInstances.ts#L1-L7
I am suspicious that we should either:

assume only one or
if there is a ClientLN configured to this report then sum the quantity of these

I find the standard hard to read but there is this: "If ClientLNs are defined and the attribute indexed is set to true (which is the default value), the index (position) of the ClientLN in the list contained in the RptEnabled element is used as this number for this client (the first client relates to index 01). This means that a report control block definition in SCL has to be considered as a type, and not as an instance, which might have 99 instances for 99 clients. In case of buffered control blocks indexed may only be set to false, if only one instance of this type is possible, i.e. max=1."
And also this:

It seems to be me that max relates to the number of instantiable and we check that against the configured instances. For that we shouldn't use the max of RptEnabled. We should use "1" or the total number of configured ClientLN for this report. And I wonder what we should do if we have ExtRef but no ClientLN?
Am I barking :dog2: up the wrong :evergreen_tree: ? WDYT?
Here's an example file: XAT_Subsystem_Testing_old_coords_removed_test_removed_IED_fixup.scd.zip
I'm happy to do a bit of testing with the ICT tools on this if we agree on the direction we should go. But in the attached file, e.g. for XAT_T1_P1 the relay manual says: "The relay also supports as many as seven buffered and seven unbuffered report control blocks.", whereas we calculate seven reports for each ` element.

My experience with SIEMENS is that the number given by RptEnabled.max Is the number of instances you can find in the IED later when you discover the only data model. For me that is an configured report control block instance. I think the discussion in this tissue is backing this up. https://iec61850.tissue-db.com/tissues/1695#comment7360
WDYT?


Fix background image clipping when resizing in Chrome

As mentioned here: https://github.com/patternfly/patternfly-next/issues/323#issuecomment-413279848

Deploy preview for pf-next ready!
Built with commit cd7fa2f84b861151bce83ad93a6dbb66a4496dcb
https://deploy-preview-607--pf-next.netlify.com

Fantastic, thanks @andybraren for looking into this :)

I'm ok with this. Maybe instead of leaving it empty just give it a value. 120% should do it according to : https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/width#filter
What do you think @andresgalante

@andybraren sorry, I merged it and then tested it again and noticed that the image doesn't change size. Do you think you can look a bit more into this and try to fix it?

@matthewcarleton Unfortunately setting the width to 120% makes the clipping behavior return in Chrome.

:tada: This PR is included in version 1.0.27 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

@andresgalante @matthewcarleton  out of curiosity why is an image filter being used? Is it doing more than adding a black overlay too it with a certain opacity? Could the same be achieved with the example below?
.pf-c-background-image:after {
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  position: absolute;
  background-color: #000;
  opacity: 0.6;
  content: "";
}


fix .hbs vs .handlebars template extension issues

At least one issue with the file extension of a handlebars template has been found.
When using the template helper in the following example Thorax automatically appends .handlebars to the end of the templateName. B/c templates generated by the generator all currently use .hbs, and because the rjs plugin only currently processes templates ending .hbs the following code will not currently work:
{{#collection}}
  {{template "templates/book"}}
{{/collection}}

In the console, the following error will be shown:
Uncaught Error: templates: templates/book.handlebars does not exist
Similar issues are likely to exist, i will explore and update this issue with info I find accordingly.
A quick fix is simply to rename all .hbs to .handlebars and change the file extension expected in the rjs !hbs plugin, but a way to use .hbs and .handlebars would be more ideal. Another option is to precompile(like the old days).
I'm linking all issues that can be solved by pre-compilation(but not in favor of it at all, unless they add up to something significant, but they won't) - #118

This has been an open issue since 2013. Are there any plans for this? Seems like a fairly major bug, really. I stumbled hard on this for a while until I found this issue.


MSC2010: Add client-side spoilers

Rendered

@Sorunome please wrap lines at around 100 characters to make line-by-line review a bit easier, and resolve the threads which no longer apply

Looks pretty straight-forward to me, and essential for bridging other networks which include spoiler functionality, such as Discord. Thanks!
@mscbot fcp merge

related to https://github.com/matrix-org/matrix-doc/issues/604 and https://github.com/vector-im/riot-web/issues/5550

I had concerns about the media repo integration, but thought it truly is the only way to actually hide content in a very basic client, and it is backwards compatible. So all good from me.

implementation: https://github.com/matrix-org/matrix-react-sdk/pull/3018

This got merged without a sign-off, so here we go:
Signed-off-by: Sorunome<EMAIL_ADDRESS>

Spec PR: https://github.com/matrix-org/matrix-doc/pull/2548

Merged 🎉


Node install error

RUN curl -sL https://deb.nodesource.com/setup_6.x | bash \
W: GPG error: https://deb.nodesource.com trusty InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 1655A0AB68576280

I have the same error:
reading package lists...
W: GPG error: https://deb.nodesource.com trusty InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 1655A0AB68576280
Reading package lists...
Building dependency tree...
Reading state information...
fontforge is already the newest version.
unzip is already the newest version.
The following NEW packages will be installed:
  nodejs yarn
0 upgraded, 2 newly installed, 0 to remove and 1 not upgraded.
Need to get 11.7 MB of archives.
After this operation, 54.8 MB of additional disk space will be used.
WARNING: The following packages cannot be authenticated!
  nodejs
E: There are problems and -y was used without --force-yes
The command '/bin/sh -c curl -sL https://deb.nodesource.com/setup_6.x | bash     && curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -     && echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list     && apt-get update     && apt-get install -y --no-install-recommends         nodejs         yarn="$YARN_VERSION"         unzip         fontforge' returned a non-zero code: 100

os: ubuntu 18
command: docker build -t canvas-docker .


Forbid calling findRenderObject on an unmounted element

Calling context.findRenderObject() on an unmounted state/element is always a bad idea.
We check this for context.size, but not context.findRenderObject. I noticed this because in my efforts to make render objects disposable, we actually null out the RO after unmounting, which made an internal test fail because it started getting a null value in a callback that used to not get a null value.
Updates docs, adds a test.

This should not be landed until cl/377398477 has been submitted internally.

This will still have to wait on the internal CL, which will likely not get landed until Monday at the earliest due to an OOO reviewer.