Version upgrade fixes

Description
-Cleanup to version upgrade based on release testing
-UI labels on PV module page to make update to library variable names less confusing on upgrade
-Cleanup of MSLF MIMO to avoid equation error
-Updating of generic system variable names, config name
Type of change
Please delete options that are not relevant.

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update
[ ] This change modifies variables in existing compute modules. Please see Checking for PySAM Incompatible API Changes.
[ ] This change requires updating the PySAM files via export_config. Please see When do the PySAM files need to be regenerated?

Checklist:
If you have added a new compute module in a SSC pull request related to this one, be sure to check the Process Requirements.

[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules
[ ] I have checked my code and corrected any misspellings

I'm working to make the message clearer so that users can see what the variable name change is. This may be useful for PySAM and SDK users. I'll add a commit when that's ready
Right now, the messages make it look like the variable's value changed:

@taylorbrown75 Could you test my latest changes to make sure they work with any special cases of old IPH/CSP files you might have?

@taylorbrown75 Could you test my latest changes to make sure they work with any special cases of old IPH/CSP files you might have?

@cpaulgilman Thank you for making those changes, the version upgrade is much clearer now. I tested old files and everything works!


Rename _internal to yt-dlp_internal in yt-dlp_win.zip

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

[X] I understand that I will be blocked if I intentionally remove or skip any mandatory* field

Checklist

[X] I'm reporting a bug unrelated to a specific site
[X] I've verified that I have updated yt-dlp to nightly or master (update instructions)
[X] I've checked that all provided URLs are playable in a browser with the same IP and same login details
[X] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[X] I've searched known issues and the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue

Provide a description that is worded well enough to be understood
This isn't a bug. More of a convenience thing.
Could you please rename _internal to yt-dlp_internal while building yt-dlp_win.zip ?
I've reached my path limit and I have other directories beginning with underscore in the directory containing yt-dlp.exe .
I could create a directory symlink and move the _internal folder elsewhere, but.... could you please just rename it?
Feel free to tag this as "low-priority" (although the fix seems simple enough?)
Thanks!
Provide verbose output that clearly demonstrates the problem

[X] Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
[ ] If using API, add 'verbose': True to YoutubeDL params instead
[X] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
I don't think verbose log is required. Let me know if you need it for some reason.
But I'm using nightly version 2<IP_ADDRESS>802

No. The directory structure inside the zip file is decided by PyInstaller, not us

Since changing this in our official builds would risk breaking compatibility for some users who depend on the current directory structure, this won't be changed on our end. But you could create your own PyInstaller --onedir build and specify the contents directory name:
https://pyinstaller.org/en/latest/usage.html#cmdoption-contents-directory

--contents-directory CONTENTS_DIRECTORY
For onedir builds only, specify the name of the directory in which all supporting files (i.e. everything except the executable itself) will be placed in. Use “.” to re-enable old onedir layout without contents directory.


"run test" code lens mstest doesn't output errors

Environment data
.NET Command Line Tools (1.0.3)
Product Information:
Version:            1.0.3
Commit SHA-1 hash:  37224c9917
Runtime Environment:
OS Name:     Mac OS X
OS Version:  10.12
OS Platform: Darwin
RID:         osx.10.12-x64
Base Path:   /usr/local/share/dotnet/sdk/1.0.3
VS Code version: Version 1.13.1 (1.13.1)
C# Extension version: 1.11.0
Steps to reproduce
Create an MSTest project with dotnet new mstest.
Create single [TestMethod] with Assert.Fail("Error Message");
Select code lens "run test" above method
Expected  behavior
I expect to see "Error Message" in either the console window or the problems window.
Actual behavior
Console correctly displays that 1 test has failed but no error messages are available. Problem window is silent.
Actual Output:
Running test Banksy.Server.Tests.RegisterTests.BasicRegistration...

Microsoft (R) Build Engine version 15.1.1012.6693
Copyright (C) Microsoft Corporation. All rights reserved.

  Banksy.Server.Tests -> /git/Banksy.Server.Tests/bin/Debug/netcoreapp1.1/Banksy.Server.Tests.dll

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

Time Elapsed 00:00:01.93

Total tests: 1. Passed: 0. Failed: 1. Skipped: 0

Running test Banksy.Server.Tests.RegisterTests.BasicRegistration...

Microsoft (R) Build Engine version 15.1.1012.6693
Copyright (C) Microsoft Corporation. All rights reserved.

  Banksy.Server.Tests -> /git/Banksy.Server.Tests/bin/Debug/netcoreapp1.1/Banksy.Server.Tests.dll

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

Time Elapsed 00:00:00.96

Total tests: 1. Passed: 0. Failed: 1. Skipped: 0

Thanks for reporting! I've noticed this same behavior too.

I'm still getting this as of yesterday (Jul 30, 2018).  Any updates?

@DustinCampbell We have added the error and the standard output logging in https://github.com/OmniSharp/omnisharp-vscode/pull/2343.
Here is the current output for an error case :

@akshita31 -- Can you share how you got that to work?  Because I'm still getting the problem when I try to run using the CodeLens "Run Test" feature.
Here's a video reproducing the problem.
https://1drv.ms/v/s!ApAioVNgnHVmh_4C5LzVlgqx9Mtz6w
Thanks,
-Ben

@akshita31 Is that an xunit or mstest test?

MSTest.

@rchande  It is an mstest project. It is the project used in the tutorial here: https://docs.microsoft.com/en-us/visualstudio/test/walkthrough-creating-and-running-unit-tests-for-managed-code

@benday The change has been merged into the master branch, however we do not have a release yet with those changes.
However, if you wish to give it a try, you can follow the steps here: https://github.com/OmniSharp/omnisharp-vscode/wiki/Installing-the-C%23-extension-to-a-computer-without-internet-connectivity#installing-on-a-computer-that-cannot-connect-to-the-internet, to use the code from the latest master branch, these steps will give a vsix , to install the vsix you could follow the steps here: https://github.com/OmniSharp/omnisharp-vscode/wiki/Installing-Beta-Releases

@akshita31, @rchande : We should be releasing beta VSIXs fairly regularly so that users don't have to go through these steps. We used to do that in the past.


Сan't create room larger than 8800х8800.

I got a problem that if I increase the room width to 8900, then strong lags begin, although the fps debug shows that everything is fine (2000+) If I set it to 1300x1300 I get such an error.
https://i.imgur.com/mQUeD6P.png
https://i.imgur.com/l7BLKnt.png
https://i.imgur.com/WRreJ13.png
https://i.imgur.com/RdRtlmn.png
I have not encountered this with other light systems. In what there can be a problem? Same limitation?

Found a solution. The surface was the entire size of the room. Decided with optional arguments in .drow


Freedom of Movement Toggle

My particular party likes to cast Freedom of Movement (which among other things ignores difficult terrain, to save anyone the trouble of looking up the spell). To make this system agnostic, would it be possible to add a toggle hotkey that ignores difficult terrain when held?

This would be up to the Ruler to do that since it's the ruler that's calculating the cost of difficult terrain.
And if you're using Drag Ruler/Terrain Ruler, it already has that button.


Cannot import in python nightly build

On Travis, when I build with Python nightly (Python 3.6.0a0), then I get the following exception when importing. Works fine in Python 3.5.
__________________ ERROR collecting tests/test_controller.py ___________________
tests/test_controller.py:5: in <module>
    import testfixtures
../../../virtualenv/python3.6-dev/lib/python3.6/site-packages/testfixtures/__init__.py:21: in <module>
    from testfixtures.logcapture import LogCapture, log_capture
../../../virtualenv/python3.6-dev/lib/python3.6/site-packages/testfixtures/logcapture.py:10: in <module>
    from testfixtures.utils import wrap
../../../virtualenv/python3.6-dev/lib/python3.6/site-packages/testfixtures/utils.py:5: in <module>
    from inspect import getargspec
E   ImportError: cannot import name 'getargspec'
====================== 75 passed, 1 error in 1.24 seconds ======================

I've created a PR to add Travis builds on Python nightly: https://github.com/Simplistix/testfixtures/pull/33. Let me know if you want me to update it with "allow_failures".

See my comment on the pull request. FWIW, this issue appears to be a perfect case in point of why I have little interest in tracking nightlies. It looks like getargspec is back:
https://bugs.python.org/issue25486
I'm not sure why it would ever have been removed.


[fix][function] Fix invalid metric type "gauge "

Motivation
Prometheus load metrics error.

curl -s 'http://localhost:8080/metrics/'

This bug introduce from #15558
Modifications
Remove the space behind the metric type.
Documentation

[ ] doc
[ ] doc-required
[x] doc-not-needed
[ ] doc-complete

Matching PR in forked repository
PR in forked repository:

Codecov Report

Merging #18129 (55dbe86) into master (6c65ca0) will decrease coverage by 7.98%.
The diff coverage is 48.27%.

@@             Coverage Diff              @@
##             master   #18129      +/-   ##
============================================
- Coverage     34.91%   26.92%   -7.99%
+ Complexity     5707     3517    -2190
============================================
  Files           607      393     -214
  Lines         53396    43484    -9912
  Branches       5712     4471    -1241
============================================
- Hits          18644    11710    -6934
+ Misses        32119    29903    -2216
+ Partials       2633     1871     -762

Flag
Coverage Δ

unittests
26.92% <48.27%> (-7.99%)
:arrow_down:

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

Impacted Files
Coverage Δ

...pache/pulsar/broker/admin/impl/NamespacesBase.java
15.23% <ø> (+0.70%)
:arrow_up:

.../pulsar/broker/admin/impl/SchemasResourceBase.java
38.38% <0.00%> (-7.08%)
:arrow_down:

.../org/apache/pulsar/broker/admin/v2/Namespaces.java
8.83% <0.00%> (+0.80%)
:arrow_up:

...broker/delayed/InMemoryDelayedDeliveryTracker.java
0.00% <0.00%> (ø)

.../pulsar/broker/service/AbstractBaseDispatcher.java
34.35% <ø> (-11.51%)
:arrow_down:

...che/pulsar/broker/service/BacklogQuotaManager.java
9.09% <0.00%> (-0.40%)
:arrow_down:

.../service/SystemTopicBasedTopicPoliciesService.java
52.84% <0.00%> (+1.25%)
:arrow_up:

.../pulsar/broker/stats/BrokerOperabilityMetrics.java
98.21% <ø> (+5.56%)
:arrow_up:

...g/apache/pulsar/compaction/CompactedTopicImpl.java
11.42% <0.00%> (+0.71%)
:arrow_up:

...sistent/PersistentDispatcherMultipleConsumers.java
39.07% <28.57%> (-12.63%)
:arrow_down:

... and 333 more

@Technoboy- Also need to cherry-pick 2.9.x.

Oh, man. Who would have thought this would be an issue? We probably need an e2e test using real Prometheus docker on this. Thanks for the fix @coderzc .
@marksilcox CC


Fix navigating back to parent from iou action thread

cc @roryabraham since you authored the PR that introduced the regression
Details

Previously we were passing the parentReport to the AvatarWithDisplayName, which is the component that renders the link back to the parentReport. So when we were looking at the IOU thread report we passed it's parent report, which is the IOU report, then when we clicked the link to navigate back it went to that report's parent, which is the chat report. Therefore navigating back went up two levels instead of one.
We used this parentReport prop for an outdated reason described here, so it's safe to remove it. We actually already made this change and it was undone, causing a regression, explained here.
Fixed Issues

$ https://github.com/Expensify/App/issues/23102
PROPOSAL: N/A
Tests

Navigating back from iou thread

Open an existing chat
Click on 'Request money' link
Enter amount & click on 'Next' button
Click on 'Request' button
Click on IOU preview component & observe that user is navigated to IOU report and IOU preview component is displayed
Click on the IOU preview component & observe that user is navigated to the thread report where the IOU detail is displayed
Click on 'From' link
Verify that you are navigated back to the IOU report in step 5

Pinning an IOU thread report

Select FAB, request money and follow the steps to create an IOU thread.
open the IOU money request thread.
Click the pin icon
Verify the thread is pinned
Click the pin icon again
Verify the thread is unpinned

[ ] Verify that no errors appear in the JS console

Offline tests

N/A
QA Steps

Same as tests

[ ] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android / native
[x] Android / Chrome
[x] iOS / native
[x] iOS / Safari
[x] MacOS / Chrome / Safari
[x] MacOS / Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] If we are not using the full Onyx data that we loaded, I've added the proper selector in order to ensure the component only re-renders when the data it is using changes
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[x] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos
I tested most platforms but not all, because I couldn't get them to work, and these changes are platform independent.

Web

https://github.com/Expensify/App/assets/26260477/4003b7ab-c458-4f37-abb5-83c1253acd71
https://github.com/Expensify/App/assets/26260477/3f5394d0-bc84-42ab-b120-8378258dc567

Mobile Web - Chrome

Mobile Web - Safari

https://github.com/Expensify/App/assets/26260477/07c904fe-a0f2-4639-b2f1-a57948b925df
https://github.com/Expensify/App/assets/26260477/9465f779-3acf-44a6-b940-333631ed0ec1
https://github.com/Expensify/App/assets/26260477/995bc268-0ea2-4c4f-9f46-4fb9b764cf27

Desktop

iOS

https://github.com/Expensify/App/assets/26260477/b8c1815c-ec0d-45da-a83e-f54c8d317593
https://github.com/Expensify/App/assets/26260477/2663c266-ef33-43aa-9cef-73be3d9f6bec

Android

https://github.com/Expensify/App/assets/26260477/d28f74b3-09d5-42a3-a7fa-3e4c96bd87b8
https://github.com/Expensify/App/assets/26260477/a2ed666a-9699-4c59-af7a-c179bd1c9c08

I assigned @allroundexperts from Slack.

@neil-marcellini mind merging this and posting a CP request in #deployer when you do?

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by https://github.com/neil-marcellini in version: 1.3.42-22 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/jasperhuangg in version: 1.3.42-26 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to staging by https://github.com/neil-marcellini in version: 1.3.44-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


[ANSIENG-3383] | Https in keycloak

Description
Enables https on keycloak server. Molecule scenarios can use it by defining the following variables
keycloak_oauth_server_port: 8443
keycloak_http_protocol: https
oauth_token_uri: https://oauth1:8443/realms/cp-ansible-realm/protocol/openid-connect/token
oauth_issuer_url: https://oauth1:8443/realms/cp-ansible-realm
oauth_jwks_uri: https://oauth1:8443/realms/cp-ansible-realm/protocol/openid-connect/certs

Fixes # (ANSIENG-3383)
Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[X] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration
Checklist:

[ ] Any variable/code changes have been validated to be backwards compatible (doesn't break upgrade)
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] If required, I have ensured the changes can be discovered by cp-ansible discovery codebase
[ ] My code follows the style guidelines of this project
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] Any dependent changes have been merged and published in downstream modules

since the certs now exist inside the oauth docker container, how will we pass it in oauth_idp_pem_path in inventory file?

since the certs now exist inside the oauth docker container, how will we pass it in oauth_idp_pem_path in inventory file?

Can we extract them similar to how we were doing for okta ?

since the certs now exist inside the oauth docker container, how will we pass it in oauth_idp_pem_path in inventory file?

Can we extract them similar to how we were doing for okta ?

you mean adding it in prepare.yml file?


oracle procedure

Can you give an example of how a stored procedure is executed?

Executing a stored procedure is probably not possible at the moment. usql can be used to define schemas, stored procedures, views, etc. on Oracle (simply escape ; as \;):
CREATE PROCEDURE a_0_in_1_out(a_return OUT INTEGER) AS
BEGIN
  SELECT 10 INTO a_return FROM dual\;
END\;;

However, I am not sure if it's possible to actually call a stored procedure at the moment, as it requires creating/declaring variables for storing out values and then returning that. I'm not sure if the Go drivers in usql (godror and ora) currently support this, in a way that would work with usql. I'll try to see if I can figure out a way for this. For now, I'd suggest using sqlplus if you need a command-line to retrieve values from a stored procedure.

Ok, thank you

Hello.
Any news about this?
We want to execute a procedure without variables.
Is it possible to just run this command:
exec procedure_name;
via usql?


devtoberfest submission!

hi, here's my take on the submission - and i decided to give "progressive bundling" a take, as explained by chieftain @petermuessig over at https://blogs.sap.com/2020/04/09/ui5ers-buzz-50-the-loading-evolution-get-the-most-out-of-your-ui5-app/
BUT: can't run this on my gh account at https://vobu.github.io/devtoberfest-2021-frontend-coding-challenge/ as i use gh pages to run the top-level account :(

btw: @IObert there's a typo in the app id in manifest.json → https://github.com/SAP-samples/devtoberfest-2021-frontend-coding-challenge/pull/10/commits/bf8ea9937f2c8b5a0a2c69115fc00ed443fe7061

I fixed the typo on main :)

will re-issue a new PR


🌐 Add Korean translation for Tutorial - First Steps

This PR translates tutorial/first-steps.md in Korean.
related: #2017

Great! Thank you @hard-coders ! :bow: :rocket:
And thanks for the reviews @PandaHun and @Suyoung789 ! :cake:


Build instructions for Windows

Finally writing down the build instructions for Windows (or any other system without make installed). I had to use these myself plus I have seen some similar questions come up in the Slack.
Couple other related changes:

Install the local package as part of requirements.txt
Ignore all hidden dot directories during flake8.

@vsalvino  can you please rebase this and also review the changes to https://github.com/wagtail/sphinx_wagtail_theme/pull/162/files
There have been some recent changes to requirements files with that PR and the Percy one


[ServiceBus] AMQP client fails to create a receiver link

Package Name: azure-servicebus
Package Version: 7.10.0
Operating System: Azure Kubernetes (alpine3.16)
Python Version: 3.9

Describe the bug
Getting the below error while listening to a service-bus topic.
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/azure/servicebus/_base_handler.py", line 411, in _do_retryable_operation
    return operation(**kwargs)
  File "/usr/local/lib/python3.9/site-packages/azure/servicebus/_transport/_pyamqp_transport.py", line 617, in iter_next
    receiver._open()
  File "/usr/local/lib/python3.9/site-packages/azure/servicebus/_servicebus_receiver.py", line 361, in _open
    while not self._handler.client_ready():
  File "/usr/local/lib/python3.9/site-packages/azure/servicebus/_pyamqp/client.py", line 392, in client_ready
    if not self._client_ready():
  File "/usr/local/lib/python3.9/site-packages/azure/servicebus/_pyamqp/client.py", line 809, in _client_ready
    self._link = self._session.create_receiver_link(
AttributeError: 'NoneType' object has no attribute 'create_receiver_link'

To Reproduce
This occurs randomly, but seems to happen mostly when the subscription receiver becomes Idle for a while.
I'm using the below snippet.
with self.servicebus_client:
    receiver = self.servicebus_client.get_subscription_receiver(topic_name=self.TOPIC_NAME, subscription_name=self.SUBSCRIPTION_NAME)
    for msg in receiver:
        self.process_message(msg, receiver)

I have to mention something that sounds weird, I'm getting this error most likely on Thursday and Friday at least for the past two weeks.

Thank you for the feedback @ahmadhany.  The context about the subscription receiver being idle is key in us trying to repro the issue.
There are a couple of things Id like you to try on your side please

Upgrade to the latest version of azure-servicebus 7.11.1. We had a few bug fixes in there which maybe could solve this
Turn on debug logging and pass in logging_enable=True. This way we can see what exactly happens as this error surfaces and could further help in a repro. Your code above would need to be modified like this

from azure.servicebus import ServiceBusClient
import logging
import sys

logger = logging.getLogger('azure.servicebus')
logger.setLevel(logging.DEBUG)
handler = logging.StreamHandler(stream=sys.stdout)
logger.addHandler(handler)

CONNECTION_STR = ''
#QUEUE_NAME = ''
TOPIC_NAME = ''
SUBSCRIPTION_NAME = ''

servicebus_client = ServiceBusClient.from_connection_string(conn_str=CONNECTION_STR,  logging_enable=True)

I have to mention something that sounds weird, I'm getting this error most likely on Thursday and Friday at least for the past two weeks.

Its not that weird if Friday is a day off and Thursday is a low activity day as it would correlate to less activity and the receiver idling as there isnt much activity. Is that a fair assumption that your systems see less traffic and usage on Thursday & Friday ?

Thank you for the update @ahmadhany. One more follow up, are you using AMQP transport only ?

are you using AMQP transport only ?

@kashifkhan  Yes, the default settings, I'm not using uamqp.

Thanks for the update @ahmadhany. Im able to repro this on my side, will link the PR once its ready

@ahmadhany I initially thought this issue was related to another bug in the code, but I think Im mistaken. Are you by any chance running the receiver with multiple threads ?

@kashifkhan Yes, I'm running the receiver with multiple threads.
Here's an example:
with self.servicebus_client:
    receiver = self.servicebus_client.get_subscription_receiver(topic_name=self.TOPIC_NAME,subscription_name=self.SUBSCRIPTION_NAME)
    for msg in receiver:
    x = Thread(target=trio.run, args=(self.process_message, msg, receiver))
    x.start()

Sorry for my late reply.

@ahmadhany Thank you for the update. The issue here is because the service bus client library is not threadsafe, so your code is running in to a situation where some thread has jumped ahead and trying to access objects that have not been initialized by the other thread. Our recommendation is that the application using the client handle thread safety, so a lock around the client being accessed would be a way to solve the issue.

@kashifkhan Thank you for the update and for identifying the root cause of the issue.


Organize task schemas of existing datasets supported by DataLab

We can organize them here: https://github.com/ExpressAI/DataLab/blob/main/src/datalabs/tasks/README.md

In addition, this directory has a list of all datasets https://github.com/ExpressAI/DataLab/tree/main/datasets
But it's not clear their details or what tasks they apply to. It'd be nice to be able to automatically generate a README.md in that directory that lists up the datasets and some rudimentary information about them (e.g. what tasks they apply to), maybe with each one linked to the relevant task.


Swift compiler does not chose the correct sync/async overload

Description
Hello,
SE-0296 contains those paragraphs in its Overloading and overload resolution section:

[...] we propose an overload-resolution rule to select the appropriate function based on the context of the call. Given a call, overload resolution prefers non-async functions within a synchronous context (because such contexts cannot contain a call to an async function). Furthermore, overload resolution prefers async functions within an asynchronous context (because such contexts should avoid stepping out of the asynchronous model into blocking APIs).

This rule is crucially important, because when a library ships an async overload of a sync function, it may well be with the intent of avoiding the grave problems that happen when the cooperative thread pool is blocked by the sync overload. The language must respect the intended design of SE-0296, and the care put by API authors into helping their users write correct programs. See this very interesting forum thread for a longer discussion.
The reason for this issue is that the overload resolution is not correctly implemented, and the compiler mistakenly allows sync calls in asynchronous contexts.
Reproduction
struct Runner {
    func run() { }
    func run() async { }
}

func testSync() {
    // 👍 sync overload chosen
    Runner().run()
}

func testAsync() async {
    // 👍 compiler error: expression is 'async' but is not marked with 'await'
    // Runner().run()
    await Runner().run()
}

func testTask() {
    Task {
        // ❌ sync overload wrongly chosen. No error and no warning.
        Runner().run()
    }
}

Expected behavior
The testTask function does not compile, and the compiler complains with "expression is 'async' but is not marked with 'await'"
Environment
Problem exists in Swift 5.10, and still exists in Xcode 16 beta:
swift-driver version: <IP_ADDRESS> Apple Swift version 5.10 (swiftlang-<IP_ADDRESS> clang-15<IP_ADDRESS>)
Target: arm64-apple-macosx14.0
swift-driver version: 1.109.2 Apple Swift version 6.0 (swiftlang-<IP_ADDRESS>.300 clang-16<IP_ADDRESS>)
Target: arm64-apple-macosx14.0
Additional information
@_disfavoredOverload does not help. I don't know any workaround that would have the compiler correctly identify the incorrect use of the sync overload in an async context.

Bug still present in Xcode 16.0 beta 3 (16A5202i)

This looks like it's behaving-as-designed based on this rule further down in the section (emphasis mine)

In non-async functions, and closures without any await expression, the compiler selects the non-async overload:
func f() async {
 let f2 = {
   // In a synchronous context, the non-async overload is preferred:
   doSomething()
 }
 f2()
}

If a closure does not have any awaits, it's considered a synchronous context, even if the contextual type is always async. Fixing this issue requires a semantic change to the language that should go through Swift Evolution.

Hello @hborla,
Thanks for looking at this issue. I'm the author of the amendment that specified, so I'm all responsible for this.
Let's provide my own emphasis:

In non-async functions, and closures without any await expression, the compiler selects the non-async overload:

The Task initializer accepts an async closure, and I would have expected the chosen overload to be the async one.
The spirit of the amendment is that the async overload should always be preferred in async contexts, unless the programmer explicitly opts out.
The letter of the amendment has allowed the interpretation that yields to the current very asymmetrical behavior: async functions always require await (unless opt out), but async closures never require await (unless they contain another suspension point)!
Indeed
func acceptAsyncParameter(_ f: () async -> Void) { }
func testAsyncParameter() {
    acceptAsyncParameter {
        // 😖 sync overload chosen.
        Runner().run()
    }
}

I'm very sorry about that. This is the wrong behavior, because blocking the cooperative thread pool can lead to deadlock. API designers who provide an async overload rely on the compiler to help them not blocking the cooperative thread pool.
cc @DougGregor, who encouraged me writing the amendment.
We need a new one, that is better written.

BTW, since fixing this issue would be a breaking change (some code that is currently accepted would stop compiling with an "expression is 'async' but is not marked with 'await'" error message), it would be very cool to address it before Swift 6 is released for good.

This must be a bug since the async overload is not even a real option here since the line is not marked with await, right? @groue

This must be a bug since the async overload is not even a real option here since the line is not marked with await, right?

@qusc, this is not a bug. This is the behavior described by SE-0296 (section "Overloading and overload resolution"). The presence of await asyncOperation makes the closure an async one, and this triggers the election the async overload of map. So your example behaves exactly as expected and described by SE-0296.
This issue is about the fact that the compiler does not require async in the case below (assuming there exists an async overload of map as in your app):
Task {
    // await not required
    optional.map { print($0) }
}

I plead that this is unexpected and harmful behavior. SE-0296 acknowledges that when a function comes in with two overloads, one sync and one async, the async should be preferred in async contexts. But SE-0296 fails to recognize an async context in Task { ... }, despite the fact that the Task initializer accepts an async closure.

Thank you for your quick reply! Sorry, did not expect you to reply this quickly, I edited my comments, did not understand the issue itself fully when I posted.
Now that I understand that automatically choosing the synchronous version is considered harmful behavior, how can I make the compiler choose the async overload that I defined then? This is totally fine by me – however, adding await to this line does not resolve the issue, I still get the compiler error Ambiguous use of 'map' for this:
extension Optional {
    func map<U>(_ transform: (Wrapped) async throws -> U) async rethrows -> U? {
        if let self { return try await transform(self) }
        else { return nil }
    }
}

let optional: Void? = .none

Task {
    await asyncOperation(()) // Having this line causes a compiler error for the line below!
    await optional.map { print($0) }
}

func asyncOperation(_ parameter: Void) async { }

@groue

The presence of await asyncOperation makes the closure an async one, and this triggers the election the async overload of map.

Exactly this does not seem to be the case, the compiler error does not indicate that there is a missing await but that instead the use of the map function is ambiguous!

Now that I understand that automatically choosing the synchronous version is considered harmful behavior

😅 Don't take this opinion of mine for granted! This issue was labelled "swift evolution proposal needed", which means that it's far from being universally acknowledged ;-)

however, adding await to this line does not resolve the issue, I still get the compiler error Ambiguous use of 'map' for this.

Now that's weird indeed! It's a distinct issue. I mean, they're related, but distinct. I would open a new GitHub issue, so that it is not merged with this one, and can be addressed independently.

@groue fyi: opened this issue: https://github.com/swiftlang/swift/issues/77021

@groue fyi: opened this issue: https://github.com/swiftlang/swift/issues/77021

Looks good to me! Focused and clear :)


Update delta_from_html to fix nested lists issues and more

Description
During the previous version (1.2.5) quite a few errors occurred, whether because the flutter_quill_delta_from_html package did not support image styles, or because it did not add correct indentation if an element of a list was already nested in another, or even because some attributes were not parsed as expected.
In this version (1.3.0) several issues with inline and block attribute detection were fixed, and support for more attributes was added.
Added support for lists indentation
For example, HTML like this:

      Item 1

             Sub item 1

                   Sub sub item 1

Now it must be transformed to a Delta like:
{"insert":"Item 1"},
{"insert":"\n","attributes":{"list":"bullet"}},
{"insert":"Sub item 1"},
{"insert":"\n","attributes":{"list":"ordered","indent": 1}},
{"insert":"Sub sub item 1"},
{"insert":"\n","attributes":{"list":"bullet","indent": 2}},
{"insert":"\n"}

Added support for general indentation of other HTML tags
The indentation in any HTML tag based on the value of the padding (how these values are parsed to a valid indentation for Quill Delta is specific to the package and may be subject to change since it is based on constant values and that could be wrong).
indentation parsing is only available if a label style has a padding-left or padding-right attribute
For example, HTML like this:

Hello

It will now be parsed as:
{"insert":"Hello"},
{"insert":"\n","attributes":{"indent": 2}},
{"insert":"\n"}

It was taken into account that the indentation level has a limit of 5 levels, so if a padding value exceeds the maximum of 5, it will be automatically replaced by the maximum available value. The only units supported for padding are: pt, pc, px, percentage, em and rem
Added support for image styles
Now if the images () contain any style within the label, the desired ones will be taken and applied. It was taken into account that we can only have: width, height, margin, and alignment
You could take as an example an image like:

This is an image:

It will be converted to a Delta like:
{"insert":"This is an image:"},
{"insert":
         {"image": "https://example.com/image.png"},
         "attributes": {"style": "width:50px;height:250px;margin:5px;alignment:center"}
},
{"insert":"\n"}

[!NOTE]
Fixed some problems with the parsing of
 and
 which instead of being block attributes, they were parsed to an inline attribute. The following Delta can be taken as an example:
{"insert":"console.log('hello')","attributes":{"code-block": true}},
{"insert":"\n"}

With this new version it was solved:
{"insert":"console.log('hello')"}
{"insert":"\n","attributes":{"code-block": true}}

Related Issues
Fix https://github.com/singerdmx/flutter-quill/pull/1997#issuecomment-2220198438
Checklist

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I titled the PR using Conventional Commits.
[x] I did not modify the CHANGELOG.md nor the package version in pubspec.yaml files.
[x] All existing and new tests are passing.
[x] I have run the commands in ./scripts/before_push.sh and it all passed successfully

Breaking Change
Does your PR require developers to manually update their apps to accommodate your change?

[ ] Yes, this is a breaking change (please indicate that with a ! in the title as explained in Conventional Commits).
[x] No, this is not a breaking change.

Seems to work as expected now

Screenshot

It seems that some tests are failing:

https://github.com/singerdmx/flutter-quill/actions/runs/9918478257/job/27403174050#step:14:37
This seems to require minimal changes to fix it. Though aren't those tests already part of flutter_quill_delta_from_html?

Though aren't those tests already part of flutter_quill_delta_from_html?

Yeah, i'll probably removed it soon, since it doesn't need to be tested here now.


Pressing enter on "enter passphrase for the wallet" does not click OK

I attempted to fix this but it was not successful, look into why and push the fix.
Marked as duplicate as it should also fix the seed backup passphrase dialog at the same time.

Closed by: https://github.com/BenWestgate/Bails/commit/d2a4fb6082dff5d250b7a840c32bb072ae977c2e


fix(overlay): proper backdrop stacking with multiple overlays

Currently backdrops get inserted after their corresponding overlays in the DOM. This can lead to situations where another overlay that is technically lower in the stacking order could go above a backdrop (e.g. opening a select inside a dialog). These changes switch to doing the stacking by having the overlay and backdrop have the same z-index and determining the stacking order by the order of the elements in the DOM.
Fixes #2272.
Note: I'm expecting this to have some merge conflicts with #2258.

LGTM, I'm going to try to get that renaming PR in first

Seems like some of the tests started failing after I rebased from master. Investigating.

Alright, it's sorted out. I had to rename the selector to use the cdk- prefix.


Testing datasets

Can you provide some data sets for testing?

Ah, sorry, it has been too long since this repo released


test: convert easymock to mockito

For the convenience of the reviewers this PR comprises two commits, the second commit allows to see the converted tests as if there were changed, not added.

Codecov Report

Merging #36 (700b7b6) into master (ee28088) will decrease coverage by 0.03%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master      #36      +/-   ##
============================================
- Coverage     64.32%   64.28%   -0.04%
+ Complexity      630      621       -9
============================================
  Files            32       32
  Lines          5317     5301      -16
  Branches        519      503      -16
============================================
- Hits           3420     3408      -12
+ Misses         1735     1727       -8
- Partials        162      166       +4

Impacted Files
Coverage Δ
Complexity Δ

...in/java/com/google/cloud/storage/StorageBatch.java
88.00% <0.00%> (-4.00%)
13.00% <0.00%> (ø%)

...main/java/com/google/cloud/storage/BucketInfo.java
83.61% <0.00%> (-0.36%)
86.00% <0.00%> (ø%)

...in/java/com/google/cloud/storage/PostPolicyV4.java
86.11% <0.00%> (-0.23%)
5.00% <0.00%> (ø%)

...om/google/cloud/storage/spi/v1/HttpStorageRpc.java
1.55% <0.00%> (+<0.01%)
2.00% <0.00%> (ø%)

...ain/java/com/google/cloud/storage/StorageImpl.java
81.96% <0.00%> (+0.64%)
138.00% <0.00%> (-9.00%)
:arrow_up:

Continue to review full report at Codecov.

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


Caching prevents taiga to update frontend

I used your script but ran into the problem that the frontend would not show my latest work. Only after invalidating caches it would pull the recent changes from the backend.
If you add add_header Cache-Control 'no-store'; to the /api/ nginx proxy location, the caches for the api calls are disabled and the changes are present instantly.

caching is now disabled. thanks @arno01 for merging.


Dependencies fail on maven - Guava

Hi,
Trying to compile today on maven :

org.mapdb
mapdb
3.0.8

a year ago, same project  worked ok, but now i get de follow error:
[ERROR] Failed to execute goal on project admission-event-service: Could not resolve dependencies for project xxx: Failed to collect dependencies at org.mapdb:mapdb:jar:3.0.8 -> com.google.guava:guava:jar:31.1.0.redhat-00001: Failed to read artifact descriptor for com.google.guava:guava:jar:31.1.0.redhat-00001

Same issue. I resolved with exclusions and adding correct guava version to my maven.

try 3.0.0 - on maven is good


Missing Feature!

Hello there,
I need to give the model a hint by couple of words to get better result .
How i can do that ?
Also i need an small or tiny Arabic model for mobile.
Can you help me please ?
Thank you!

I need to give the model a hint by couple of words to get better result .
How i can do that ?

Check Initial Prompt field in WhisperManager. You can try to put words there, separated by commas. It doesn't always work, so you might want to experiment with different models weights and prompt varaints.

Also i need an small or tiny Arabic model for mobile.

tiny.bin and small.bin are multilingual. They should support Arabic. Try to force Arabic language by changing Language field in WhisperManager to "ar".
I don't know if there are any distilled networks fine-tuned for Arabic. OpenAI only provided English fine-tunes.

What do you mean by Initial Prompt doesn't always work?
do you mean it is up to model can support that or not ?
and if there a model support Initial Prompt it will always work or what ?
also can you give me link of models please

What do you mean by Initial Prompt doesn't always work?
do you mean it is up to model can support that or not ?

All models support Initial Prompt, however it's not always work as intended. For instance, if you type something like "LLAMA" in your prompt, whisper still can transcribe it as "lama".
You would need to experiment to find right prompt which works with your model.

also can you give me link of models please

Check repo readme. It should have all models there.

All models support Initial Prompt, however it's not always work as intended. For instance, if you type something like "LLAMA" in your prompt, whisper still can transcribe it as "lama".<

This is weird, Is there any update can fix that ? because I'm using custom names like "Ehab, Ihab" / "Mahmoud, Mahmud" etc.
so the transcribe will be like a correction and that not good because I'm using this transcribe result later to check if exist or not (bool)

Check repo readme. It should have all models there.<

Thank you very much.

This is weird, Is there any update can fix that ?

Your examples should work fine with a bigger networks. If you need to check names, you can try to use all names variations or do commands classification, like here #52.
I don't know any other solution except retraining network for your specific domain. You can try to ask in whisper.cpp or OpenAI repository. Maybe they have some ideas.

Okay, Thank you!
feel free to close this.


generate_group_vars_sample: rhcs.yml.sample

Add a pre-configured bare minimum rhcs.yml.sample that can save
configuration steps.
Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1478071
Signed-off-by: Sébastien Han<EMAIL_ADDRESS>

The "generate group vars" thing is getting more complicated, but sure.
Good call on needs-docs.

I must be missing the point of the "needs-docs" label

@ktdreyer the idea is once we branch stable-2.3 and start doing QE we will review all the PR labelled like this and discuss with the doc team accordingly.

@leseb why not write the docs as part of the PR?

We have some portion of it in the commits, that's why we will revisit it with the doc team.

I should clarify - why not update https://github.com/ceph/ceph-ansible/tree/master/docs in each PR?

Because I forgot and time is often limited... But yes I agree, this is not optimal.


integration/fixtures, e2e: recreate certs with cfssl

Fixes https://github.com/coreos/etcd/issues/4368.
I just recreated them with https://github.com/cloudflare/cfssl
with key usage specified in the config.

@heyitsanthony Ran the same integration test in cloud environment and confirmed that cURL tests pass without SSL error now. Please review.
Thanks,

lgtm; was curl rejecting the cipher?

@heyitsanthony Thanks,
No idea. They were rejecting SSL v3 I think:
curl: (35) error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure

Will merge after green lights.

Now TestTLSClusterOf3 is hanging with new certs. Will fix them.


Alternative to stage-tile task

The logic in stage-tile is weirdly complicated. It's especially frustrating because you cannot have multiple versions of a tile uploaded; you must delete unused products to allow stage-tile to work properly. Perhaps there's a better way to update a tile.
Perhaps #7 could be applied in this case?

Seems to be working very well without any of the "only one version should be staged at a time"-logic... Hopefully the simplified task won't come to bite me in the butt?


Download remote assets before deploy

See https://github.com/sidvishnoi/local-assets/issues/1

Potential approach:

After build, call getAllSubResources() and filter images from https://user-images.githubusercontent.com/ (and others as applicable). Let the result be remoteAssets[].
Download all remoteAssets[] in source folder.
Find and replace all instances each remoteAssets in built HTML file with a local file name.


#478 fix for invalid types

Thanks for this PR! Did some changes, would you like to take a look?

Size Change: +71 B (+1%)
Total Size: 9.46 kB

Filename
Size
Change

dist/react-use-intercom.cjs.development.js
3.66 kB
+30 B (+1%)

dist/react-use-intercom.cjs.production.min.js
1.99 kB
-5 B (0%)

dist/react-use-intercom.esm.js
3.65 kB
+46 B (+1%)

ℹ View Unchanged

Filename
Size

dist/index.js
152 B


Failed to build when running in universal mode in Nuxt.js

If I run my app in universal mode (with ssr), I will get a build error
Here is a demo
But if I change to spa mode, it works well

I created an online example on codesandbox.
If you set the mode to 'universal', the configuration of build should be
build: {
  transpile: ['zeit'], // Match [@zeit-ui/vue-icons]
}

Thanks a lot!


SRT subs invalid

I saw in your Reddit thread that external SRTs are supported.  The config file says to set 'srt' instead of mov_text.  Fine.
But when running manual.py -i input.mkv I'm seeing:
Invalid interal subtitle codec srt, defaulting to 'mov_text'.
It seems really straightforward to configure especially since the readme mentions it.  Is this a valid issue, or am I doing something wrong?

have you put a full stop before srt, so you have .srt in the autoprocess file?
I found the same and added a . as a mistake and it worked lol

Think you need to disable the embed-subs option as well

Thank you, setting embed to false fixed this.


feature: Compose 1.6.10 multimodule resources

The EAP doc for multiplatform resources was published behind a version switch (to avoid the amount of notes and warnings that is needed to keep the EAP and stable information on the same page): https://www.jetbrains.com/help/kotlin-multiplatform-dev/1.6.10/compose-images-resources.html
I took into account all comments that remained relevant.


Only allow drag input if user is holding onto the thumb

Right now, I can press anywhere along the slider. The thumb will move to where I pressed and follow as I drag along the slider.
I want to only allow dragging if the user presses on the thumb first, before dragging. Is this possible to achieve?

Can you please try setting disableTapEvent={false} on the slider?

Can you please try setting disableTapEvent={false} on the slider?

Setting 'disableTapEvent={true}' fixes it partially. I can no longer tap to random spots along the slider.
However, if I tap on any random spot on the slider and drag, the thumb will jump and follow the drag.
I only want the thumb to move if I touch it first then drag.

I added properties disableTrackPress and thumbTouchSize to support it, please update to the latest version v2.6.5.
If you want to see an example, please refer to the code here.


On onset&frames, how could I get the GraphDef File by the pre-trained checkpoint?

On onset&frames, how could I get the GraphDef File by the pre-trained checkpoint? Do I have to retrain the model?

I haven't done much with GraphDef files, but the easiest way might be to just modify one of the train or inference scripts to call  as_graph_def on the graph as soon as it's finished being created.


IRGen: support read-only statically initialized arrays in embedded swift

Arrays buffers need to be initialized with a (minimal) metatype and with an immortal reference count.
Also, disable feature availability checking for embedded swift: In embedded swift features are available independent of deployment and runtime targets because the runtime library is always statically linked to the program.

@swift-ci test

@swift-ci test

@swift-ci test linux

@swift-ci test


Update to RFC 8226 for ComponentPresentConstraint

Use the recently added ComponentPresentConstraint() instead of the previous approach.

Codecov Report

Merging #100 into master will not change coverage.
The diff coverage is 100%.

@@           Coverage Diff           @@
##           master     #100   +/-   ##
=======================================
  Coverage   99.35%   99.35%
=======================================
  Files          89       89
  Lines        5766     5766
=======================================
  Hits         5729     5729
  Misses         37       37

Impacted Files
Coverage Δ

pyasn1_modules/rfc8226.py
98.03% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

Thank you!
BTW, we can now try the new PermittedAlphabetConstraint feature - master branch temporarily depends on master pyasn1.

Ilya,  rfc5708.py does make use of it.

Ilya, rfc5708.py does make use of it.

Then the test for it should have failed prior to my latest commit to master where I make pyasn1-modules dependent on pyasn1 master...

Sorry typo.  I meant rfc7508.py.
I included a note about updating the requirements.txt when you accept the test.


Can pipenv add a feature that it can set a default mirror source?

In my country request "https://pypi.org/simple" is very slow.
So I have to modify the Pipfile every time I create a new project.
I hope I can set a default source.
like that
pip config set gloabl.index-url https://pypi.tuna.tsinghua.edu.cn/simple

https://pipenv.readthedocs.io/en/latest/advanced/#pipenv.environments.PIPENV_PYPI_MIRROR


XHR Failed on VScode for Mac for any extension

Version of VScode: (Updated to latest 1.61.1)

OS: MacOS Big Sur

Issue:
I am unable to update any extensions I have - C/C++, CMake Tools, Jupyter, Python, Remote- Containers etc..
It gives the same error on clicking the extension:

And gives the same error on clicking the "Update to 1.7.0" (latest version for C/C++ extension)

Here is the Developer Tools log:

Here is the Logs (Shared):

Similar issues for which I found no resolve. Not sure if any of these are on MacOS:
https://github.com/microsoft/vscode/issues/134985
https://github.com/microsoft/vscode/issues/133226
https://github.com/microsoft/vscode/issues/132849
https://github.com/microsoft/vscode/issues/131272
https://github.com/microsoft/vscode/issues/130962

It seems that you have issues connecting to marketplace, could be proxy related too.

Can you attach the log file following the steps below,

Launch code --log-net-log=/tmp/netlog.json
Perform actions that trigger the XHR failure
Quit the application
Attach netlog.json from /tmp in this issue


❓ [Question] How do you properly deploy a quantized model with tensorrt

❓ Question
I have a PTQ model and a QAT model trained with the official pytorch API following the quantization tutorial, and I wish to deploy them on TensorRT for inference. The model is metaformer-like using convolution layers as token mixer. One part of the quantized model looks like this:

What you have already tried
I have tried different ways to make things work:

the package torch2trt: there's huge problem with dynamic input. The dataset consists of different inputs (B,C,H,W) where H and W are not necessarily the same. There's a torch2trt-dynamic package but I think there are bugs in the plugins. The code basically looks like this:
model_trt = torch2trt(      model_fp32,       [torch.randn(1, 11, 64, 64).to('cuda')],        max_batch_size=batch_size,      fp16_mode=False,       int8_mode=True,        calibrator= trainLoader,      input_shapes=[(None, 11, None, None)]  )
torch.compile() with backends=tensorrt. When I was trying to compile the PTQ model, there's RuntimeError: quantized::conv2d (ONEDNN): data type of input should be QUint8. And when I was trying to use the QAT model, there's W1029 14:21:17.640402<PHONE_NUMBER>82080 torch/_dynamo/utils.py:1195] [2/0] Unsupported: quantized nyi in meta tensors with fake tensor propagation.
Here's the code I used:
trt_gm = torch.compile(      model,      dynamic= True,      backend="tensorrt",)
try to convert the torch model to an onnx model, then convert it into the trt engine. There are several problems in this case:

The onnx model is runs weirdly slow with onnx runtime. Furthermore, the loss calculated is extremely high. Here's an example:

I tried to visualize the quantized ONNX model with Netron because converting the quantized ONNX model to TRT engine always raise

This is the problematic part of the graph

The rightmost DequantizeLinear node is causing problem. I checked the x and found that it's an in32 constant array and the x_scale is a float32 constant array. The output of this node turned out to be the bias passed into the Conv layer.
There must be something wrong in the behavior of the conversion. When doing quantization with the pytorch API, only activations and weights were observed by the defined observer, so I was expecting only the leftmost and the middle DequantizeLinear Nodes while bias should be stored in fp32 and directly passed into the Conv layer. Using onnx_simplified is not able to get rid of the node. With the incompatibility between the conversion of quantized torch model to ONNX model, I'm not able to further convert the model into trt engine. I've considered using the onnx API for quantization, but the performance drop thing from unquantized original torch model to ONNX model is quite concerning.
The converting code looks like this:
torch.onnx.export(       quantized_model,        dummy_input,       args.onnx_export_path,        input_names=["input"],        output_names=["output"],        opset_version=13,         export_params= True,       keep_initializers_as_inputs=False,        dynamic_axes= {'input': {0:'batch_size', 2: "h", 3: "w"},                       'output': {0:'batch_size', 2: "h", 3: "w"}                       }   )

Environment

Build information about Torch-TensorRT can be found by turning on debug messages

PyTorch Version: 2.3.1
CPU Architecture: x86_64
OS: Ubuntu 20.04.4 LTS
How you installed PyTorch (conda, pip, libtorch, source): conda
Are you using local sources or building from archives: No
Python version: 3.9.19
CUDA version: 12.1
GPU models and configuration:
Torch_TensorRT: 2.3.0
torch2trt: 0.5.0
onnx:1.16.1

Additional context
Personally I think the torch.compile() API is the most possible for me to successfully convert the quantized model since there's no performance drop. Does anyone has relevant experience on handling quantized model?

Did you follow this tutorial? https://pytorch.org/TensorRT/tutorials/_rendered_examples/dynamo/vgg16_ptq.html

@narendasan
I've followed both the tutorial you provided and this one: https://pytorch.org/TensorRT/user_guide/dynamic_shapes.html#dynamic-shapes
However, there's this error after finishing calibration(the calibration seemed successful and the loss was quite low)

This is the code I used:
quant_cfg = mtq.INT8_DEFAULT_CFG
mtq.quantize(model, quant_cfg, forward_loop=calibrate_loop)
with torch.no_grad():
with export_torch_mode():
input_tensor = torch.randn((1, channels, 35, 35), dtype=torch.float32).to('cuda')
height_dim = torch.export.Dim("height_dim", min=25, max=64)
width_dim= torch.export.Dim("width_dim", min=25, max=64)
dynamic_shapes = ({2: height_dim, 3: width_dim},)
from torch.export._trace import _export
        exp_program = _export(model, (input_tensor,), dynamic_shapes= dynamic_shapes)
        trt_Qmodel = torchtrt.dynamo.compile(
            exp_program,
            inputs=[input_tensor],
            enabled_precisions={torch.int8},
            min_block_size=1,
            debug=False,
            assume_dynamic_shape_support= True
        )

@lanluo-nvidia or @peri044 can you provide additional guidance here?

@Urania880519
Also if you could paste the full code, I can try to reproduce on my side to know what is the exact issue you are facing.
The in8 quantization support was introduced in 2.5.0 version, if you could try with the 2.5.0 pytorch and torch_tensorrt.


[Landcover Toolkit] Tweak EE repo publish script

[x] Store temp EE repo clone in hidden dir inside local GitHub clone instead of in global /tmp
[x] Better debug output
[x] Warning about permissions
[x] Formatting nits

Thanks!


yrand

[ ] randnum uint/uint32/uint64
[ ] random choice
[ ] random weighted choice
[ ] shuffle list

Choice --> ChoiceInt, ChoiceString, or something common case
For general choice from list --- write an example for this scenario
WeightedChoice --> Return the index for weights ([]float64)
Shuffle --> Stable & Faster ... swap()

WeightedChoiceIndex is not a must-have func. Work on this later.


[WIP]Attempt to fix #397

#397 was about accepting pipe's input.
The problem as I saw it was in the fact that -1 designating EOF of Java's input streams was accepted by an incorrect filter.
There was this weird thing, first stating that exit is done by encountering a -1 in a stream supplying ints, then designating a pattern of (-1).toChar.toString instead (which was a single string of 0xffff char since Char[acter]s are unsigned), then (@ Filter.scala:48) did prefix.map(_.toInt), which resulted in 0xffff again, which, of course, didn't match -1 (int) in LazyList#dropPrefix.
I propose an implementation which avoids this casting, which makes an original example work (both on mac OS and Linux, but that's kinda irrelevant since the problem is not in the piping mechanisms after all).
No unit tests because I'm not sure this is the final solution and I'd like to know what you think about this. If/when you give it a green light, I guess a simple test not involving the piping simulation could be added to some FilterTest since this isn't really a buffer reading problem.

On a side note, WDYT about implementing some super-duper-silent-mode that will allow for proper piping? With the fix proposed in this PR, we already can do echo '1 + 1' | amm, but there's a lot of 'garbage' printed alongside the computation result (Scala version, 'Bye!' at the end etc.).
Allowing for echo '1 + 1' | amm -v0, where v0 is verbosity level under which only the actual result is printed would make for a nice featur.

Sorry I haven't looked at this! Will do so soon

This looks great; thanks for the fix! I'm happy with it as is. Adding printlns in manually seems to validate your theory that the original filter isn't correctly picking up the -1 "end of line" indicator, while your modified version does. The reason it didn't come up with the interactive use case is that Ctrl-D had a separate filter that did work; this filter was just broken from the start.
I'm personally happy just merging it as-is without a test: I wouldn't mind having an integration test, but a lot of the other terminal-level stuff isn't really tested anyway.
With regard to have a -v0 mode that didn't have any surrounding UI, I think that's a great idea and feel free to send a PR.
My original intention was that amm -c "..." would serve that purpose, but I can imagine the use case where the code you want to run comes from a pipe rather than from some bash variable you can splice into the shell command


Revise tree & panel container sizing / layout

make tree and panel proportional on desktop, as decided at today's co-working session
resolve problem with leaf details height causing page to overflow/jump
improve mobile layout/sizing
adjust placement of active tag when no leaf is open; addresses #161
make panel close button on mobile not full width (as decided at yesterday's meeting)
add gradient at top and bottom of panel so scrolling content will fade out (bottom disabled on desktop due to a vertical position/size issue I still need to resolve)
rearranged content order in the dom for accessibility, and then position as before using grid-area

Notes:

I made a guess for how large the tree container should be on mobile. I can adjust when you decide what it should be.
I've disabled scrolling on the body on mobile - will revisit when I implement the footer. It needs to have scrolling disabled when the panel is visible, otherwise you can scroll further down than we want.

Thanks, @rlskoeser !!
here are the issues I'm noticing:

the jump is not happening anymore, but it seems like the intro panel's left and right edges are being slightly cut off / the shadow is missing

this white spot is appearing on safari and chrome, and it closes the leaf panel, it's part of the x button I guess

the placement of the active tag on mobile is fine, but on desktop it's weird - this is happening on all browsers right now

the panel close button and the fade look great!!

regarding the tree size on mobile, I commented on our co-working session doc earlier, sorry, I think it would be good if we can see the entire tree (all the leaves and the trunk) by default while the intro panel. What do you think about that?
Right now this is what I see on chrome and firefox mobile - there is still a lot of empty space on the panel – do y

regarding the panel resizing, I love it, it's really close! What is this width? I also commented on the co-working session doc that I think the min width should be 320px

@gissoo thank you for testing and finding all of these!
The sizing I'm using right now on desktop is 32% of the width is dedicated to the panel, the rest is the tree, with a column gap of 38px.  LMK if you want to try tweaking that percentage.

I ran into the margin issue for the drop shadow on the panel before but forgot; I've added back margins and a comment why we need them
fixed the weird white spot on the close button (it was an overflow problem but IDK why 🤷♀ )
added a min width to the panel; I think if the min width is larger than the % allotted in the grid, it will extend the page slightly so there is a horizontal scroll, but that seems ok and better to have the content readable (note: I should probably convert the pixel sizes to rem so they are proportional to the text)

hahahaha on the active tag with no leaf - it's getting the mobile styles! I guess I forgot to override what I changed to adjust the position on mobile for that case; will adjust.
Your sentence about mobile size of the tree got cut off, I'm not sure what you intend. You want the whole tree and trunk visible when the intro is showing? I think it will be too small and will waste vertical space, unless we resize when the intro isn't visible (which I'd prefer not to do). But maybe I'm misunderstanding. (Wish we'd been able to get to this part in our co-working session, would probably be easier to talk through and adjust at together.)

@gissoo thank you for testing and finding all of these!
The sizing I'm using right now on desktop is 32% of the width is dedicated to the panel, the rest is the tree, with a column gap of 38px. LMK if you want to try tweaking that percentage.

@rlskoeser I think it looks fine!

* I ran into the margin issue for the drop shadow on the panel before but forgot; I've added back margins and a comment why we need them

* fixed the weird white spot on the close button (it was an overflow problem but IDK why 🤷♀ )

thank you!

* added a min width to the panel; I think if the min width is larger than the % allotted in the grid, it will extend the page slightly so there is a horizontal scroll, but that seems ok and better to have the content readable (note: I should probably convert the pixel sizes to rem so they are proportional to the text)

converting the pixel sizes to rem makes sense – I didn't realize about the min width ...I can't test that right now to see the horizontal scroll.

hahahaha on the active tag with no leaf - it's getting the mobile styles! I guess I forgot to override what I changed to adjust the position on mobile for that case; will adjust.

:D

Your sentence about mobile size of the tree got cut off, I'm not sure what you intend. You want the whole tree and trunk visible when the intro is showing? I think it will be too small and will waste vertical space, unless we resize when the intro isn't visible (which I'd prefer not to do). But maybe I'm misunderstanding. (Wish we'd been able to get to this part in our co-working session, would probably be easier to talk through and adjust at together.)

you're right, that will be too small. I also don't like the conditional resizing. What you have looks fine, we could make it smaller if we see that it's not enough (once we implement the new site title). I think it will be good enough though.


Mixing Version 151 and Version 159

Dear Experts,
We struggled to get version 151r2 to behave consistently on the HPC in a Singularity container.  Nevertheless, we persisted and ended up doing a fair bit of processing with that Singularity container.  Recently, I have revisited the issue and pulled 159...at that point I saw there was a warning about 151r2 being unstable.  This was a relief (given our troubles with it). However, I am concerned.  Should we be thinking about rerunning all results we got with 151r2 or are the results similar enough (when it runs) that we can mix it with 159 results?
Thanks,
Dianne Patterson

Hi @dkp - thus far, fmriprep has followed the semantic versioning scheme. In your case, the since the difference between versions is minimal (micro/patch version difference), I don't see the results differing much.

Thanks so much.
-Dianne

From: Mathias Goncalves<EMAIL_ADDRESS>Sent: Wednesday, February 19, 2020 2:42 PM
To: poldracklab/fmriprep<EMAIL_ADDRESS>Cc: Patterson, Dianne K - (dkp<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [poldracklab/fmriprep] Mixing Version 151 and Version 159 (#1987)
Hi @dkphttps://github.com/dkp - thus far, fmriprep has followed the semantic versioninghttps://semver.org/ scheme. In your case, the since the difference between versions is minimal (micro/patch version difference), I don't see the results differing much.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/poldracklab/fmriprep/issues/1987?email_source=notifications&email_token=AAHLUQCKY4FWNAJE654HU5TRDWRU3A5CNFSM4KWU4QW2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEMJZMJA#issuecomment-588486180, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAHLUQHLJ6JEA3TCUPH5M53RDWRU3ANCNFSM4KWU4QWQ.

1.5.x is one of the minor series where we respected that better, so that's your good luck. In the future we plan to be more consistent about separating improvements from bug fixes, so that you can be more sure that, if the first two numbers match, the results should be essentially interchangeable.
We'll also continue to note any significant changes in the release notes.


TypeError: render_to_response() got an unexpected keyword argument 'context_instance'

When accessing the /activity/ url getting this error.
May be the code base is yet not compatible with the django 1.10

yeah i am fixing this error and hopefully my pr should be accepted

try the code from master

hey @auvipy  i tried the code from the master but i think django 1.10 the context_instance variable in render_to_response, so most of the views using it fail in django 1.10. I submitted a PR. Let me know what you think.

yes I put a comment there too


Bug: title* is a const, but should be defined in config.cfg

title* is defined in the const-file for strings, but the title* should be updated with the value specified by the user in config.cfg. Otherwise title will always be "Nim Website Creator". The plugins needs to be able to use title to represent the user defined title.
https://github.com/ThomasTJdev/nim_websitecreator/blob/d22fc86aa934ee3286b8fa5c4c046f3c90fc4bbe/nimwcpkg/constants/_strings.nim#L48

I was thinking a lot about the config in general,
I think this can be changed from INI to JSON Pretty-Printed.
JSON

Can be done compile-time with std lib.
Doing it compile-time increases performance and security.
Code is less verbose less lines of code to do the same.
Validates config at compile-time.
Validates config as-you-type.
Valid config ensured at run-time.
Minify or Prettify is really easy.
NPM/Node uses JSON for config, so is not strange to people.
packedjson optionally increases performance.
Binary file size is smaller.
JSON gives you Type-safe config, int is int, bool is bool, etc.
Plugins need re-compile anyways.

INI

Can not be done compile-time with std lib.
Doing it run-time decreases performance.
Code is more verbose more lines of code to do the same.
May be Invalid config at compile-time and run-time.
Can not Validate config as-you-type.
Minify or Prettify is not posible.
INI format is more simple than JSON.
INI empty value is just key\n instead of "key": "" that confuses some people.
INI is not Typed, int is string, bool is string, etc you must parse it on each use.

How to Validate config as-you-type on the fly?.

Go to http://argentina-ni.ml
Switch tab to "file.json".
Type some JSON on the textarea.
Check that it says "Valid JSON" or "Invalid JSON" as you type.
Validation is done Client-side with JavaScript.
Validation is done Server-side with parseJson.

Note

Changing config from INI to JSON may require a NimWC version bump.
This is open to discussion and ideas.

Hi @juancarlospaco
At compile-time
Of course it would benefit performance and security by doing it on compile-time, but it would also limit the users possibility to do quick adjustments. If they get a new mail server, they then need to change the config and re-compile NimWC. I do have have NimWC running on devices, where Nim is not installed.
I would like to keep main options as runtime. If we have static elements in the config, a simple macro looping through could do the job:
macro genConfigItems(): void =
  var heading: string
  loop through config file:
    if line.substr(0, 0) == "[":
      heading = line
      conintue
    if heading in ["static", "config", "nochange"]:
      source &= "const cfg" & itemName & " = " & itemValue
    else:
      source &= "let " & itemName & " = dict.getSectionValue(\"" & heading & "\",\"" & itemValue & "\")\n"

  result = parseStmt(source)

JSON vs INI
I get the point and I see the benefits. But I'm in doubt about "benefit vs time-to-change"...
Types in config
As you say, the INI does not support types such as bool and int, so it would ease our job as developers to use JSON. But I think our main purpose is to ensure the ease for the end-user.

So I am kinda using webgui as a Mine Field for cool new ideas, and I think people like them,
so maybe in the future stuff from webgui can be steal to here, so few destacable mentions can be:

getConfig(compileTime = false) with this user can choose compileTime = true or compileTime = false, faster and less code, maybe an overload without requiring a configObject can be added.
getOpt(), faster and less code, more direct access to values anywhere.

But I wait to see how Fusion evolves,
maybe cool stuff can be sent there, and only depend on Fusion and the rest just move it inside NimWC, maybe Fusion becomes a frequently installed package and lots of people will have it installed, looks like a nice idea.
:slightly_smiling_face:


set_language_changer not documented

I noticed that set_language_changer is no longer in the documentation. We are still using it in most of our projects and the doc from older version still applies (http://docs.django-cms.org/en/2.3.3/advanced/i18n.html#language-chooser).
Is there something that replaced it or is it just missing from the doc?

@yakky I see this issue is closed, but there's a reference to what appears to be a completely unrelated PR. Am I missing something?

Yep, sorry: the linked PR is totally unrelated, I just wrote the wrong ID there. Fixed in the PR, but still wrong link here.

Anyway, the current docs DOES have this documented here: https://django-cms.readthedocs.org/en/support-3.0.x/reference/templatetags.html#language-chooser
So, I'm closing this Issue.


TypeError at / can't convert nil into String

This is what I did:
-installed gem for gollum
-changed to my rails root dir
-started gollum
-loaded http://localhost:4567
Got this error ....
Note( I'm on Win7, Ruby 1.9.2, lastest)
[2011-05-20 20:04:27] INFO  WEBrick 1.3.1
[2011-05-20 20:04:27] INFO  ruby 1.9.2 (2011-02-18) [i386-mingw32]
[2011-05-20 20:04:27] INFO  WEBrick::HTTPServer#start: pid=10460 port=4567
TypeError - can't convert nil into String:
c:/Ruby192New/lib/ruby/gems/1.9.1/gems/grit-2.4.1/lib/grit/process.rb:290:in s pawn'  c:/Ruby192New/lib/ruby/gems/1.9.1/gems/grit-2.4.1/lib/grit/process.rb:290:in s
pawn'
c:/Ruby192New/lib/ruby/gems/1.9.1/gems/grit-2.4.1/lib/grit/process.rb:271:in p open4'  c:/Ruby192New/lib/ruby/gems/1.9.1/gems/grit-2.4.1/lib/grit/process.rb:97:in ex
ec!'
c:/Ruby192New/lib/ruby/gems/1.9.1/gems/grit-2.4.1/lib/grit/process.rb:68:in in itialize'  c:/Ruby192New/lib/ruby/gems/1.9.1/gems/grit-2.4.1/lib/grit/git.rb:301:in new'
c:/Ruby192New/lib/ruby/gems/1.9.1/gems/grit-2.4.1/lib/grit/git.rb:301:in nativ e'  c:/Ruby192New/lib/ruby/gems/1.9.1/gems/grit-2.4.1/lib/grit/git.rb:325:in metho
d_missing'
c:/Ruby192New/lib/ruby/gems/1.9.1/gems/grit-2.4.1/lib/grit/git-ruby.rb:108:in rev_parse'  c:/Ruby192New/lib/ruby/gems/1.9.1/gems/grit-2.4.1/lib/grit/git-ruby.rb:64:inr
ev_list'
c:/Ruby192New/lib/ruby/gems/1.9.1/gems/gollum-1.3.0/lib/gollum/git_access.rb:14

same problem. Installed the latest ruby (1.9.3), DevKit, and gollum today. Running Win7x64.

Is it going to be fixed?

Is it going to be fixed? +1

Is it going to be fixed? +1

Please fix :-)
same problem. Installed the latest today.
Win7x64 on VMware Fusion
ruby 1.9.3p125 (2012-02-16) [i386-mingw32]
DevKit-tdm-32-4.5.2-20111229-1559-sfx
C:\My.wiki>gollum
:public is no longer used to avoid overloading Module#public, use :public_folder instead
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/gollum-1.3.1/lib/gollum/frontend/app.rb:17:in <class:App>' [2012-03-09 18:38:44] INFO  WEBrick 1.3.1 [2012-03-09 18:38:44] INFO  ruby 1.9.3 (2012-02-16) [i386-mingw32] == Sinatra/1.3.2 has taken the stage on 4567 for development with backup from WEBrick [2012-03-09 18:38:44] INFO  WEBrick::HTTPServer#start: pid=2668 port=4567 TypeError - can't convert nil into String:         C:/Ruby193/lib/ruby/gems/1.9.1/gems/grit-2.4.1/lib/grit/process.rb:290:in spawn'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/grit-2.4.1/lib/grit/process.rb:290:in spawn'         C:/Ruby193/lib/ruby/gems/1.9.1/gems/grit-2.4.1/lib/grit/process.rb:271:in popen4'
...


Does not "When" call completed method in "Subscribe" ?

Hi there,
I'm quite impressed to use UniRx and trying things these days.
Let me ask a question that I couldn't get "complete" at this code.
Observable.EveryUpdate()
.Where(x => x < 10)
.Subscribe(x => Debug.Log(x),
ex => Debug.LogError(ex.Message),
() => Debug.Log("completed"));
Does not "When" call completed method in "Subscribe" ?

Observable.EveryUpdate is an infinite sequence generator and Where is only filter.
For example, if sequence returns 10 or less again, Where throughout the value again.
// 0,1,2,3,4,5,6,7,8,9,-10,-11,-12,-13,....,
Observable.EveryUpdate()
    .Select(x => (x >= 10) ? -x : x)
    .Where(x => x < 10);

If you want to stop sequence, you can use Observable.TakeWhile.
Observable.EveryUpdate()
    .TakeWhile(x => x < 10)
    .Subscribe(x => Debug.Log(x), ex => Debug.LogError(ex.Message), () => Debug.Log("completed"));

See: Intro to Rx's Reducing a sequence section.
http://www.introtorx.com/content/v1.0.10621.0/05_Filtering.html

Thanks a lot for your perfect response!
I really appreciate for your work.


Problems with Text Measuring

I am trying to draw text in the center of a box using SKIA and the values I'm getting for the measurement don't seem to be right.
Here is an example:

The image on the left is pure Skia -- the image on the right is an autosizing Tlabel set to use the same font/size etc. and which is then centered by its reported dimensions.  As you can see it is centered correctly while the skia one isn't .
procedure TForm41.SkPaintBox1Draw(ASender: TObject; const ACanvas: ISkCanvas;
  const ADest: TRectF; const AOpacity: Single);
var
  Paint:ISKPaint;
  LFont1:ISkFont;
  LPaint1:ISkPaint;
  LBlob1,LBlob2:ISkTextBlob;
  LTypeface:ISkTypeface;
  TargetBoundsRect:TRectF;
  LocalScale:TPointF;
  TextToDraw:String;
  begin
  LPaint1 := TSkPaint.Create;
  LPaint1.AntiAlias := True;
  LPaint1.SetColorF(TAlphaColorF.Create(TALphaColorRec.Blue));
//draw frame around the destination rectangles
  ACanvas.DrawLine(ADest.TopLeft,PointF(0,ADest.Height),LPaint1);
  ACanvas.DrawLine(ADest.TopLeft,PointF(ADest.Width,ADest.Top),LPaint1);
  ACanvas.DrawLine(ADest.TopLeft,PointF(0,ADest.Height),LPaint1);
  ACanvas.DrawLine(PointF(ADest.Left,ADest.Height),ADest.BottomRight,LPaint1);
  ACanvas.DrawLine(PointF(ADest.Width,ADest.Height),PointF(ADest.Width,ADest.Top),LPaint1);

//create the font setup
  LTypeface := TSkTypeface.MakeFromName('Sans',tskFontStyle.Bold);
  LFont1 := TSkFont.Create(LTypeface, 18, 1);
  LFont1.Edging := TSkFontEdging.AntiAlias;
  TargetBoundsRect:=ADest;
  TextToDraw:='Skia Rules';

  if not (ASender = SkPaintBox2) then
    begin
     //if we are on the first box then lets measure the text using skia code
      LFont1.MeasureText(TextToDraw,TargetBoundsRect,LPaint1);
      LBlob1 := TSkTextBlob.Make(TextToDraw, LFont1);
//draw the text centered based on its reported dimensions
      ACanvas.DrawTextBlob(LBlob1, (ADest.Width-TargetBoundsRect.Width)/2,(ADest.Height
      - TargetBoundsRect.Height)/2, LPaint1);
    end;

  //make a smaller font
  LFont1 := TSkFont.Create(LTypeface, 12, 1);
  LFont1.Edging := TSkFontEdging.AntiAlias;
  if ASender = SkPaintBox2 then
  begin
    //Since we are on the second box then we want to center the label based on its reported size
     Label1.SetBounds(ADest.Left+(ADest.Width-Label1.Width)/2,
       ADest.Top+(ADest.Height-Label1.Height)/2,Label1.Width,Label1.Height);
//report its bounds
     LBlob2 := TSkTextBlob.Make('Reported Bounds: '+FloatToStr(Label1.width)+'w vs '+
        FloatToStr(Label1.Height)+'h', LFont1)
  end
 else //report the Skia TExt's bounds
  LBlob2 := TSkTextBlob.Make('Reported Bounds: '+FloatToStr(TargetBoundsRect.width)+'w vs '+
     FloatToStr(TargetBoundsRect.Height)+'h', LFont1);
  ACanvas.DrawTextBlob(LBlob2, 2,(ADest.Height-18), LPaint1);
end;

demo pas and fmx.zip

@TheOriginalBytePlayer What is your screen scale?

@TheOriginalBytePlayer The code is working as it should. The TargetBoundsRect.Top is -14 and TargetBoundsRect.Bottom is 0.
In MeasureText(), the y coordinates is relative to the baseline, which is neither above nor below the font, but usually strikes it somewhere across the middle. For this reason the bounds rectangle will have (usually) a negative top and a positive bottom. The negative top means that the top of the text is above the baseline (y decreases going up), while the positive bottom means that the bottom of the text is below the baseline (y increases going down).
So, after MeasureText() line, you can simple use TargetBoundsRect.Offset(0, -TargetBoundsRect.Top);
Since you are rendering texts, I would like to give a tip. The ACanvas.DrawTextBlob or ACanvas.DrawSimpleText are primitive forms of drawing text. Skia has developed a module for advanced texts called SkParagraph, which I recommend. Also, in a few weeks we will release version 3 with the new control TSkLabel, that uses SkParagraph to render the text.

Fix: Although MeasureText() is returning the top negative, it is not influencing your code as you are using TargetBoundsRect.Height. Your problem is occurring because Canvas.DrawTextBlob() and Canvas.DrawSimpleText() also consider the y coordinates where 0 is the base of the line.
The library code continues to work as intended, but just to be more precise, your code that would need to be adapted is just the line:
  ACanvas.DrawTextBlob(LBlob1, (ADest.Width-TargetBoundsRect.Width)/2,(ADest.Height - TargetBoundsRect.Height)/2, LPaint1);

replacing to:
  ACanvas.DrawTextBlob(LBlob1, (ADest.Width-TargetBoundsRect.Width)/2,((ADest.Height - TargetBoundsRect.Height)/2) - TargetBoundsRect.Top, LPaint1);

Brilliant.  That solves my problem completely, though I must confess it is hardly intuitive.  I am also not sure what the advantages is of returning the values in that manner, even if that is Skia's native way of doing things.
Given that this is a delphi wrapper, I expect it to translate the code to the delphi style of working and  I personally think it would be more useful to Delphi programmers to return normalized values making it more equivalent to .  You could split it to two functions
MeasureText which returns normalized values and
MeasureTextNativeSkia which returns the Skia Style values

The implementation of the way they did it has its benefits because knowing the position of the base of the line can help some drawings, for example, to draw a line underlining the text... Our purpose is to be very close to the original skia, so for now let's keep it the way it is.
However, if you use SkParagraph you will avoid these problems as it works with normalized positions (and not the base of the line), then it is a good alternative.


Pow function not working correctly when imaginary component is 0 and real component is negative

I found that if I try to square a complex number when the imaginary part is 0 and the real part is negative, the imaginary component does not remain 0. For example:
let example = complex(-2,0); // -2 + 0i
example.pow(2) // should be 4 + 0i, but instead yields 4 + 9.797174393178826e-16i

I'm using this in a recursive algorithm and so this error is getting compounded. I looked in the source code to see why this might be happening and it seems that there is an if statement that is too specific on line 462.
 if (b === 0 && a >= 0) {

          return new Complex(Math.pow(a, z['re']), 0);
}

I believe this shouldn't be filtering out the case if the real number is negative. If we are squaring a complex number that has no imaginary component, I should just square the real component regardless of its sign. So I believe it should just read b===0 with no and clause.

You're right, the condition was too restrictive. I made it work for full a. I was wondering if excluding the case 0^0 should be avoided here, but the result should behave somehow similar to the JS specs. THX for bringing this up. The new version is on npm


Web Editor link points to an Android Editor zip file download

Issue description:
On the download page, under Supported Platforms, the Web Editor button points to https://download.redotengine.org/release/4.4/android-editor.zip
URL to the web page:
https://www.redotengine.org/download

Temporarily hid web editor button until we get the real link - PR #130


test flake: TestContainerSystemProxies

https://dagger.cloud/dagger/traces/b8f44fb34378e1f9d5da38345ee13551?span=d826e8f9b0dc1572&logs#d826e8f9b0dc1572:L1385
=== FAIL: core/integration TestContainerSystemProxies/git_uses_proxy/git-proxy-logs (0.00s)

    proxy_test.go:360:

        	Error Trace:	/app/core/integration/proxy_test.go:360

        	            				/app/core/integration/proxy_test.go:228

        	Error:      	"1718561860.060      0 <IP_ADDRESS> NONE_NONE/000 0 - error:transaction-end-before-headers - HIER_NONE/- -\n1718561860.061      0 <IP_ADDRESS> NONE_NONE/000 0 - error:transaction-end-before-headers - HIER_NONE/- -\n1718561865.920      1 <IP_ADDRESS> TCP_MISS/200 302 GET http://whatup/ - HIER_DIRECT/<IP_ADDRESS> application/octet-stream\n1718561866.133     18 <IP_ADDRESS> TCP_TUNNEL/200 1845 CONNECT whatup:443 - HIER_DIRECT/<IP_ADDRESS> -\n"
                                does not contain "CONNECT github.com:443"

        	Test:       	TestContainerSystemProxies/git_uses_proxy/git-proxy-logs

cc @sipsma - took a quick look but didn't see anything super obvious. Doesn't seem telemetry logs related since it's from catting a file in the container.

Got another one:
https://dagger.cloud/dagger/traces/b5504a9403ac2d0f2b9105f07de71f54?span=a79872b34d6ef91c&logs#a79872b34d6ef91c:L1247

Attempting a fix here but couldn't repro locally so not 100% sure yet, will leave this open for now until we haven't seen it for a while https://github.com/dagger/dagger/pull/7696

I haven't seen this one since the above fix was merged, so safe to close by now I think


generate_sets

We currently have a function in oncopipe (generate_pairs) that handles the complex task of matching up tumours and their matched normal samples. I think we need to implement a similar function in oncopipe that allows more complex sample sets to be automatically constructed with other groupings (not always 1:1). An example use case I've encountered for cases with more than one tumour is that we want to run some analyses/tools on ALL the tumour bams (or tumour_mafs etc), so we need to know the sample ID of each sample that exists for that patient and have them grouped properly. Something along the lines of:
op.generate_sets(SAMPLES,sample_types=('tumour_genome','normal_genome',grouping='patient')
This could return a data frame with a column for each tumour genome that exists (named by the corresponding time point from a time_point column) or perhaps the tumour_genome column contains a list of genomes where more than one exists.
Another use case:
op.generate_sets(SAMPLES,sample_types=('tumour_genome','tumour_mrna',grouping='tumour_sample')
This would return a data frame that has a column for the tumour genome and another for the RNA-seq sample (or samples) for that patient. In this case, I've indicated that grouping would be at the level of the sample instead of the patient, so if there are multiple time points, these would still be in separate rows.

@oncogenomics I've made a handy reprex for you to mess around with to get the gist of what we're trying to accomplish. You should have permissions to be able to run this directly:
cd /projects/rmorin_scratch/Laura_temp/oncopipe_sandbox
snakemake -np -s test_generate_pairs.smk all

Essentially we have results files that have been generated by retrieving wildcards from a "runs" table, which is generated from the input samples table (in my example the maf files fit this description). We might also have input files that aren't paired. We want to be able to easily write rules that take outputs from different pipelines and joins them on patient_id and/or surgical number.
The issue with the way I've done it is that not every RNAseq sample has a genome, so some of the rules generated on the dry run have an input bam but no input maf files. Ideally the generate_sets function would handle this and only set mRNA bam files that ALSO have one or more genome maf files as targets.