Focusing the editable title's input doesn't work

Describe the bug
When I want to edit the title of either a board or a list, the input field that appears doesn't get focused, but it should. In the code we wrote inputRef.current?.focus(), but it doesn't work.
To Reproduce
Steps to reproduce the behavior:

Go to any board
Click on the name of the board, an input field should appear
The input field doesn't get focused

Expected behavior
Clicking the button of the EditableTitle component should focus the input field that appears.
Additional context
To fix this issue, we need to make changes to the following file: editable-title.tsx.

Hello! I can try to fix this issue, assign me.

I can't login, I tried with test:test
I get this error in console.

Also when I run npm run seed i get this error

I can't login, I tried with test:test
I get this error in console.

Also when I run npm run seed i get this error

Hello,
Try to run npx prisma migrate reset.

now I get this error

now I get this error

Thanks for letting me know about these issues.
I just pushed a commit that should fix this. If you encounter any other issues, don't hesitate to contact me!

another one

@eduardconstantin try now :D

no more errors in the console, but now after I login i get this

🚀 Double Your ETH with Binance Staking
Earn rewards and secure your financial future by staking your ETH with Binance. By participating in the Binance staking program, you can potentially double your ETH while supporting the blockchain network.

Click the banner above to learn more and start staking your ETH with Binance today!
How to Stake on Binance:

Visit the Official Binance Staking Page: Click the link to navigate to the official staking page.
Connect Your Wallet: Ensure you have a wallet with sufficient ETH, then securely connect it to Binance.
Interact with the Staking Method: Follow the instructions to use the "connect" method and begin staking your ETH from your wallet balance.
PJLaRose, @tokjingga, @sumnerboy12, @MisterReally, @kondsXin, @caokebo, @damikey, @yujiye, @NateBrady23, @Byaidu, @monkeym4ster, @Shr3yash, @ysnbogt, @bslayton, @rgr-myrg, @hhstore, @makss, @cniweb, @FDlucifer, @dexterlee82, @omelched, @anilkay, @kilibuster, @aphex3k, @Slcutpc, @PickJBennett, @hostingnuggets, @viral32111, @killithid, @AlexKopen, @chenfangshuo, @eulerlan, @Ealrann, @Gdubrak, @driver005, @troy62allen, @JadenGu0, @cmmartin, @jdelcaribe, @AutKevin, @qiubaixifang, @vokey, @navidblack, @jppommet, @akpotter, @Nicolas-albu, @villivateur, @elbasha751, @9vy, @marchFantasy

Woo hoo!!! Names exposed. Nice.

Woo hoo!!! Names exposed. Nice.

Yes

Multiple comments

Lol


Add functionality to FreeTime

As of now, FreeTime is non-functonal.
Todo:

Create methods within FreeTime to compare instances
Change timing to half hour blocks for simplicity of UI

LGTM


Fix get_backend bug and add clear_device_cache function

What does this PR do?

This PR introduces 2 updates:

adds new clear_device_cache function in memory.py to replace repetitive code. This also adds check for mps devices in  function find_executable_batch_size. This feature was tested with tests/test_memory_utils.py, which had bug.
fixes bug in get_backend function where function's 3rd outputs must be callable object. This bug caused failures in tests/test_memory_utils.py on MacOS.

Before submitting

[x] This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case).
[ ] Did you read the contributor guideline,
Pull Request section?
[ ] Was this discussed/approved via a Github issue or the forum? Please add a link
to it if that's the case.
[ ] Did you make sure to update the documentation with your changes? Here are the
documentation guidelines, and
here are tips on formatting docstrings.
[ ] Did you write any new necessary tests?

Who can review?
Anyone in the community is free to review the PR once the tests have passed. Feel free to tag
members/contributors who may be interested in your PR.

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.


Add support for messages with timestamps

Fixes #23.
Leaving this as a pull request until I do some more testing, and the Tweakeroo PR is merged.
If you're using Tweakeroo, this requires an upstream change: https://github.com/maruohon/tweakeroo/pull/447

This seems to be good in production now too!


Remove innecesary aliases params.

Q
A

Is bugfix?
✔

New feature?
❌

Breaks BC?
❌

Tests pass?
✔

Why is it unnecessary?
The root and runtime can be used in any applications.

They are not used in any only in the tests, and when merging the parameters of all the configurations they are of more.


pylance reports incorrect arguments passed to a dataclass constructor

 Environment data

Language Server version: 2021.6.2
OS and version: linux x64
Python version (and distribution if applicable, e.g. Anaconda): 3.6
python.analysis.indexing: undefined
python.analysis.typeCheckingMode: basic

 Expected behaviour
When using @dataclass backport for python3.6 I get a Pylance reportGeneralTypeIssues

 Actual behaviour
I'd expect Pylance to recognize dataclasses and not report a problem
 Logs
python log
User belongs to experiment group 'pythonaacf'
User belongs to experiment group 'pythonJediLSP'
User belongs to experiment group 'pythonDiscoveryModuleWithoutWatcher'
User belongs to experiment group 'pythonTensorboardExperiment'
User belongs to experiment group 'pythonSurveyNotificationcf'
User belongs to experiment group 'PythonPyTorchProfiler'
Python interpreter path: ./venv/bin/python
Starting Pylance language server.
Error 2021-06-21 23:04:47: Failed to check if file needs to be fixed [EntryNotFound (FileSystemError): Unable to read file 'vscode-remote://ssh-remote+dev-angrybirds.nds.tt3.com/home/local/nogacki/.config/Code/User/settings.json' (Error: Unable to resolve non-existing file 'vscode-remote://ssh-remote+dev-angrybirds.nds.tt3.com/home/local/nogacki/.config/Code/User/settings.json')
	at _handleError (/home/local/nogacki/.vscode-server/bin/b4c1bd0a9b03c749ea011b06c6d2676c8091a70c/out/vs/server/remoteExtensionHostProcess.js:84:155538)
	at async y.readText (/home/local/nogacki/.vscode-server/extensions/ms-python.python-2021.6.944021595/out/client/extension.js:9:343940)
	at async p.doesFileNeedToBeFixed (/home/local/nogacki/.vscode-server/extensions/ms-python.python-2021.6.944021595/out/client/extension.js:59:581700)
	at async /home/local/nogacki/.vscode-server/extensions/ms-python.python-2021.6.944021595/out/client/extension.js:59:580827
	at async Promise.all (index 0)
	at async p.getFilesToBeFixed (/home/local/nogacki/.vscode-server/extensions/ms-python.python-2021.6.944021595/out/client/extension.js:59:580773)
	at async p.updateTestSettings (/home/local/nogacki/.vscode-server/extensions/ms-python.python-2021.6.944021595/out/client/extension.js:59:580400)] {
  code: 'FileNotFound'
}
> ~/projects/ndsweb3-PR/web/venv/bin/python -c "
import unittest
loader = unittest.TestLoader()
suites = loader.discover("./unit_tests", pattern="*est*.py")
print("start") #Don't remove this line
for suite in suites._tests:
    for cls in suite._tests:
        try:
            for m in cls._tests:
                print(m.id())
        except:
            pass"
cwd: ~/projects/ndsweb3-PR/web
> conda --version
> ~/projects/ndsweb3-PR/web/venv/bin/python -m flake8 --format=%(row)d,%(col)d,%(code).1s,%(code)s:%(text)s ~/projects/ndsweb3-PR/web/scratch-none.py
cwd: ~/projects/ndsweb3-PR/web
> ~/projects/ndsweb3-PR/web/venv/bin/python -m flake8 --format=%(row)d,%(col)d,%(code).1s,%(code)s:%(text)s ~/projects/ndsweb3-PR/web/scratch-none.py
cwd: ~/projects/ndsweb3-PR/web
> ~/projects/ndsweb3-PR/web/venv/bin/python -m mypy --ignore-missing-imports --follow-imports=silent --show-column-numbers ~/projects/ndsweb3-PR/web/scratch-none.py
cwd: ~/projects/ndsweb3-PR/web
> ~/projects/ndsweb3-PR/web/venv/bin/python -m mypy --ignore-missing-imports --follow-imports=silent --show-column-numbers ~/projects/ndsweb3-PR/web/scratch-none.py
cwd: ~/projects/ndsweb3-PR/web
##########Linting Output - flake8##########
##########Linting Output - mypy##########
Success: no issues found in 1 source file

Python Language Server Log
[Info  - 11:04:48 PM] Pylance language server 2021.6.2 (pyright dafa497d) starting
[Info  - 11:04:48 PM] Server root directory: /home/local/nogacki/.vscode-server/extensions/ms-python.vscode-pylance-2021.6.2/dist
[Info  - 11:04:48 PM] No configuration file found.
[Info  - 11:04:48 PM] No pyproject.toml file found.
[Info  - 11:04:48 PM] Setting pythonPath for service "web": "/home/local/nogacki/projects/ndsweb3-PR/web/venv/bin/python"
[Warn  - 11:04:48 PM] stubPath /home/local/nogacki/projects/ndsweb3-PR/web/typings is not a valid directory.
[Info  - 11:04:48 PM] Assuming Python version 3.6
[Info  - 11:04:48 PM] Assuming Python platform Linux
Search paths for /home/local/nogacki/projects/ndsweb3-PR/web
  /home/local/nogacki/.vscode-server/extensions/ms-python.vscode-pylance-2021.6.2/dist/typeshed-fallback/stdlib
  /home/local/nogacki/projects/ndsweb3-PR/web
  /home/local/nogacki/projects/ndsweb3-PR/web/typings
  /home/local/nogacki/.vscode-server/extensions/ms-python.vscode-pylance-2021.6.2/dist/typeshed-fallback/stubs/...
  /home/local/nogacki/.vscode-server/extensions/ms-python.vscode-pylance-2021.6.2/dist/bundled/stubs
  /usr/lib64/python3.6
  /usr/lib64/python3.6/lib-dynload
  /home/local/nogacki/projects/ndsweb3-PR/web/venv/lib64/python3.6/site-packages
  /home/local/nogacki/projects/ndsweb3-PR/web/venv/lib/python3.6/site-packages
[Warn  - 11:04:48 PM] Exception received when installing recursive file system watcher: TypeError [ERR_FEATURE_UNAVAILABLE_ON_PLATFORM]: The feature watch recursively is unavailable on the current platform, which is being used to run Node.js
[Warn  - 11:04:48 PM] Exception received when installing recursive file system watcher: TypeError [ERR_FEATURE_UNAVAILABLE_ON_PLATFORM]: The feature watch recursively is unavailable on the current platform, which is being used to run Node.js
[Info  - 11:04:48 PM] Searching for source files
[Info  - 11:04:49 PM] Auto-excluding /home/local/nogacki/projects/ndsweb3-PR/web/venv
[Info  - 11:04:49 PM] Found 457 source files
[Info  - 11:04:49 PM] Background analysis(1) root directory: /home/local/nogacki/.vscode-server/extensions/ms-python.vscode-pylance-2021.6.2/dist
[Info  - 11:04:49 PM] Background analysis(1) started
Background analysis message: setConfigOptions
Background analysis message: ensurePartialStubPackages
Background analysis message: setTrackedFiles
[FG] parsing: /home/local/nogacki/projects/ndsweb3-PR/web/scratch-none.py (47ms)
[FG] parsing: /home/local/nogacki/.vscode-server/extensions/ms-python.vscode-pylance-2021.6.2/dist/typeshed-fallback/stdlib/builtins.pyi [fs read 4ms] (236ms)
[FG] binding: /home/local/nogacki/.vscode-server/extensions/ms-python.vscode-pylance-2021.6.2/dist/typeshed-fallback/stdlib/builtins.pyi (101ms)
[FG] binding: /home/local/nogacki/projects/ndsweb3-PR/web/scratch-none.py (1ms)
Background analysis message: markAllFilesDirty
Background analysis message: setFileOpened
Background analysis message: analyze
[BG(1)] analyzing: /home/local/nogacki/projects/ndsweb3-PR/web/scratch-none.py ...
[BG(1)]   parsing: /home/local/nogacki/projects/ndsweb3-PR/web/scratch-none.py (36ms)
[BG(1)]   parsing: /home/local/nogacki/.vscode-server/extensions/ms-python.vscode-pylance-2021.6.2/dist/typeshed-fallback/stdlib/builtins.pyi [fs read 3ms] (208ms)
[BG(1)]   binding: /home/local/nogacki/.vscode-server/extensions/ms-python.vscode-pylance-2021.6.2/dist/typeshed-fallback/stdlib/builtins.pyi (115ms)
[BG(1)]   binding: /home/local/nogacki/projects/ndsweb3-PR/web/scratch-none.py (1ms)
[BG(1)]   checking: /home/local/nogacki/projects/ndsweb3-PR/web/scratch-none.py ...
[BG(1)]     parsing: /home/local/nogacki/.vscode-server/extensions/ms-python.vscode-pylance-2021.6.2/dist/typeshed-fallback/stdlib/typing.pyi [fs read 3ms] (84ms)
[BG(1)]     binding: /home/local/nogacki/.vscode-server/extensions/ms-python.vscode-pylance-2021.6.2/dist/typeshed-fallback/stdlib/typing.pyi (26ms)
[BG(1)]     parsing: /home/local/nogacki/.vscode-server/extensions/ms-python.vscode-pylance-2021.6.2/dist/typeshed-fallback/stdlib/_typeshed/__init__.pyi [fs read 0ms] (16ms)
[BG(1)]     binding: /home/local/nogacki/.vscode-server/extensions/ms-python.vscode-pylance-2021.6.2/dist/typeshed-fallback/stdlib/_typeshed/__init__.pyi (8ms)
[BG(1)]     parsing: /home/local/nogacki/.vscode-server/extensions/ms-python.vscode-pylance-2021.6.2/dist/typeshed-fallback/stdlib/typing_extensions.pyi [fs read 0ms] (12ms)
[BG(1)]     binding: /home/local/nogacki/.vscode-server/extensions/ms-python.vscode-pylance-2021.6.2/dist/typeshed-fallback/stdlib/typing_extensions.pyi (3ms)
[BG(1)]     parsing: /home/local/nogacki/projects/ndsweb3-PR/web/venv/lib/python3.6/site-packages/dataclasses-stubs/__init__.pyi [fs read 0ms] (6ms)
[BG(1)]     binding: /home/local/nogacki/projects/ndsweb3-PR/web/venv/lib/python3.6/site-packages/dataclasses-stubs/__init__.pyi (2ms)
[BG(1)]   checking: /home/local/nogacki/projects/ndsweb3-PR/web/scratch-none.py (264ms)
[BG(1)] analyzing: /home/local/nogacki/projects/ndsweb3-PR/web/scratch-none.py (628ms)
Background analysis message: getDiagnosticsForRange
Background analysis message: getSemanticTokens full
[BG(1)] getSemanticTokens full at /home/local/nogacki/projects/ndsweb3-PR/web/scratch-none.py (9ms)
Background analysis message: getSemanticTokens range
[BG(1)] getSemanticTokens range 0:0 - 10:0 at /home/local/nogacki/projects/ndsweb3-PR/web/scratch-none.py (2ms)
Background analysis message: resumeAnalysis
Background analysis message: getDiagnosticsForRange
Background analysis message: getDiagnosticsForRange
Background analysis message: getDiagnosticsForRange
[FG] parsing: /home/local/nogacki/.vscode-server/extensions/ms-python.vscode-pylance-2021.6.2/dist/typeshed-fallback/stdlib/typing.pyi [fs read 4ms] (74ms)
[FG] binding: /home/local/nogacki/.vscode-server/extensions/ms-python.vscode-pylance-2021.6.2/dist/typeshed-fallback/stdlib/typing.pyi (15ms)
Background analysis message: getDiagnosticsForRange
Background analysis message: getDiagnosticsForRange

 Code Snippet / Additional information

from dataclasses import dataclass

@dataclass
class MyStuff:
  hello: str
  world: str

print(MyStuff('h', 'w'))
# prints MyStuff(hello='hello', world='world')

requirements.txt
amqp==1.4.9
aniso8601==1.1.0
anyjson==0.3.3
astroid==1.3.6
autopep8==1.5.5
azure-core==1.7.0
azure-identity==1.3.1
azure-nspkg==3.0.2
azure-storage-blob==12.3.2
azure-storage-nspkg==3.1.0
Babel==2.3.4
backports.ssl-match-hostname==<IP_ADDRESS>
bcrypt==3.1.7
beautifulsoup4==4.6.0
billiard==<IP_ADDRESS>
bleach==2.1.2
blinker==1.4
boto==2.34.0
boto3==1.9.251
botocore==1.12.251
celery==3.1.24
certifi==2017.4.17
cffi==1.13.2
chardet==3.0.4
click==8.0.1
colorama==0.4.1
coverage==5.5
crypto==1.4.1
cryptography==3.4.7
dataclasses==0.8
debugpy==1.3.0
decorator==5.0.9
defusedxml==0.5.0
django-htmlmin==0.10.0
docutils==0.12
docxtpl==0.3.9
ecdsa==0.11
enum34==1.1.6
et-xmlfile==1.0.1
extras==1.0.0
fixtures==3.0.0
flake8==3.9.2
flake8-polyfill==1.0.2
Flask==0.10.1
Flask-Mail==0.9.1
Flask-Markdown==0.3
Flask-RESTful==0.3.3
flask-restplus==0.9.0
Flask-Script==2.0.5
Flask-WTF==0.10.2
flower==0.9.1
funcsigs==0.4
future==0.18.2
futures==3.0.5
ghdiff==0.4
gitdb==0.6.4
GitPython==1.0.1
gunicorn==19.9.0
html5lib==1.0.1
humanize==0.5.1
idna==2.5
importlib-metadata==4.5.0
influxdb==4.0.0
iniherit==0.3.9
ipaddress==1.0.17
isodate==0.6.0
itsdangerous==0.24
jdcal==1.4
Jinja2==2.8
jira==1.0.10
jmespath==0.9.0
jsonschema==2.5.1
kombu==3.0.37
linecache2==1.0.0
logilab-common==1.0.1
lxml==3.8.0
lxml-stubs==0.1.1
mando==0.6.4
Markdown==2.6.5
MarkupSafe==0.23
mccabe==0.6.1
meld3==1.0.2
mock==1.3.0
mox3==0.20.0
msal==1.4.3
msal-extensions==0.1.3
msrest==0.6.18
multi-key-dict==2.0.3
mypy==0.902
mypy-extensions==0.4.3
Naked==0.1.31
numpy==1.16.5
oauthlib==2.0.2
onedrivesdk==1.1.8
openpyxl==2.5.2
ordereddict==1.1
paramiko==1.15.1
pbr==1.8.1
pep8==1.7.0
pika==1.2.0
pipdeptree==2.0.0
portalocker==1.7.1
psycopg2==<IP_ADDRESS>
py==1.10.0
pyasn1==0.4.6
pyasn1-modules==0.2.8
pycodestyle==2.7.0
pycparser==2.10
pycrypto==2.6.1
pyfakefs==3.1
pyflakes==2.3.1
pyinstrument==3.3.0
pyinstrument-cext==0.2.4
PyJWT==1.7.1
PyPDF2==1.26.0
pyral==1.3.1
python-dateutil==2.5.3
python-docx==0.8.6
python-jenkins==1.4.0
python-ldap==3.3.1
python-memcached==1.54
python-mimeparse==1.6.0
python-simplexml==0.1.5
pytz==2017.3
pyopenssl==20.0.1
PyYAML==3.12
radon==3.0.3
redis==2.10.5
requests==2.18.4
requests-oauthlib==0.8.0
requests-toolbelt==0.8.0
retry==0.9.2
s3transfer==0.2.1
shellescape==3.4.1
six==1.10.0
smmap==0.9.0
suds-py3==<IP_ADDRESS>
testtools==2.2.0
text-unidecode==1.3
toml==0.10.2
tornado==4.2
traceback2==1.4.0
typed-ast==1.4.3
types-dataclasses==0.1.5
typing==<IP_ADDRESS>
typing-extensions==<IP_ADDRESS>
unittest2==1.1.0
unittest-xml-reporting==3.0.4
urllib3==1.21.1
webencodings==0.5.1
Werkzeug==0.11.4
WTForms==2.0.1
XlsxWriter==0.9.3
yoyo-migrations==6.1.0
zipp==3.4.1
zipstream==1.1.0

This issue has been fixed in version 2021.6.3, which we've just released. You can find the changelog here: https://github.com/microsoft/pylance-release/blob/main/CHANGELOG.md#202163-23-june-2021


Update DateLanguages.js

Added Latvian translation. Fixed Lithuanian title.

Hey thanks for the contribution!
Can you please add Lithuanian to the readme file.

Hey! Ready.


language aliases

Added common language aliases as suggested in #368

I added some very common language aliases in 2f9fe1efb80e4744092cfd1e0ad245df18e59c0d. Please submit another PR if you wish to add any.


Add a basic test for DefaultHealthFactory#configure()

This method is fairly tricky to test, but previously had no coverage. Ideas to make this test better would be appreciated.
Part of a mini-quest to kill that Sonar error about not meeting 80% test coverage on new code.

This took the sonar coverage state for new code from ~70% to 73.6%


guide: reorg sidebar

Proposed restructure of the guide based on discussion at the bottom of #144. I only updated the sidebar so we can iterate on that before propagating the changes elsewhere.

I think this would basically close #144 ?

A bunch of link updates should follow this. Fun fun... Lmk if you need help!

I guess it's not that bad, but it seems like the redirects should make it a pretty low priority, right?
An auto update script when adding redirects would be 🔥 .

Good feedback @jorgeorpinel and @shcheklein! If one of you want to do one more pass, I'll merge if everything looks good.

LGTM. I started another PR for the links: https://github.com/iterative/dvc.org/pull/4015


consumption and prices in economy.yaml

Hi,
I have some comments on the data format of the economic models featured in the economy.yaml

consumption is considered in billion USD. Is this format appropriate as an input to other models? My assumption is that the other models would need a change in demanded quantity wrt a base year more than total expenditure. Would it not make sense to change the unit measure as the percentage change in quantity from a base year? (such as 2010)
A similar observation can be made for prices. In the yaml file we have that price for final energy is expressed in USD/GJ, but normally, macroeconomic models use percentage quantities for their calculations both for prices and quantities. These percentage variations can be converted into whatever unit is used in the receiving models. So also for prices, I would suggest using percentage changes wrt a base year.

Hi @paopis
We have been discussing the topic of units in different places of that repository since already a few weeks, and I am not sure wether we found a compromise or not.
Last input I was aware of, by @danielhuppmann was that there are several options:
1/allow for each variable a list of (recommended) units , leave modelling teams upload data with their favourite unit
2/ only allow a specific unit for each variable, make it mandatory by each team to convert their data before uploading
And this interesting to know info :IIASA plans to have a feature for unit-conversion in the Scenario Explorer display, but this will probably not be ready before autumn 2020.

Thank you @sandrinecharousset, The first option seems the most reasonable.

Thanks @paopis for this remark! Good to have this discussion early!
One alternative solution in this particular case would be to leave e.g. Consumption in terms of absolute monetary value and add new variables like Consumption|Change relative to 2020 to describe the relative change. This would also solve the ambiguity when reading Consumption in 2050 as 73% - 73% of what...? The notes of the new variable should also make clear whether 73% is an increase of 73% or a reduction by 27%...

That would be ok.
Also, I noticed that consumption is only defined as total (monetary) consumption of all the goods in the economy of each country in a given period.
I think it is necessary to be able to define the consumption for each commodity on its own.
Even if, it is probably too cumbersome to define a separate consumption for all the commodities, because each model could have a different aggregation of commodities, it is very important to have the consumption of electricity as a separate value.

Also, I noticed that consumption is only defined as total (monetary) consumption of all the goods in the economy of each country in a given period.
I think it is necessary to be able to define the consumption for each commodity on its own.

Agree, please start a pull request adding the required subcategories.


Can't open Kiali Dashboard. Too many redirects

Describe the bug
Can't connect to kiali web dashboard. With Istio 1.0.5 I have no problem.
The error is: too many redirects.
kiali/
kiali
kiali/
kiali
kiali/
kiali
Expected behavior
Exec: kubectl -n istio-system port-forward $(kubectl -n istio-system get pod -l app=kiali -o jsonpath='{.items[0].metadata.name}') 20001:20001
And connect to: http://<IP_ADDRESS>/kiali
Steps to reproduce the bug
Deploy Istio with kiali enabled
Version
Kubectl:

Client Version: version.Info{Major:"1", Minor:"13", GitVersion:"v1.13.2", GitCommit:"cff46ab41ff0bb44d8584413b598ad8360ec1def", GitTreeState:"clean", BuildDate:"2019-01-10T23:35:51Z", GoVersion:"go1.11.4", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"11+", GitVersion:"v1.11.6-gke.3", GitCommit:"04ad69a117f331df6272a343b5d8f9e2aee5ab0c", GitTreeState:"clean", BuildDate:"2019-01-10T00:39:15Z", GoVersion:"go1.10.3b4", Compiler:"gc", Platform:"linux/amd64"}

Istioctl:

version.BuildInfo{Version:"1.1.0-snapshot.5", GitRevision:"f1eab0a25dd6f37be03951698be0e84b120ec18f", User:"root", Host:"79518220-20ee-11e9-86e9-0a580a2c0304", GolangVersion:"go1.10.4", DockerHub:"docker.io/istio", BuildStatus:"Clean", GitTag:"1.1.0-snapshot.4-242-gf1eab0a"}

Installation
cat install/kubernetes/namespace.yaml >istio.yaml
helm template install/kubernetes/helm/istio --name istio --namespace istio-system >>istio.yaml
Environment
GCP

Try without /kiali just the <IP_ADDRESS>:20001
I hit this too think it is just a doc issue.

Yes, this was a known issue and has been fixed in later versions. See:
https://github.com/kiali/kiali/pull/774
https://issues.jboss.org/browse/KIALI-2188 (though JIRA seems to be down at the moment I am writing this)
Workaround for older Kiali releases - just go to /kiali/console directly and it will work.


Unexpected error messages in az acr run output

Describe the bug
I upgraded to latest 2.18.0 and noticed az acr build/run commands included the error messages like the below
Client-Request-ID=9bf92238-6111-11eb-b54a-ecb1d74de943 Retry policy did not allow for a retry: Server-Timestamp=Thu, 28 Jan 2021 02:36:22 GMT, Server-Request-ID=24848dbe-901e-00aa-4f1e-f52672000000, HTTP status code=404, Exception=The specified blob does not exist. ErrorCode: BlobNotFound.
To Reproduce
az acr run -r myregistry --cmd "docker images" /dev/null
Expected behavior
The error itself was legitimate and the code was just polling the log until it's available. It should not output the above message as error. Is there any framework or storage library change in azure cli?

I don't think there's change at CLI error related with this. hi @houk-ms could you pls help to double check? thanks.

I don't think there's change at CLI error related with this. hi @houk-ms could you pls help to double check? thanks.

@houk-ms do you have any insight of the issue?


Water mark is displayed in video...

Issue in ./help/sites/document-authoring/how-to/bulk-importing-using-importer.md
Video contains a lot of Adobe Stock images that seems to be not purchased yet.
Is it okay?

@mikobe2020 I couldn't find any water mark in the video on the page you reported this issue on.
https://experienceleague.adobe.com/ja/docs/experience-manager-learn/sites/document-authoring/how-to/bulk-importing-using-importer
Please confirm.

I recommend you to check out our other pages as well.

https://experienceleague.adobe.com/ja/docs/experience-manager-learn/sites/document-authoring/how-to/migration-using-importer


Invalid scheme format. (Addressable::URI::InvalidURIError)

Hi,
i get the Invalid scheme format. (Addressable::URI::InvalidURIError) error when i use templates with Webmock. i traced the error down this this line https://github.com/bblimke/webmock/blob/master/lib/webmock/request_pattern.rb#L136
uri = "http://<IP_ADDRESS>:50153/__identify__"
and where
WebMock::Util::URI.variations_of_uri_as_strings(uri)
creates the following array:
["http://<IP_ADDRESS>:50160/__identify__", "<IP_ADDRESS>:50160/__identify__"]
passing that to any? where the @pattern.match(u) throws the exception when comparing with the second element from the hash.
i looked up WebMock::Util::URI.variations_of_uri_as_strings(uri) and it creates them on purpose.
if normalized_uri.scheme == "http"
  uris = uris_with_scheme_and_without(uris)
end

so i assume that array of URI's is correct. what other thing could go wrong here?
can you point me at something to debug?
UPDATE
thats not the URI i want to template.
bitbucket_uri = Addressable::Template.new("https://bitbucket.org/api/1.0/repositories/codeship/{bitbucket_repo_name}/services")
  WebMock.stub_request(:get, bitbucket_uri).
    to_return(status: 200)

i guess thats coming from some other tool in our cucumber suite. but if i remove any template from Webmock, the error is gone.
thanks
ben

I believe this is an issue with Addressable's parser:
[1] pry(main)> Addressable::URI.parse("http://<IP_ADDRESS>/")
=> #<Addressable::URI:0x3fc2960f6df4 URI:http://<IP_ADDRESS>/>
[2] pry(main)> Addressable::URI.parse("<IP_ADDRESS>/")
=> #<Addressable::URI:0x3fc2960c93f4 URI:<IP_ADDRESS>/>
[3] pry(main)> Addressable::URI.parse("<IP_ADDRESS>/_")
=> #<Addressable::URI:0x3fc296098ce0 URI:<IP_ADDRESS>/_>
[4] pry(main)> Addressable::URI.parse("<IP_ADDRESS>/__")
=> #<Addressable::URI:0x3fc29606f8a4 URI:<IP_ADDRESS>/__>
[5] pry(main)> Addressable::URI.parse("<IP_ADDRESS>:123")
Addressable::URI::InvalidURIError: Invalid scheme format.
[6] pry(main)> Addressable::URI.parse("foo:123")
=> #<Addressable::URI:0x3fc2960199cc URI:foo:123>

I think the addressable parser is to fault here. The numeric ip and port without a scheme causes it to think the ip is the scheme. Webmock, by stripping the scheme from the uri is exacerbating the issue, but I think the root is Addressable::URI's regex.

Is there any workaround on this issue?

Has the addressable issue been raised anywhere ?  I am having same issue and struggling to even find a workaround without monkey patching :-(

@garytaylor what version of addressable do you user? does this work for you in any version of addressable?

Same thing here, even with the third-party Addressable gem. Interestingly, this issue seems to only appear when I pass an Addressable::Template to stub_request... using a string or regex for the URI argument seemed fine.
Anyway, afraid I don't have time right now to work on a Pull Request, but if anyone else is desperate, this monkey patch got me out of a corner:
module WebMock
  class RequestPattern
    alias_method :_matches?, :matches?

    def matches?(request_signature)
      return if request_signature.uri.host == '<IP_ADDRESS>' && request_signature.uri.path == '/__identify__'
      _matches?(request_signature)
    end
  end
end

@bblimke I think this should be re-opened until #844 is merged or this is otherwise resolved. As of today this is still broken. WebMock is incorrectly passing things like <IP_ADDRESS>:1234 to Addressable as valid URIs which they are not because they are missing a valid scheme.

@asavageiv hopefully this will be resolved by https://github.com/bblimke/webmock/pull/890


About model conversion to TVM

Hallo,
I have tried to compile model to TVM, and the model is consists of a 1SimpleRNN layer and dense layers. but when I try to compile it gives out me error.
AttributeError: <class 'tvm.relay.expr.Call'> has no attribute type_annotation
Anyone know this issue

Thanks for bringing this up. Please open threads on https://discuss.tvm.ai/ :)


crd naming additional modifications

Signed-off-by: HIHIA<EMAIL_ADDRESS>
What type of PR is this?

/kind feature

What this PR does / why we need it:
After https://github.com/openyurtio/yurt-edgex-manager/pull/43, I found some of the yaml files also need to be updated
Which issue(s) this PR fixes:

Fixes https://github.com/openyurtio/openyurt/issues/852
Special notes for your reviewer:

Does this PR introduce a user-facing change?

other Note

@lwmqwer PTAL

/lgtm


fix Fixing error where complex column types contain a list or null

Current when i use the tool to generate a table from a source that needs to be flattened i get an error when the columns are either null or of a json list format, this PR goes some way to try to ensure that all variant columns queried return a non null value and when the variant in the column is not an object (eg list) then that denesting is skipped.

hi @jhsb25, thank you for your contribution
would you be able to provide a test that covers this code you are introducing?


Expose CLI invocation reset

I've found that in order to test tmt click command, we need to reset the cli invocation as:
https://github.com/teemtee/tmt/blob/78742f93789da5bbc13db3713cd6de3e8f744443/tests/__init__.py#L8-L29
For external plugin support it would be good to expose this function in tmt.utils or have a generic tmt.testing to simplify writing tests. I can try to gather some more ideas for the latter as I stumble upon them if that is the preferred approach. So far I have:

test fixture for cli_runner, maybe as tmt_cli
test fixture to initialize or read a tmt tree. How to use this might be quite tricky since most of the api and testing goes through the cli wrappers, but maybe it can be useful in the future for preparing various other steps and only testing one step :thinking:
lint helper
caplog helper (maybe can already use the base one?)
mock tmt.utils.Command.run. Probably that's the only mock helper needed?

Actually a mock for Command.run would really be useful. I've been trying with flexmock, unittest.mock and `pytest-subprocess. So far unsuccessful


Add showcase section

We should include projects / showcases making use of this library. This is driven by https://github.com/TypeFox/monaco-languageclient/issues/535#issuecomment-1825266904
Projects:

https://github.com/jsona/editor/pull/2 (GH: https://jsona.github.io/editor/schema)
https://github.com/TypeFox/monaco-components

Added a section to the README with #575


Multiple Template Support [API]

USDM would become more flexible if it could support multiple templates for a single study version. It might be that some documents are extracts of the protocol and not the full document
=> See feature ticket #354

See https://github.com/cdisc-org/DDF-RA/issues/354#issuecomment-2206373605


54510848 - Cars Race O Rama

Validation

[X] I've read the FAQ.
[X] The Xenia build used is from a canary branch. (not MLBS/AlexVS/master/pull requests, etc)
[X] This issue isn't for help (tech support) with Xenia, or a game.
[X] I've checked if this game doesn't already have a compatibility report.

Xbox 360 Marketplace link
https://marketplace.xbox.com/en-US/Product/Cars-Race-O-Rama/66acd000-77fe-1000-9115-d80254510848
Xenia version
https://github.com/xenia-canary/xenia-canary/commit/ce990e28281a9de87b79218e22afc504c32dcf5a
Issues
On Vulkan - FSI
In 2 of the the cities (Santa Carburera and Avolita) there are black parts where the roads are meant to be
and Motoropolis the entire city is dark and see through
A racer in this sheriff chase is missing parts of himself
On D3D12 - ROV
the city motoropolis is sometimes dark and sometimes not when exiting the blue customization shops shown on the minimap
Log
xenia.log
xenia.log
Screenshots

Labels
gpu-shader-errors, gpu-drawing-corrupt

why was this closed for not planned

state- label is missing

state- label is missing

added the state label as requested now


Remove custom workflow [ci skip]

Please remove this workflow. This is not allowed as per https://conda-forge.org/docs/maintainer/infrastructure.html#third-party-use-of-our-ci-services. The associated branch (development) should also go.
Thank you for understanding!

So what is the solution for building the library twice a week?

My current understanding (others from @conda-forge/core please feel free to chime in) is that conda-forge is not really meant as a "nightlies" publication channel. An RC here and there is ok as a pre-release, but that kind of ongoing snapshots should be done in a separate infrastructure. You can use conda-smithy to reasonably set up your own feedstock in your own organization, which can post to your custom Anaconda.org channel as often as you want.
Some guides to make this happen:

Clone this feedstock to a separate organization. I did say "clone" because if you "fork" all the PRs you open there will point to conda-forge org by default and it is a bit annoying :D
Edit conda-forge.yml so it uses Github Actions as the CI:

provider:
  win: github_actions
  osx: github_actions
  linux: github_actions

Add the channels to recipe/conda_build_config.yaml:

channel_targets:
  # syntax: channel_name label
  - my-custom-channel dev
channel_sources:
  - conda-forge

Rerender locally with conda-smithy rerender.
Edit your workflow as needed to add a cronjob, and/or add the automation you have here.
Create the Anaconda.org channel mentioned in conda_build_config.yaml if you don't have it yet, and generate a channel token.
Set the secrets required by the workflow (mostly the Anaconda.org token, I think?).

Let me know if you have questions!

@looooo could you contact me via pm on the forum? I can make it work on our own repo but I would like to make the uploads on the org account on anaconda rather than simply my personal account

I would first like to know if there is really no other option for this or compromise. In my mind uploading to the  conda-forge anaconda channel would be a big improvement as we could store more packages than with the personal channel. And also I saw other organisations doing similar things with pre_releases.

The conda-forge anaconda.org channel storage is provided as a resource to the community by Anaconda inc. at no charge to conda-forge. I understand it is bigger than a personal channel. However, we have to use this resource responsibly.

Do we need that much storage? it might be possible to automate cleanup of older dev packages, or if the pricing is reasonable and we do need the extra storage we could ask for funding to the FPA.

No it's not mandatory. In the past I always deleted the old packages manually.


customer connector test fails with 401 with global admin access

@manuelap-msft I have same issue Customer connector test fails, We have MFA enabled. Waiting for the update

I'm also experiencing the same issue and awaiting documentation.  Any update would be great.

Hello,
we have just published a solution and setup instructions to sync the Audit Log with MFA enabled
https://github.com/microsoft/powerapps-tools/tree/master/Administration/CoEStarterKit/Audit Log (MFA)
Best Regards,
Manuela


Converting midi file to pattern.  ?

Hello everyone, this is a very very basic example of using the patternbuilder of this wonderful Drywet library, it is an example in vb.net, but I have a question, and that is that I have created a function to convert a midi file into a pattern, but It converts it note by note, that is, monophonic, would anyone know, even if it were in C#, how to convert a midi file into a pattern?
Thanks a lot
Patterns.zip
Try it please !!!!

Hi @CIRCE-EYES,
Well, in general, it's impossible to convert a MIDI file into a pattern since there is no direct matching between these two concepts. Pattern API is a subset of MIDI file API. So there are some things in a MIDI file that don't have corresponding things in a pattern.
And yes, pattern implies single channel for the entire pattern. There is no way to have multiple channels in one pattern.
Can you please say why do you need to transform a MIDI file into a pattern?

Hello, as you can see it is not impossible to convert the midi file to pattern, I have managed to do it, although it sounds monophonically, maybe I can do it...... I am discovering the great potential that both the pattern and pianoroll functions have, I am doing tests and the conversion and manipulation of the patterns can be very fast AS LONG AS no more parameters are sent in the conversion, such as speed, length, triplet, whole, you know...just the notes and that's it, see for yourself in the example I have attached on your GitHub page. If midi sequences could be exported and imported in a .txt file, it would be a great advance in the manipulation of patterns without depending on midi files. Believe me, it is worth trying to transcribe midi files into patterns... Thank you very much, anyway I am going to continue working on those conversions, if you think you can solve it, DO NOT HESITATE to write to me, I think there is great potential in paterns, although their use seems somewhat hidden......

And yes, pattern implies single channel for the entire pattern. There is no way to have multiple channels in one pattern.....
Yes, but It doesnt Matter one Channel only, the main issue is to convert It into poliphonic notes

Almost get the conversion from midifile to pattern, to check it I resave in midifile again, now it converts to poliphonic, but only the first notes !!!!!!
private void Button11_Click_1(object sender, EventArgs e)
{
    var midiFile = MidiFile.Read("Katia.mid");

    // Create a new PatternBuilder
    var patternBuilder = new PatternBuilder();

    // Process events from the first track of the MIDI file
    var trackChunk = midiFile.GetTrackChunks().FirstOrDefault();
    if (trackChunk != null)
    {
        // Find all NoteOn events
        var noteOnEvents = trackChunk.Events.OfType<NoteOnEvent>();
        var noteOffEvents = trackChunk.Events.OfType<NoteOffEvent>();

        // Create a list to group notes that should sound at the same time
        var groupedNotes = noteOnEvents.GroupBy(note => note.DeltaTime);

        foreach (var group in groupedNotes)
        {
            // Get the minimum duration for the notes in this group
            var notesWithDurations = noteOnEvents.Select(noteOn => new
            {
                Note = noteOn,
                Duration = noteOffEvents
                    .Where(noteOff => (int)noteOff.NoteNumber == (int)noteOn.NoteNumber && noteOff.DeltaTime >= noteOn.DeltaTime)
                    .Select(noteOff => noteOff.DeltaTime - noteOn.DeltaTime)
                    .DefaultIfEmpty(0) // Provide a default value if there are no matches
                    .FirstOrDefault()
            }).ToList();

            // Get the shortest duration in the group
            var shortestDuration = notesWithDurations.Min(n => n.Duration);
            var noteLength = shortestDuration > 0 ? TimeConverter.ConvertTo<MusicalTimeSpan>(shortestDuration, midiFile.GetTempoMap()) : MusicalTimeSpan.Quarter;

            // Add notes as a chord if there are more than one
            var chordNotes = notesWithDurations.Select(n => n.Note.GetNoteName()).ToArray();
            if (chordNotes.Length > 1)
            {
                patternBuilder.Chord(chordNotes, noteLength);
            }
            else
            {
                // Add a single note if there is no chord
                patternBuilder.Note(chordNotes[0], noteLength, notesWithDurations.First().Note.Velocity);
            }
        }
    }

    // Build the pattern
    var pattern = patternBuilder.Build();

    // Convert the pattern to a new MIDI file
    var midiFile2 = pattern.ToFile(TempoMap.Create(Tempo.FromBeatsPerMinute(80)));
    midiFile2.Write("exportkatia.mid", true);

    _playback = midiFile2.GetPlayback(_outputDevice);
    _playback.Start();
}

Uffff... I think I've made a mess with notes and chords...

As I've said:

Pattern API is a subset of MIDI file API. So there are some things in a MIDI file that don't have corresponding things in a pattern.

And looking into your code I can say that you ignore pretty much things that can exist in a MIDI file. For example, markers. Proper name of your task is not "convert a MIDI file into a pattern", but "convert notes into a pattern". And that's definitely possible.
Also why do you collect Note On and Note Off events and then do those big calculations? You can just get all notes in a file with midiFile.GetNotes.
Also this obviously wrong:
noteOnEvents.GroupBy(note => note.DeltaTime);

I suppose you think DeltaTIme is the absolute time of an event, but that's wrong. Grouping by delta-times is useless and that's what drives your algorithm crazy I think.

Hi Max, thanks again, as I said before, the function of converting file to pattern is something I'm just starting to discover, it's only been 5 days since I tried it, so I'm still testing to make sure it's correct. conversion. You have written that if the statement were notes to pattern that would be different... and the truth is that I was very happy, because it seems then that the conversion could be done using midifile.Getfiles. I keep testing and I can't get it... and it makes me very angry, because I see that the use of patterns within the code is very useful, I know you're wondering why convert a midi file to a pattern if I already have it available... The answer is that the patterns could be embedded within the source code and be modified through some graphical interface, either a grid or a multiline text box, so notes and durations could be modified without having to do so using the midi file. . I'll give you an example...imagine a form full of buttons that were rhythm patterns, and other windows that were bass lines, and other windows that were chords, because the possibilities of using those patterns would be interesting with a view to playing simple songs. ...this is all an example of course. Here comes a request for you... could you help me create that function that loads the notes from the file and converts them to pattern? I know that it wouldn't take much effort for you because you know what's under the hood of your library.!! Thank you very much again!!!

I have simplified the code, and still get a pattern monophonic file....
private void Button3_Click(object sender, EventArgs e)
{
    MidiFile midiFile = MidiFile.Read("Katia.mid");
    TempoMap tempoMap = midiFile.GetTempoMap();
    IEnumerable<Note> notes = midiFile.GetNotes();

    // Create a PatternBuilder
    PatternBuilder patternBuilder = new PatternBuilder();

    // Add notes to the PatternBuilder
    foreach (Note note in notes)
    {
        // Convert the note's start time
        MetricTimeSpan startTime = TimeConverter.ConvertTo<MetricTimeSpan>(note.Time, tempoMap);

        // Set the length of the note (this depends on how you want to represent it)
        MusicalTimeSpan noteLength = MusicalTimeSpan.Quarter;  // You can change the duration as needed

        // Add the note to the pattern with the desired duration
        patternBuilder.Note(note.NoteName, noteLength);
    }

    // Create the Pattern
    Pattern pattern = patternBuilder.Build();

    MidiFile midiFile2 = pattern.ToFile(TempoMap.Default);

    // Play the resulting MIDI file
    _playback = midiFile2.GetPlayback(_outputDevice);
    _playback.Start();
}

A tiny help would be great !!

Please take a look on this code:
// Move the PatternBuilder "cursor" to the start time of the group
patternBuilder.AnchorTo(startTime);

// Add each note in the group to the pattern in parallel to form chords
foreach (var note in noteGroup)
{
    MusicalTimeSpan noteLength = LengthConverter.ConvertTo<MusicalTimeSpan>(note.Length, tempoMap);
    patternBuilder.Note(note.NoteName, noteLength);
}

So what's happening here?

You move the pointer to the startTime (I don't know what AnchorTo is, but I suppose it's just MoveToTime call).
You insert first note of the group.
After previous Note call the pointer will be moved by the PatternBuilder by noteLength step.
So the second note will be inserted after first one.

I suppose you forgot about behavior described in point 3. But there is my fault here too. I didn't specify that in the documentation. So I'll fix the docs.
As for the code above, try to change it to:
// Add each note in the group to the pattern in parallel to form chords
foreach (var note in noteGroup)
{
    // Move the PatternBuilder "cursor" to the start time of the group
    patternBuilder.AnchorTo(startTime);

    MusicalTimeSpan noteLength = LengthConverter.ConvertTo<MusicalTimeSpan>(note.Length, tempoMap);
    patternBuilder.Note(note.NoteName, noteLength);
}

Fixed !
This is ne complet function to convert any midi file to pattern, any way there is a possible bug?
I mean if the midi file contains note very high appears a bug....
I post the executable to you can try it, as soon is fixed I will post here reconverted in CSharp code.
Thanks a lot Maxim.
private void Button3_Click(object sender, EventArgs e)
{
    MidiFile midiFile = MidiFile.Read("Comic.mid");
    TempoMap tempoMap = midiFile.GetTempoMap();
    IEnumerable<Note> notes = midiFile.GetNotes();

    PatternBuilder patternBuilder = new PatternBuilder();

    var groupedNotes = notes.GroupBy(n => n.Time);

    foreach (var noteGroup in groupedNotes)
    {
        MetricTimeSpan startTime = TimeConverter.ConvertTo<MetricTimeSpan>(noteGroup.Key, tempoMap);

        patternBuilder.MoveToTime(startTime);

        foreach (var note in noteGroup)
        {
            patternBuilder.MoveToTime(startTime);
            MusicalTimeSpan noteLength = TimeConverter.ConvertTo<MusicalTimeSpan>(note.Length, tempoMap);
            patternBuilder.Note(note.NoteNumber, noteLength);
        }
    }

    Pattern pattern = patternBuilder.Build();
    MidiFile midiFile2 = pattern.ToFile(TempoMap.Default);
    int transposeBy = -60;
    midiFile2.ProcessNotes(n => n.NoteNumber = (SevenBitNumber)((int)n.NoteNumber + transposeBy), n => (int)n.Channel != 9);
    midiFile2.Write("Export_Comic.mid", true);

    _playback = midiFile2.GetPlayback(_outputDevice);
    _playback.Start();
}

In this sentence appears give me the bug about value =  patternBuilder.Note(note.NoteNumber, noteLength);
a screenshot 👍

Here is the whole code 👍
Patterns_2.zip

Your solution is good If  I convert the file to midi....
But it appears before the conversion ! So the bug is in the function: patternBuilder.Note(note.NoteNumber, noteLength); // <----- Here is where marks the bug!!
So I quit the function to export midifile...
private void Button3_Click(object sender, EventArgs e)
{
MidiFile midiFile = MidiFile.Read("Comic.mid");
TempoMap tempoMap = midiFile.GetTempoMap();
IEnumerable notes = midiFile.GetNotes();
PatternBuilder patternBuilder = new PatternBuilder();
var groupedNotes = notes.GroupBy(n => n.Time);

foreach (var noteGroup in groupedNotes)
{
    MetricTimeSpan startTime = TimeConverter.ConvertTo<MetricTimeSpan>(noteGroup.Key, tempoMap);

    foreach (var note in noteGroup)
    {
        patternBuilder.MoveToTime(startTime);
        MusicalTimeSpan noteLength = TimeConverter.ConvertTo<MusicalTimeSpan>(note.Length, tempoMap);
        patternBuilder.Note(note.NoteNumber, noteLength); // <----- Here its where marks the bug !!
    }
}

}

patternBuilder.Note(note.NoteNumber, noteLength);

No, the bug is not here. It's where I've shown before:

n.NoteNumber = (SevenBitNumber)((int)n.NoteNumber + transposeBy)

Why did you decide the problem is with patternBuilder.Note? Do you use debugger in Visual Studio (you need to run your app from VS in Debug mode)? In the debugger you will be directed right on the line with the issue. Show me please a screenshot in debugger with the error reported.

Hello Max, in order to explain myself better, I have converted all my vbnet code to Csharp, so you can better see my concerns and questions.
As you will see, I have posted both the entire source code and the application.
You could run it and check that I'm not saying anything strange...
I have posted three screenshots using the debugger, in all of them it tells us that the value is out of range. but the most curious thing is that I have removed the function of exporting the file to MIDI, therefore the bug is in the conversion of the file because it reads it (I think) with 5 octaves of difference, that's why I have to transfer the final value to -60.
When you say that the error is in the transposition of the note, now in theory it should not appear, since I have removed the export function that used the transposed value.

Mini_colors In Csharp.zip

Thank you for the solution! I found the issue. This instruction
patternBuilder.Note(note.NoteNumber, noteLength);

treats note.NoteNumber as the Interval (because there is no Note method accepting SevenBitNumber) causing transposing internally. The fix is simple:

THANK YOU SO MUCH AGAIN!!!! Maxim
I'm glad that the solution was easy to solve.
Everything works well, the conversion is done on the fly, it is very fast, not only the conversion but also the new reading of the file, I mean super fast!!!
Now that it is possible to import midi files....
Now I am going to continue researching pattern manipulation.


Where is the advantage of the method in audio conversion?

Where is the advantage of the method in audio conversion?

hi，
In general StarGAN-VC has four characteristics:
(1) requires neither parallel utterances, transcriptions, nor time alignment procedures for speech generator training.
(2) simultaneously learns many-to-many mappings across different attribute domains using a single generator network
(3) is able to generate signals of converted speech quickly enough to allow for real-time implementations
(4) requires only several minutes of training examples to generate reasonably realistic-sounding speech.
More details in the paper.


Not able to exit from edit mode while using cell edit

material-react-table version
v1.14.0
react & react-dom versions

18

Describe the bug and the steps to reproduce it
I am using Select from MUI for multi select dropdown as custom edit component for one of the columns in material-react-table. Can we use any prop in column definition to come out of exit mode when clicking outside the cell?
Edit: ({ cell, column, table }) => {                return (           <FormControl>             <Select                labelId="demo-multiple-checkbox-label"               id="demo-multiple-checkbox"               multiple                                        value={cell.getValue<string>().split(",")}                            onChange={(event) =>                 handleSaveCell(cell, event.target.value.toString())               }                            renderValue={(selected) => selected.join(", ")}                          >               {names.map((name, index) => (                 <MenuItem key={index} value={name}>                                     <Checkbox                     key={index}                     defaultChecked={                       cell.getValue<string>().split(",").indexOf(name) > -1                     }                                      />                   <ListItemText primary={name} />                 </MenuItem>               ))}             </Select>           </FormControl>         );       }
Minimal, Reproducible Example - (Optional, but Recommended)
Passing Edit in column definition for custom edit component.
Screenshots or Videos (Optional)
No response
Do you intend to try to help solve this bug with your own PR?
None
Terms

[X] I understand that if my bug cannot be reliably reproduced in a debuggable environment, it will probably not be fixed and this issue may even be closed.

need to make this more clear in the docs. It's just
table.setEditingCell(null);

@KevinVandy - Not clear about your suggestion. Where to use table.setEditingCell(null) ?

@VeenaGangal I'm not sure how to do it from the Edit component, but you could probably do this by 1) creating and passing in a table ref, so that you have a table available outside the MRT component; 2) wrapping your component in a MUI click-away listener, and 3) calling the table.setEditingCell(null) from the click-away listener onClickAway event. (Haven't tried this myself so not sure about the details.)


Database

sir,
A very good project.
Regarding GitHub Contribution :-
all code files r available. Only Database JSON file is missing for Users & Products.

hello  did you get something for the database?

sir,
A very good project.
Regarding GitHub Contribution :-
all code files r available. Only Database JSON file is missing for Users & Products.

did you got database??


Suppresses forwarding of topologyTree node to node report page and cleanup

disables forwarding to node page
css fix
i18n key addition
corrects error popup placement
cleans up documentation and formatting of topologyTreeView.js

Current coverage is 69.15%

Merging #393 into master will not affect coverage as of 7a4b7d0

@@            master    #393   diff @@
======================================
  Files           64      64
  Stmts         2597    2597
  Branches         0       0
  Methods          0       0
======================================
  Hit           1796    1796
  Partial          0       0
  Missed         801     801

Review entire Coverage Diff as of 7a4b7d0

Uncovered Suggestions

+0.66% via goldstone/views.py#30...46
+0.62% via ...stone/drfes/views.py#134...149
+0.43% via ...tone/drfes/models.py#165...175
See 7 more...

Powered by Codecov. Updated on successful CI builds.

:+1:


fix: nested routes when parent path is empty

There was a previous attempt to fix this (https://github.com/antfu/vite-ssg/pull/91) but there are remaining broken cases. When routes have an empty path, their children are not processed, causing nested routes to be missed and remain unprefixed.
//Previous implementation
console.log(routesToPaths([
  {
    path: '/foo',
    children: [{path: '', children: [{ path: 'bar' }, {path: '/bar'}] }]
  }
]))

//outputs [ '/foo', 'bar', '/bar' ] - incorrect

//With this PR

console.log(routesToPaths([
  {
    path: '/foo',
    children: [{path: '', children: [{ path: 'bar' }, {path: '/bar'}] }]
  }
]))

//outputs [ '/foo', '/foo/bar', '/bar' ]

I was trying to reduce complexity by relying on Node's path module. This
code always runs in a node environment, right?
On Sun, Nov 21, 2021, 7:32 AM Anthony Fu @.***> wrote:

@.**** commented on this pull request.
In src/node/utils.ts
https://github.com/antfu/vite-ssg/pull/132#discussion_r753726056:

@@ -17,23 +18,18 @@ export function routesToPaths(routes?: RouteRecordRaw[]) {
const paths: Set = new Set()

const getPaths = (routes: RouteRecordRaw[], prefix = '') => {

// remove trailing slash
prefix = prefix.replace(//$/g, '')

why removing this?
In src/node/utils.ts
https://github.com/antfu/vite-ssg/pull/132#discussion_r753726188:

 for (const route of routes) {

 let path = route.path

 // check for leading slash

 if (route.path) {

I guess in your case, all we need to do is change this line to if
(route.path != null)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/antfu/vite-ssg/pull/132#pullrequestreview-811866924,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABMENWH7ZKOEFBXTSPAVZRTUNAVXRANCNFSM5INOQRKQ
.

I did try the null check first and that caused duplicate items to show up
in the list, with and without trailing slash. That's when I realized the
logic was a bit difficult to understand and checked if the path.join might
actually be what we want. As far as I can tell, it is
On Sun, Nov 21, 2021, 8:27 AM Gryphon Myers @.***>
wrote:

I was trying to reduce complexity by relying on Node's path module. This
code always runs in a node environment, right?
On Sun, Nov 21, 2021, 7:32 AM Anthony Fu @.***> wrote:

@.**** commented on this pull request.
In src/node/utils.ts
https://github.com/antfu/vite-ssg/pull/132#discussion_r753726056:

@@ -17,23 +18,18 @@ export function routesToPaths(routes?: RouteRecordRaw[]) {
const paths: Set = new Set()

const getPaths = (routes: RouteRecordRaw[], prefix = '') => {

// remove trailing slash
prefix = prefix.replace(//$/g, '')

why removing this?
In src/node/utils.ts
https://github.com/antfu/vite-ssg/pull/132#discussion_r753726188:

 for (const route of routes) {

 let path = route.path

 // check for leading slash

 if (route.path) {

I guess in your case, all we need to do is change this line to if
(route.path != null)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/antfu/vite-ssg/pull/132#pullrequestreview-811866924,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABMENWH7ZKOEFBXTSPAVZRTUNAVXRANCNFSM5INOQRKQ
.

@antfu I have adjusted the solution to change fewer lines. I would appreciate if you could re-review it so we can finally get this merged


v2.20.1

See #1513 for failing appveyor tests.

Coverage decreased (-0.04%) to 97.838% when pulling 45f08609e0dd79f2a061c3411a43169c20e80d3a on ljharb:release-2.20.1 into<PHONE_NUMBER>c281f288eb5c33c6cf23dd7ab99673 on benmosher:release.

Coverage decreased (-0.04%) to 97.838% when pulling 45f08609e0dd79f2a061c3411a43169c20e80d3a on ljharb:release-2.20.1 into<PHONE_NUMBER>c281f288eb5c33c6cf23dd7ab99673 on benmosher:release.

Coverage decreased (-0.04%) to 97.838% when pulling 45f08609e0dd79f2a061c3411a43169c20e80d3a on ljharb:release-2.20.1 into<PHONE_NUMBER>c281f288eb5c33c6cf23dd7ab99673 on benmosher:release.

Coverage decreased (-0.04%) to 97.838% when pulling 45f08609e0dd79f2a061c3411a43169c20e80d3a on ljharb:release-2.20.1 into<PHONE_NUMBER>c281f288eb5c33c6cf23dd7ab99673 on benmosher:release.

Coverage decreased (-0.04%) to 97.838% when pulling 45f08609e0dd79f2a061c3411a43169c20e80d3a on ljharb:release-2.20.1 into<PHONE_NUMBER>c281f288eb5c33c6cf23dd7ab99673 on benmosher:release.

Coverage decreased (-0.04%) to 97.838% when pulling 45f08609e0dd79f2a061c3411a43169c20e80d3a on ljharb:release-2.20.1 into<PHONE_NUMBER>c281f288eb5c33c6cf23dd7ab99673 on benmosher:release.


Handle short form timezone reported by some systems

Our localTimezone() function returns unexpected short form timezone names (e.g. "CET") on some systems. This breaks our tests for localTimezone as well as safeTimezone on those systems.
Seen with Deno 1.39.0 on macOS 14.2
The underlying call is Intl.DateTimeFormat()?.resolvedOptions()?.timeZone
There are no options affecting returned timeZone, so my suggestion is that we rewrite localTimezone to fallback to returning UTC whenever no / can be found in reported timeZone. The short form will not be useful for the UI anyway, for example the short forms will not be available in a dropdown.

The CET timezone is probably set by macOS in my case, this is from time settings:

I'm having second thoughts about the solution I merged yesterday that changed the return value. I'm considering reverting that and changing the test instead.

The short form will not be useful for the UI anyway, for example the short forms will not be available in a dropdown.

The above ☝ may not be true, even if a returned short form like CET is not available in a dropdown of named timezones, the dropdown would still have nothing selected just as with UTC. But... for a UI where users don't set their own timezone at all, returning CET would still be better UX than falling back to UTC!

In practice, either way won't change the experience in browsers where localTimezone() is meant to be used. Browsers generally seem to report a full named timezone in Intl.DateTimeFormat()?.resolvedOptions()?.timeZone anyway, the short form is most likely encountered in backends only.


switch from browserify to webpack

[x] production build
[ ] local build
[ ] hot reloading
[ ] figure out mix of nodemon and hot-reloading (don't want nodemon to bounce server when client reload is desired)

Using Redux for most of your state? You don’t need the complexity of React Transform Babel plugin for hot reloading: https://t.co/R0j1zc7mwk
https://twitter.com/dan_abramov/status/704117500099878912?s=09


Small fixes (and rename offer to order...)

Offer was a bad choice of name - I should have known better 😬
Please let me fix it :)

I'm happy with the name change, but there are still many mentions of "offer" - mainly in variable names, inside Maker.tsx, *_cfd_actor.rs and routes_*.rs. Perhaps you could grep for "offer" throughout the codebase?

Sry, missed a few (had a filter set that messed that up...) - Should be fixed now. please have another look


Aprinter for 4xis or 5axis CNC - XYZ AB on Ard DUE

Hi guys I´m just discover the aprinter project and I don't know is there is a chance to create a 4axis or 5 axis cnc mill (no 3dprinter) with arduino DUE (arm), I just wanna knows if I can configurate to map 5 axis to digital I/O of the arduino, the Dir-Step-Enable signals. I've been reading the readme of aprinter it seem´s is capable to do this, but I do not where to start. I already worked with marlin and is not to good with high feedrates and microsteping because the 8bit AVR procesor and the firmware need's to be modified to stop or unlock the temperature controll and others printer cycles that are not need it for a cnc mill.
I'm just need some guide to where to star , my need's are to create a ARM 5axis cnc controll board , capable to run g-codes and m-codes (laser-plasma,coolant), pwm control , 5 axis (step,dir enable) , limit switches.
I know smoothieboard and seem's perfect but I don't need all the pinouts for extruders and hotends and all that awesome freatures for 3D printer, I'm gona use external steppers drivers and make all the circuits (mosfet for pwm, rellay's, etc) and PCB's to get this done is that why I don't want to use smoohieboard because I will no use all the freatures of the board even the integrated stepper drivers so is kind a waste ($$$) of board in this case.
I´m a no navite english speaker and writer, so let me know if I don't get this self-explainned :P

Hi,
I hope http://www.aprinter.eu/ still works, this site will let you configure firmware in GUI and will build it for you. Otherwise there are instructions in the README for how to run this tool and build locally.
Basically, start with Boards->RADDS or RAMPS-FD (these two use Arduino Due; best to click Copy and give it a new name) and tweak things especially the I/O pins. It is best to delete things you do not use to avoid pin conflicts and even things you may want to use but not in the first test.
Sections:

Runtime configuration: leave "Enabled", you can disable the storage if you don't have SD card.
Serial ports: already configured correctly for Due.
SD card: allows printing from card and saving configuration to it, it can easily be disabled.
Network configuration: assuming you don't have Ethernet, leave disabled.
Performance parameters: should be okay as is.
Development features: no changes needed.
Motor current control: leave disabled unless you need software control of motor current via AD5206 (only supported device).
Stepper ports: here you specify pins for steppers and related settings. You give arbitrary names to each "port". Each stepper port needs to be configured with an "output compare unit" resource; any choice is fine provided none is used more than once (note there are other things that use one, like "event channel timer" at the top).
Digital inputs: here you define pins for features like homing and possibly bed height probing, names are arbitrary.
Analog inputs: pins for temperature sensors, names are arbitrary.
PWM outputs: pins for PWM, used for heater control and possibly laser (support for laser is preliminary), names are arbitrary.

Once you are done with the Board configuration, you create a new Configuration which references your Board. There in many places you will select one of your defined resources like stepper port, digital input, analog output etc (this is why I said the names of these are arbitrary, since you then select them from Configuration).
To get simple ability to move motors without any real coordinate system, you create one Axis for each motor, and in each Axis you add just one Stepper where you select the correct "stepper port". In each Axis choose "Is cartesian: no" and "Is extruder: no", and enter reasonable physical settings like limits, max speed and max acceleration. Most settings should be understandable from the description, if not  you can try leaving the default value :)
For Coordinate transformation use "None (cartesian)" (as a starting point, depends on whether you eventually want the firmware to do kinematics).

Thank´s I'll give a try. :)


Drop a superfluous NULL write

Storing NULL here on failure is brittle and was only necessary when the
typechecker was leaking type variables in expressions.  Now that we're
better about this, it's best to preserve the damaged AST.
Going to run all the tests to see if this theory is true.

Looks like single sourcekit failures.

@swift-ci please smoke test

@swift-ci please smoke test

@swift-ci please smoke test and merge

@swift-ci please smoke test and merge

@swift-ci please smoke test

@swift-ci please smoke test

@swift-ci please smoke test

⛵


Run App: Run Paused Banner

As a user, I would like to know when a run is paused.
Acceptance Criteria

Display 'Run Paused' banner when run is paused.
User should not be able to dismiss alert

Implementation Notes

No BE dependencies

Design
Zeplin: Run App Screens > "RUN" tag

Looks done to me. Thanks @Kadee80
Closed in #1492


rp_task_select_next mixing index and id

Analyzing the rp_task_select_next function we have a hard time to understand the implementation since it mixes ID and index. In debugging we believe we have seen mixups in the actual structure (e.g. the hook id does not always match).
Can we anticipate an update of this function, and if so when?

I have no interrest in this issue at this time.


[Refactor] Reorgnize authz code for epack to avoid conflicts

What type of PR is this:

[ ] BugFix
[ ] Feature
[ ] Enhancement
[x] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Checklist:

[ ] I have added test cases for my bug fix or my new feature
[ ] This pr will affect users' behaviors
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

Bugfix cherry-pick branch check:

[x] I have checked the version labels which the pr will be auto-backported to the target branch

[x] 3.1
[ ] 3.0
[ ] 2.5
[ ] 2.4

[FE PR Coverage Check]
:disappointed: fail : 41 / 53 (77.36%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/authentication/SecurityIntegrationFactory.java
0
1
00.00%
[28]

:large_blue_circle:
com/starrocks/authentication/AuthenticationMgr.java
32
43
74.42%
[251, 268, 269, 270, 274, 397, 407, 411, 419, 432, 437]

:large_blue_circle:
com/starrocks/privilege/AuthorizationMgr.java
8
8
100.00%
[]

:large_blue_circle:
com/starrocks/authentication/UserAuthenticationInfo.java
1
1
100.00%
[]


Fix retrieving command line flags in Android.

Fixes #80574
This fix stemmed from immersive mode not working in Godot 4.2. It was caused by the command line flags not properly being retrieved.
In this case, the strings retrieved were not properly added to the ArrayList. I do not know Kotlin, so it took time for me to find this fix, but that also means there might be a better fix than this one.

The fix seems correct, but to make it cleaner, I would suggest removing the argc argument from var cmdline = ArrayList<String>(argc).
This seems to be a misinterpretation of the API, this argument is called initialCapacity but it doesn't actually resize the ArrayList. It's not clear what it does, but it might be that it doesn't do anything actually: https://stackoverflow.com/a/45661667
I confirm that this program prints an empty array:
fun main() {
    var argc = 4
    val cmdline = ArrayList<String>(argc)
    println(cmdline)
}

I checked and that's the only occurrence of using the optional initialCapacity parameter in our Kotlin codebase.

@MTareqAzim Thanks for the fix!
The original type of cmdLine was Array<String> for which the addition as previously done worked.
The switch to ArrayList<> changed the semantics, introducing the bug.

The fix seems correct, but to make it cleaner, I would suggest removing the argc argument from var cmdline = ArrayList<String>(argc).
This seems to be a misinterpretation of the API, this argument is called initialCapacity but it doesn't actually resize the ArrayList. It's not clear what it does, but it might be that it doesn't do anything actually: https://stackoverflow.com/a/45661667
I confirm that this program prints an empty array:
fun main() {
    var argc = 4
    val cmdline = ArrayList<String>(argc)
    println(cmdline)
}

I checked and that's the only occurrence of using the optional initialCapacity parameter in our Kotlin codebase.
Note: Please make modifications by amending the commit, and force pushing the changes, so that it stays as a single commit (see PR workflow).

The ArrayList data structure has an internal array it uses to store data that is dynamically resized. The initialCapacity argument is used to pre-allocate the size of that array, which is useful if you know how big it can grow to, avoiding re-allocation, which involves resizing and copying the original array.
As such, let's leave the original allocation as it was. For most operation it won't make a difference since the default initial capacity is 10, and the argument count is likely to be smaller or equal to that, but in occasional situation, it may be useful.

Thanks! And congrats for your first merged Godot contribution :tada:


ROX-17417: Fix incorrect collection method in ocp tests

Description
Currently there are cases where an OSCI test is meant to run with core_bpf collection method but ebpf is used instead.
Example https://prow.ci.openshift.org/view/gs/origin-ci-test/logs/branch-ci-stackrox-stackrox-master-ocp-4-13-merge-qa-e2e-tests/1696538177994493952
The name of the test does not include ebpf, so it should use core_bpf. The log has the following
Using COLLECTION_METHOD=core_bpf
daemonset.apps/collector env updated

so it appears that it is using the core_bpf collection method, but the log has the following
Collector Version: 3.16.0
OS: Red Hat Enterprise Linux CoreOS 413.92.202308210212-0 (Plow)
Kernel Version: 5.14.0-284.28.1.el9_2.x86_64
Starting StackRox Collector...
[INFO    2023/08/29 15:45:21] Hostname: 'collector-47s59'
[INFO    2023/08/29 15:45:21] User configured collection-method=ebpf

The result of describe on the pod has the following
Containers:
  collector:
    Container ID:   cri-o://ef362b25a208f05faff24e5231a48e1305b0332d9caacd9a54fc2740f03d875c
    Image:          quay.io/rhacs-eng/collector:3.16.0-slim
    Image ID:       quay.io/rhacs-eng/collector@sha256:8b57a9a722c3f32cd72603985c778d8fc593285d95d660509c1a28e4b088d49b
    Port:           <none>
    Host Port:      <none>
    State:          Terminated
      Reason:       Error
      Message:      Failed to initialize collector kernel components.
      Exit Code:    1
      Started:      Tue, 29 Aug 2023 15:51:29 +0000
      Finished:     Tue, 29 Aug 2023 15:54:24 +0000
    Last State:     Terminated
      Reason:       Error
      Message:      Failed to initialize collector kernel components.
      Exit Code:    1
      Started:      Tue, 29 Aug 2023 15:48:19 +0000
      Finished:     Tue, 29 Aug 2023 15:51:15 +0000
    Ready:          False
    Restart Count:  2
    Limits:
      cpu:     750m
      memory:  1Gi
    Requests:
      cpu:     50m
      memory:  320Mi
    Environment:
      COLLECTOR_CONFIG:      {"tlsConfig":{"caCertPath":"/var/run/secrets/stackrox.io/certs/ca.pem","clientCertPath":"/var/run/secrets/stackrox.io/certs/cert.pem","clientKeyPath":"/var/run/secrets/stackrox.io/certs/key.pem"}}
      COLLECTION_METHOD:     EBPF

and
  compliance:
    Container ID:  cri-o://828904d6e14155920cf246083ef9c207a1c71a69a2f7dbcdf94683d4923365b3
    Image:         quay.io/rhacs-eng/main:4.2.x-29-g61c803b07e
    Image ID:      quay.io/rhacs-eng/main@sha256:727b2e2446af7f0602da01e5aea5f4973f40bd6df4c83b9c0e7cf84edade4f8b
    Port:          <none>
    Host Port:     <none>
    Command:
      stackrox/compliance
    State:          Running
      Started:      Tue, 29 Aug 2023 15:45:21 +0000
    Ready:          True
    Restart Count:  0
    Limits:
      cpu:     1
      memory:  2Gi
    Requests:
      cpu:     10m
      memory:  10Mi
    Environment:
      GOMEMLIMIT:<PHONE_NUMBER> (limits.memory)
      GOMAXPROCS:                       1 (limits.cpu)
      ROX_CALL_NODE_INVENTORY_ENABLED:  true
      ROX_METRICS_PORT:                 disabled
      ROX_NODE_NAME:                     (v1:spec.nodeName)
      ROX_ADVERTISED_ENDPOINT:          sensor.stackrox.svc:443
      ROX_NODE_SCANNING_ENDPOINT:       <IP_ADDRESS>:8444
      NO_PROXY:                         <set to the key 'NO_PROXY' in secret 'securedcluster-stackrox-secured-cluster-services-proxy-env'>  Optional: false
      ROX_AFTERGLOW_PERIOD:             15
      COLLECTION_METHOD:                core_bpf

The collector container has the collection method EBPF, while the compliance container has the collection method core_bpf. Instead the collector container should have the core_bpf collection method and the compliance container should not have a collection method.
Checklist

[ ] Investigated and inspected CI test results
[ ] The incorrect collection method is used without changes
[ ] The correct collection method is used after changes
- [ ] Unit test and regression tests added
- [ ] Evaluated and added CHANGELOG entry if required
- [ ] Determined and documented upgrade steps
- [ ] Documented user facing changes (create PR based on openshift/openshift-docs and merge into rhacs-docs)

This is a change to CI so CI is sufficient
Testing Performed
Ran ocp OSCI jobs without changes. The PR for that is here https://github.com/stackrox/stackrox/pull/7637
I have not checked the results there yet.
Here I tell how I validated my change
TODO(replace-me)
Use this space to explain how you validated that your change functions exactly how you expect it.
Feel free to attach JSON snippets, curl commands, screenshots, etc. Apply a simple benchmark: would the information you
provided convince any reviewer or any external reader that you did enough to validate your change.
It is acceptable to assume trust and keep this section light, e.g. as a bullet-point list.
It is acceptable to skip testing in cases when CI is sufficient, or it's a markdown or code comment change only.
It is also acceptable to skip testing for changes that are too taxing to test before merging. In such case you are
responsible for the change after it gets merged which includes reverting, fixing, etc. Make sure you validate the change
ASAP after it gets merged or explain in PR when the validation will be performed.
Explain here why you skipped testing in case you did so.
Have you created automated tests for your change? Explain here which validation activities you did manually and why so.
Reminder for reviewers
In addition to reviewing code here, reviewers must also review testing and request further testing in case the
performed one does not seem sufficient. As a reviewer, you must not approve the change until you understand the
performed testing and you are satisfied with it.

/retest

/test ocp-4-10-ebpf-qa-e2e-tests

/test ocp-4-10-qa-e2e-tests

/test ocp-4-13-ebpf-qa-e2e-tests

/test ocp-4-13-qa-e2e-tests

/test ocp-4-13-qa-e2e-tests

/test ocp-4-13-ebpf-qa-e2e-tests
/test ocp-4-10-qa-e2e-tests
/test ocp-4-10-ebpf-qa-e2e-tests

/test ?


[BSOD] CRITICAL_STRUCTURE_CORRUPTION or DRIVER_IRQL_NOT_LESS_OR_EQUAL (part 5)

I'm able to execute the driver correctly but after a while (time varies from a few minutes to a few hours) I get one of these:
CRITICAL_STRUCTURE_CORRUPTION (109)

Arguments:
Arg1: a3a015666418d834, Reserved
Arg2: b3b721ecb69c3de8, Reserved
Arg3: fffff80269e64fb0, Failure type dependent information
Arg4:<PHONE_NUMBER>000003, Type of corrupted region, can be
0 : A generic data region
1 : Modification of a function or .pdata
2 : A processor IDT
3 : A processor GDT
...

Debugging Details:
------------------

KEY_VALUES_STRING: 1

    Key  : Analysis.CPU.mSec
    Value: 2687

    Key  : Analysis.DebugAnalysisManager
    Value: Create

    Key  : Analysis.Elapsed.mSec
    Value: 3579

    Key  : Analysis.Init.CPU.mSec
    Value: 3687

    Key  : Analysis.Init.Elapsed.mSec
    Value: 98923

    Key  : Analysis.Memory.CommitPeak.Mb
    Value: 78

    Key  : WER.OS.Branch
    Value: vb_release

    Key  : WER.OS.Timestamp
    Value: 2019-12-06T14:06:00Z

    Key  : WER.OS.Version
    Value: 10.0.19041.1

BUGCHECK_CODE:  109

BUGCHECK_P1: a3a015666418d834

BUGCHECK_P2: b3b721ecb69c3de8

BUGCHECK_P3: fffff80269e64fb0

BUGCHECK_P4: 3

PROCESS_NAME:  System

STACK_TEXT:
fffffb06`55f0d678 fffff802`64912b12     : fffffb06`55f0d7e0 fffff802`6477d200 00000000`00000100 00000000`00000000 : nt!DbgBreakPointWithStatus
fffffb06`55f0d680 fffff802`649120f6     : 00000000`00000003 fffffb06`55f0d7e0 fffff802`6480c0c0 00000000`00000109 : nt!KiBugCheckDebugBreak+0x12
fffffb06`55f0d6e0 fffff802`647f72b7     : 00000000`fffffb06 00000000`00000000 00000000`00000000 00000000`00000000 : nt!KeBugCheck2+0x946
fffffb06`55f0ddf0 00000000`00000000     : 00000000`00000109 a3a01566`6418d834 b3b721ec`b69c3de8 fffff802`69e64fb0 : nt!KeBugCheckEx+0x107

SYMBOL_NAME:  ANALYSIS_INCONCLUSIVE

MODULE_NAME: Unknown_Module

IMAGE_NAME:  Unknown_Image

STACK_COMMAND:  .thread ; .cxr ; kb

FAILURE_BUCKET_ID:  0x109_3_ANALYSIS_INCONCLUSIVE!unknown_function

OS_VERSION:  10.0.19041.1

BUILDLAB_STR:  vb_release

OSPLATFORM_TYPE:  x64

OSNAME:  Windows 10

DRIVER_IRQL_NOT_LESS_OR_EQUAL (d1)
An attempt was made to access a pageable (or completely invalid) address at an
interrupt request level (IRQL) that is too high.  This is usually
caused by drivers using improper addresses.
If kernel debugger is available get stack backtrace.
Arguments:
Arg1: ffffc6086b831ff8, memory referenced
Arg2:<PHONE_NUMBER>000002, IRQL
Arg3:<PHONE_NUMBER>000001, value 0 = read operation, 1 = write operation
Arg4: ffffb205fc11d87a, address which referenced memory

Debugging Details:
------------------

KEY_VALUES_STRING: 1

    Key  : Analysis.CPU.mSec
    Value: 8452

    Key  : Analysis.DebugAnalysisManager
    Value: Create

    Key  : Analysis.Elapsed.mSec
    Value: 193043

    Key  : Analysis.Init.CPU.mSec
    Value: 2077

    Key  : Analysis.Init.Elapsed.mSec
    Value: 6984915

    Key  : Analysis.Memory.CommitPeak.Mb
    Value: 61

    Key  : WER.OS.Branch
    Value: vb_release

    Key  : WER.OS.Timestamp
    Value: 2019-12-06T14:06:00Z

    Key  : WER.OS.Version
    Value: 10.0.19041.1

BUGCHECK_CODE:  d1

BUGCHECK_P1: ffffc6086b831ff8

BUGCHECK_P2: 2

BUGCHECK_P3: 1

BUGCHECK_P4: ffffb205fc11d87a

WRITE_ADDRESS:  ffffc6086b831ff8

PROCESS_NAME:  System

TRAP_FRAME:  ffff9b0170745e40 -- (.trap 0xffff9b0170745e40)
NOTE: The trap frame does not contain all registers.
Some register values may be zeroed or incorrect.
rax=0000000000000000 rbx=0000000000000000 rcx=0000000000000109
rdx=a39ff15e8ddf06d3 rsi=0000000000000000 rdi=0000000000000000
rip=ffffb205fc11d87a rsp=ffff9b0170745fd8 rbp=ffff9b0170746059
 r8=b3b6fde4e0615bcf  r9=fffff8005f064fb0 r10=ffffc6086b831ff8
r11=0000000000000002 r12=0000000000000000 r13=0000000000000000
r14=0000000000000000 r15=0000000000000000
iopl=0         nv up ei pl nz na pe nc
ffffb205`fc11d87a 498902          mov     qword ptr [r10],rax ds:ffffc608`6b831ff8=????????????????
Resetting default scope

STACK_TEXT:
ffff9b01`70745548 fffff800`59712b12     : ffff9b01`707456b0 fffff800`5957d200 00000000`00000000 00000000`00000000 : nt!DbgBreakPointWithStatus
ffff9b01`70745550 fffff800`597120f6     : 00000000`00000003 ffff9b01`707456b0 fffff800`5960c0c0 00000000`000000d1 : nt!KiBugCheckDebugBreak+0x12
ffff9b01`707455b0 fffff800`595f72b7     : 00000000`00000000 00000000`00000000 fffff800`5f064fb0 00000000`00000000 : nt!KeBugCheck2+0x946
ffff9b01`70745cc0 fffff800`59609169     : 00000000`0000000a ffffc608`6b831ff8 00000000`00000002 00000000`00000001 : nt!KeBugCheckEx+0x107
ffff9b01`70745d00 fffff800`59605469     : 00000001`ffffffff fffffff6`00000000 ffff9b01`70746020 20726574`66612064 : nt!KiBugCheckDispatch+0x69
ffff9b01`70745e40 ffffb205`fc11d87a     : ffffb205`fc11d00a fffff800`592e3028 ffff9b01`70746fb0 fffff800`594a0927 : nt!KiPageFault+0x469
ffff9b01`70745fd8 ffffb205`fc11d00a     : fffff800`592e3028 ffff9b01`70746fb0 fffff800`594a0927 ffff9b01`70745a60 : 0xffffb205`fc11d87a
ffff9b01`70745fe0 fffff800`592e3028     : ffff9b01`70746fb0 fffff800`594a0927 ffff9b01`70745a60 00000000`00000003 : 0xffffb205`fc11d00a
ffff9b01`70745fe8 ffff9b01`70746fb0     : fffff800`594a0927 ffff9b01`70745a60 00000000`00000003 fffff800`595f71b0 : nt!setjmpexused <PERF> (nt+0xe3028)
ffff9b01`70745ff0 fffff800`594a0927     : ffff9b01`70745a60 00000000`00000003 fffff800`595f71b0 ffffc608`6b837c90 : 0xffff9b01`70746fb0
ffff9b01`70745ff8 4dd5d1ac`b84d7059     : 4dd5d1ac`baedd1ac 00000000`00000000 00000000`00000000 fffff800`59200000 : nt!MiFastLockLeafPageTable+0x357
ffff9b01`70746078 4dd5d1ac`baedd1ac     : 00000000`00000000 00000000`00000000 fffff800`59200000 ffff9b01`70746760 : 0x4dd5d1ac`b84d7059
ffff9b01`70746080 00000000`00000000     : 00000000`00000000 fffff800`59200000 ffff9b01`70746760 ffffc608`6b837428 : 0x4dd5d1ac`baedd1ac

SYMBOL_NAME:  nt!KiPageFault+469

MODULE_NAME: nt

IMAGE_NAME:  ntkrnlmp.exe

STACK_COMMAND:  .thread ; .cxr ; kb

BUCKET_ID_FUNC_OFFSET:  469

FAILURE_BUCKET_ID:  AV_nt!KiPageFault

OS_VERSION:  10.0.19041.1

BUILDLAB_STR:  vb_release

OSPLATFORM_TYPE:  x64

OSNAME:  Windows 10

Win10-2004 on Hyper-V

Hypervisor from scratch is no supposed to work on Hyper-V. You can test other parts like part 7 or 8.

Tested right now on VMWare as well. This is the result after a couple of hours:
CRITICAL_STRUCTURE_CORRUPTION (109)
This BugCheck is generated when the kernel detects that critical kernel code or
data have been corrupted. There are generally three causes for a corruption:
1) A driver has inadvertently or deliberately modified critical kernel code
 or data. See http://www.microsoft.com/whdc/driver/kernel/64bitPatching.mspx
2) A developer attempted to set a normal kernel breakpoint using a kernel
 debugger that was not attached when the system was booted. Normal breakpoints,
 "bp", can only be set if the debugger is attached at boot time. Hardware
 breakpoints, "ba", can be set at any time.
3) A hardware corruption occurred, e.g. failing RAM holding kernel code or data.
Arguments:
Arg1: a39fbf5ae8e8d850, Reserved
Arg2: b3b6cbe13b6b3008, Reserved
Arg3: fffff8023a461fb0, Failure type dependent information
Arg4:<PHONE_NUMBER>000003, Type of corrupted region, can be
	0   : A generic data region
	1   : Modification of a function or .pdata
	2   : A processor IDT
	3   : A processor GDT
	4   : Type 1 process list corruption
	5   : Type 2 process list corruption
	6   : Debug routine modification
	7   : Critical MSR modification
	8   : Object type
	9   : A processor IVT
	a   : Modification of a system service function
	b   : A generic session data region
	c   : Modification of a session function or .pdata
	d   : Modification of an import table
	e   : Modification of a session import table
	f   : Ps Win32 callout modification
	10  : Debug switch routine modification
	11  : IRP allocator modification
	12  : Driver call dispatcher modification
	13  : IRP completion dispatcher modification
	14  : IRP deallocator modification
	15  : A processor control register
	16  : Critical floating point control register modification
	17  : Local APIC modification
	18  : Kernel notification callout modification
	19  : Loaded module list modification
	1a  : Type 3 process list corruption
	1b  : Type 4 process list corruption
	1c  : Driver object corruption
	1d  : Executive callback object modification
	1e  : Modification of module padding
	1f  : Modification of a protected process
	20  : A generic data region
	21  : A page hash mismatch
	22  : A session page hash mismatch
	23  : Load config directory modification
	24  : Inverted function table modification
	25  : Session configuration modification
	26  : An extended processor control register
	27  : Type 1 pool corruption
	28  : Type 2 pool corruption
	29  : Type 3 pool corruption
	2a  : Type 4 pool corruption
	2b  : Modification of a function or .pdata
	2c  : Image integrity corruption
	2d  : Processor misconfiguration
	2e  : Type 5 process list corruption
	2f  : Process shadow corruption
	30  : Retpoline code page corruption
	101 : General pool corruption
	102 : Modification of win32k.sys

Debugging Details:
------------------

KEY_VALUES_STRING: 1

    Key  : Analysis.CPU.mSec
    Value: 2327

    Key  : Analysis.DebugAnalysisManager
    Value: Create

    Key  : Analysis.Elapsed.mSec
    Value: 12731

    Key  : Analysis.Init.CPU.mSec
    Value: 1093

    Key  : Analysis.Init.Elapsed.mSec
    Value: 4094628

    Key  : Analysis.Memory.CommitPeak.Mb
    Value: 63

    Key  : WER.OS.Branch
    Value: vb_release

    Key  : WER.OS.Timestamp
    Value: 2019-12-06T14:06:00Z

    Key  : WER.OS.Version
    Value: 10.0.19041.1

BUGCHECK_CODE:  109

BUGCHECK_P1: a39fbf5ae8e8d850

BUGCHECK_P2: b3b6cbe13b6b3008

BUGCHECK_P3: fffff8023a461fb0

BUGCHECK_P4: 3

PROCESS_NAME:  System

STACK_TEXT:
ffffbe06`67955678 fffff802`37d1e442     : ffffbe06`679557e0 fffff802`37b6aa90 00000000`00000100 00000000`00000000 : nt!DbgBreakPointWithStatus
ffffbe06`67955680 fffff802`37d1da26     : 00000000`00000003 ffffbe06`679557e0 fffff802`37bf2a50 00000000`00000109 : nt!KiBugCheckDebugBreak+0x12
ffffbe06`679556e0 fffff802`37bddc67     : 00000000`ffff9401 00000000`00000000 00000000`00000000 00000000`00000000 : nt!KeBugCheck2+0x946
ffffbe06`67955df0 00000000`00000000     : 00000000`00000109 a39fbf5a`e8e8d850 b3b6cbe1`3b6b3008 fffff802`3a461fb0 : nt!KeBugCheckEx+0x107

SYMBOL_NAME:  ANALYSIS_INCONCLUSIVE

MODULE_NAME: Unknown_Module

IMAGE_NAME:  Unknown_Image

STACK_COMMAND:  .thread ; .cxr ; kb

FAILURE_BUCKET_ID:  0x109_3_ANALYSIS_INCONCLUSIVE!unknown_function

OS_VERSION:  10.0.19041.1

BUILDLAB_STR:  vb_release

OSPLATFORM_TYPE:  x64

OSNAME:  Windows 10

I tested only part 5 atm but I'm gonna try part 7 and 8 both on Hyper-V and VMWare (I'll post the result tomorrow).
I think it's a bit strange since all part 5 does is set the VMCS, launch the guest and exit from VMX operation immediately after the very first vm exit. Why patchguard gets triggered?
I set a bp on VMExitHandler and EXIT_REASON_HLT is the first and only VM exit reason before WMXOFF so it should work on Hyper-V as well.
The only info related to hypervisor and CRITICAL_STRUCTURE_CORRUPTION I found is in the following link but I don't know if it is relevant in this case:
https://github.com/tandasat/HyperPlatform/issues/51

Well, one essential flaw in part 5 is that we didn't stick to the system process. I think I solved this issue in part 8. Another problem is we didn't restore GDT. Maybe it's better to test everything on HyperDbg. It's an improved version of Hypervisor From Scratch.
github.com/HyperDbg/HyperDbg

I'll try HyperDbg as well.
Can I ask you why GDT is changed? Host GDT base and limit are the same as the underlying OS.
Is there something I'm missing?

Well, please search for "Restoring IDTR, GDTR, GS Base and FS Base" on part 8. I explained it there.
Still, not sure if it's the main cause of this problem.

Part 7 on VMWare:
[!] Error (EptSplitLargePage:192) | Failed to allocate dynamic split memory
Break instruction exception - code 80000003 (first chance)
MyHypervisorDriver!EptSplitLargePage+0xb5:
fffff801`7a972035 cc              int     3
2: kd> g
[!] Error (EptVmxRootModePageHook:578) | Could not split page for the address : 0x2db1000
Break instruction exception - code 80000003 (first chance)
MyHypervisorDriver!EptVmxRootModePageHook+0x111:
fffff801`7a972321 cc              int     3
1: kd> g
[-] Warning (EptPageHook:667) | Hook not applied

[+] Information (VmxVmexitHandler:534) | Guest Physical Address : 0x2db1160
[+] Information (VmxVmexitHandler:539) | Guest Rip : 0xfffff801751b1160
Break instruction exception - code 80000003 (first chance)
MyHypervisorDriver!EptHandleEptViolation+0xd:
fffff801`7a9719dd cc              int     3
1: kd> g
[+] Information (EptHandlePageHookExit:489) | Set the Execute Access of a page (PFN = 0x2db1) to 1
[+] Information (EptPageHook:651) | Hook applied from VMX Root Mode
[+] Information (DrvCreate:61) | Hypervisor From Scratch loaded successfully :)
[-] Warning (DrvUnsupported:120) | This function is not supported :(
[+] Information (DrvClose:102) | Terminating VMX...
[+] Information (VmxTerminate:142) | 	Terminating VMX on logical core 0
[+] Information (VmxTerminate:142) | 	Terminating VMX on logical core 1
[+] Information (VmxTerminate:142) | 	Terminating VMX on logical core 3
[+] Information (VmxTerminate:142) | 	Terminating VMX on logical core 2
[+] Information (DrvClose:106) | VMX Operation turned off successfully :)

After 15 minute came up the usual CRITICAL_STRUCTURE_CORRUPTION
CRITICAL_STRUCTURE_CORRUPTION (109)

Arguments:
Arg1: a39fe158d658b598, Reserved
Arg2: b3b6eddf28db0ac4, Reserved
Arg3: fffff80178664fb0, Failure type dependent information
Arg4:<PHONE_NUMBER>000003, Type of corrupted region, can be
	0   : A generic data region
	1   : Modification of a function or .pdata
	2   : A processor IDT
	3   : A processor GDT

I'm gonna try part 8 now.

Okay, tell me if the same problem happens to part 8 or not? I'll fix that.

Part 8 on VMWare.
I left both call to HiddenHooksTest and SyscallHookTest commented in DrvCreate and after 4 hours I had no BSOD.
I'm gonna wait one more hour then I'll test part 7 with both call to EptPageHook commented to find if simply entering and exiting from vmx operation cause some problem.
In the end I'll test part 8 with hook tests on VMWare and Hyper-V as well.

I think the problem with part 8 is we didn't stick to the system process. I solved it on part 8, and that's why you don't see that BSOD.

Yeah! I think the same.
Also, I tested part 8 with hook test enabled and, again, I had no BSOD.
Now, however, I 'd like to know why that happens in part 5 since we run always in the context of the system process,  on a single processor and we don't use DPC (no risk to run in arbitrary user mode process). First you answered we need to restore GDT but when did we change it if the only set take GDT base and limit from system process and we never leave that context? Jeez, I feel I'm missing something important here.

No, I mean only part 8 sticks to the system process. Other parts, won't stick. I'm not sure what will happen there, but it might be GDT.

Ok, thank you.

You're welcome.

As for part 5, after a few attempts the only thing that it seems to work atm is to clear the CR4.VMXE bit once the processor leaves the VMX operation.
Honestly, I don't know if this is a real solution or why it works. I don't even know why patchguard complains about the GDT.
Jeez, I knew it was far from easy but at this rate I'll go crazy quickly. And I'm just getting started ;)


SW-4713 Add confirm dialog when the participant project name is edited

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#2399  👈
#2398
#2397
#2395
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @nickgraz and the rest of your teammates on  Graphite

Merge activity

Mar 26, 9:38 AM EDT: @nickgraz started a stack merge that includes this pull request via Graphite.


use other label for nodeshell feature

Describe the bug
i would like use a node shell feature but actualy a node shell use an settings with
nodeselector = kubernetes.io/hostname and not match because it's not exactly a name of the server.
actually this label is already set and i don't want to overwrite it for several reasons.
is't possible to use an other label for the nodeselector.

Bumping the issue. This is a case for EKS node group instances which already have labels like "kubernetes.io/hostname=ip-10-420-1-86".
Node-shell pod fails with error message  " didn't match node selector'"
Event: node-shell-2d8831c4-ab11-4999-82aa-d2320a186cc4.1646ba4bc28ac239 Created 32s ago (2020-11-12T09:59:11Z) Name node-shell-2d8831c4-ab11-4999-82aa-d2310a186cc4.1646ba4bc28ac239 Namespace kube-system Message 0/3 nodes are available: 3 node(s) didn't match node selector. Reason FailedScheduling Source default-scheduler First seen 0s ago Last seen 0s ago Count Type Warning

closing in favour of #1857


At the same time and in the same direction, how to determine the leverage multiple used by traders?

At the same time and in the same direction, how to determine the leverage multiple used by traders?
Traders with lower margins can only open high leverage, but traders with high margins can open low or high leverage. How do you determine this?

@xiaopihaiK
In conclusion, it is not possible to obtain the trader's margin level from the exchange, as this is private information. Therefore, it is not possible to draw a Liquidation Map on the basis of margin.
The code in this repository shows where a trader with a large buy or sell position (determined by various thresholds) would be liquidated if they were trading at 10, 20, 50 or 100 times leverage. For example, if a trader opened a large buy position of 100,000 USDT when BTC/USDT was at 25,000 USDT, 99% = 24,750 USDT, 98% = 24,500 USDT, 95% = 23,750 USDT, 90% = 22,500 USDT a bar chart is drawn representing the liquidation potential of 100,000 USDT. For sell positions, the drawing is done in the opposite way, where the price is 101%, 102%, 105% or 110%. This suggests that a large number of traders are likely to be liquidated at price levels where Depth, which is drawn by accumulating them, is rising rapidly.

@aoki-h-jp
I read the code and found that the threshold is determined based on the margin ratio and fee rate. I was wondering if there is a way to determine the average leverage ratio, or to dynamically adjust the liquidation intensity in real time like the liquidation map given by coinglass. tg:https://t.me/Ddvfsdsw I want to have an in-depth communication with you

@aoki-h-jp
The rate and margin rate can actually simply determine the liquidation (liquidation) value, but there is no guarantee that traders will not add or reduce their positions before liquidation. This is the most troublesome part. Basically, several screening modes in the code are It is prepared for large investors, but a large number of retail investors are also an uncertain factor in the market. They enter the market quickly but also leave the market quickly, so the position of centralized liquidation cannot be determined, which is very troublesome now.

@xiaopihaiK
Thank you for pointing this out. And what you have in mind is an area I struggle with as well.
The following is a summary of the areas you have identified.

We would like to consider whether it would be possible to calculate something like a dynamic average leverage multiplier in response to market prices and estimate the price range at which the market changes rapidly.
It may not be possible to know when traders are closing positions.
The code is good at monitoring the liquidation potential of large investors, but it does not take into account the large number of small traders, and that positions are closed immediately rather than in hours or days

We recognise that all your points are correct and will definitely be taken into account in the future to draw a more accurate Liquidation Map. However, to be honest, I do not currently have any ideas regarding these. All I can say with certainty is that the only information that can be monitored using websockets etc. is that of positions opened by anonymous traders, and this needs to be successfully processed to estimate the above. If you have some ideas and they seem objectively correct, I am ready to reflect them in this code.

Thank you for your answer!

@aoki-h-jp Do you have ideas how to predict liquidations levels in current moment? Here some services that can do. I suppose they use order book data.
https://docs.spreadfighter.com/documentation/microstructural-solutions/sf-liqudations
https://bookmap.com/knowledgebase/docs/Addons-Liquidation-Indicator

@fridary
Future plans for this project include not only drawing a Liquidation Map with historical data (HistoricalMapping), but also drawing a real-time Liquidation Map using websockets, etc. ( RealTimeMapping is likely to be the name of the class).
In my personal opinion, I find it very difficult to predict the scale of liquidation at any given time. In most cases, large amounts of liquidation tend to halt abrupt price movements, but I think it is impossible to predict exactly when and where this will stop.
The idea of combining it with the order book may indeed be useful, but in my opinion, the order book only works for price movements within a few seconds and is not very useful for huge price movements that involve liquidation.
I have done some research on the above and I will post a link to my gist on Orderbook Imbalance.
https://gist.github.com/aoki-h-jp/d075341220450e797a4c1047a880d6ee
If you have any ideas, please suggest them and we can incorporate them into our development plan.


Add "Blazor I18n/Localization Text" to Libraries section

Thank you for the submission and sorry for the delay.