Improve delete contact method

Held on this Auth PR
Details
This PR improves the code which deletes a contact method.
Fixed Issues
$ https://github.com/Expensify/App/issues/20701
Tests

Go to Profile -> Contact Methods and add a new contact method that you know that it is already a secondary login for another account
Verify that the new contact method is added but an error is displayed
Delete the newly added method
Verify that delete is performed successfully
Verify that the API command returned success

[ ] Verify that no errors appear in the JS console

Offline tests

Go to Profile -> Contact Methods and add a new contact method that you know that it is already a secondary login for another account
Verify that the new contact method is added but an error is displayed
Go offline
Delete the newly added method
Verify that the contact method is displayed as pending delete
Go online
Verify that delete is performed successfully
(On dev only: 8. Verify that the API command returned success)

https://github.com/Expensify/App/assets/18078393/062b5f12-d9fb-4633-b3be-403dae0dfc46
QA Steps
Steps 1-4 from 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] 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

Web
https://github.com/Expensify/App/assets/18078393/5a72b613-d425-447f-85e3-f10805bf970a

Mobile Web - Chrome
https://github.com/Expensify/App/assets/18078393/0d6d9191-5ba0-4da0-928f-c8f2f8249e0f

Mobile Web - Safari
https://github.com/Expensify/App/assets/18078393/f0ffd53d-60cf-42c6-9300-86fc866811ef

Desktop
https://github.com/Expensify/App/assets/18078393/0a750520-5e74-41ab-8a44-7be261f79455

iOS
https://github.com/Expensify/App/assets/18078393/711e532c-8069-445c-80e8-2d4ca0d0a7c6

Android
https://github.com/Expensify/App/assets/18078393/00df8b1b-95ed-42dc-a147-44222b120eca

yes, I will post an update when this is ready for review.

This is ready for review @allroundexperts

@allroundexperts This is not related to this PR. It is because the App calls the ReconnectApp command when it gets back online, and the response sets the loginList key in Onyx. As a workaround, we could use Onyx.set (with the other logins fetched from Onyx beforehand) when deleting a secondary contact method but I am not very happy to make the DeleteContactMethod command care of other commands.
Curious about what @Beamanator thinks.

Aah interesting, yeah I agree this doesn't really have anything to do with "deleting" contact methods 👍
Also I think we're going to try to completely stop doing "set" for login list so that contact method-specific error messages persist - so I'd say :donothing: for now, but note here that we have a plan to fix that - in this issue: https://github.com/Expensify/App/issues/17827

: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/amyevans in version: 1.3.39-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/francoisl in version: 1.3.39-11 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


[BUG] Canvas drawing failed for the tokenlayer

Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'children')
at updateEffectScales (effect-scaler.js:42)
at TokenPF.Token.drawEffects (effect-scaler.js:7)
This is on the latest stable release v9 build 238
This is with all other modules disabled. [Microsoft Windows 10 Home, 10.0.19042 Build 19042, 32 GB RAM]
After this error, which not happens 100%, I cannot click or right-click on a token.
I can only select a token by dragging a square over the token but even if selected I cannot do anything with it since I cannot reveal the resource values, status effects, etc....

FYI: I am not expecting to have time to test any of my modules for FoundryVTT v9 and make any necessary changes for that update until after the new year, so don't expect this to get fixed for a couple of weeks at least.

no worries, life happens, love the module as I have a very high res monitor and it keeps the HUD from being tiny, so thanks for the module and the work!

Hey @illandril, I was reading the API and I think I found the change. I managed to fix this locally, so I've submitted my patch if you want it.

FWIW, I locally applied @DukeOfArgyle's patch from #29 and it fixes the hud scaler errors I was seeing w/ Foundry v9.

Is there a way to apply @DukeOfArgyle 's patch while using the Forge? Or should I wait until @illandril has released an official patch? I'm not well versed in module management, so any advice would be appreciated.
I rely heavily on this module's scaling function - I use very large maps and don't want to scroll in and out all the time because the Token HUD is so small.


[Task] Add unit test cases for PathProcessor

Task Description:
Currently, we run unit tests using jest which can be found here.
However, the test cases are not yet comprehensive enough and work can be done to cover more grounds. Specifically for this issue, we hope to add test cases for the PathProcessor.
Deliverable(s):
New unit test cases that cover the testing of the PathProcessor.
Additional Context:

The PathProcessor can be found here
An example for AudioService can be found here which may serve as a good source for reference

Hello @tjtanjin , Can you also pls assign this issue to me ?

Hello @tjtanjin , Can you also pls assign this issue to me ?

Go for it!

Hey @Pratik00019, with hacktoberfest coming to a close very soon, I'll be leaving this issue un-assigned for any final PRs. This is to minimize leftover issues and provide an opportunity for those looking to get that last few PRs in. Feel free to continue with a PR if you're still working on this issue and I seek your kind understanding, thank you! 😊

Hello @tjtanjin! I was able to write unit tests for this service. I will be making an PR soon.


Write Rspec tests for Questionnaire model

Write Rspec tests to test the validations, associations and methods defined in Questionnaire model.

Added tests to test the validations, associations and methods defined in Question model


Accuracy for KNN fails with smaller number of samples

2023-10-20 16:05:05,360 [INFO] ############################################### Computing accuracy...
/usr/local/lib/python3.9/dist-packages/sklearn/model_selection/_validation.py:776: UserWarning: Scoring failed. The score on this train-test partition for these parameters will be set to nan. Details:

Traceback (most recent call last):
  File "/usr/local/lib/python3.9/dist-packages/sklearn/model_selection/_validation.py", line 767, in _score
    scores = scorer(estimator, X_test, y_test)
  File "/usr/local/lib/python3.9/dist-packages/sklearn/metrics/_scorer.py", line 220, in __call__
    return self._score(
  File "/usr/local/lib/python3.9/dist-packages/sklearn/metrics/_scorer.py", line 262, in _score
    y_pred = method_caller(estimator, "predict", X)
  File "/usr/local/lib/python3.9/dist-packages/sklearn/metrics/_scorer.py", line 72, in _cached_call
    return getattr(estimator, method)(*args, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/sklearn/neighbors/_classification.py", line 234, in predict
    neigh_ind = self.kneighbors(X, return_distance=False)
  File "/usr/local/lib/python3.9/dist-packages/sklearn/neighbors/_base.py", line 810, in kneighbors
    raise ValueError(
ValueError: Expected n_neighbors <= n_samples,  but n_samples = 384, n_neighbors = 401

This is a useful warning as for KNN to work we need n_neighbors <= n_samples. A parameter grid search is done to find the right parameter for 'n_neighbors'.


New version: calibre.calibre version 7.7.0

Pull request has been created with komac v2.1.0 :rocket:
Microsoft Reviewers: Open in CodeFlow

Close with reason: Duplicate of #144955;


Host details?

What do I enter here, I want to bring in tank temperature and control it in home assistant. I have Eddi as separate immersion controller, octopus won’t integrate smart grid.
I have 4kW Daikin heat pump and 250l tank I believe but cannot get access to this data in home assistant :-(

You should put there the IP adress of the daikin gateway... if you do have one of those which are actually supported.

Which gateway you have? How do you connect your daikin to the network?


Compliance Report B | Instructions for Schedule B |2|

Task:
This card is to create the Instructions section for Schedule B.

See attached screenshot for how this is set up in the existing excel-based Compliance Report
See attached screenshot for a mockup of the instructions sections in TFRS (example is of Schedule D)

Story:
As a BCeID user, I would like to have non-intrusive access to instructions for filling out and understanding Schedule B so that I can refer to them if needed.
Background:
We want to include some instructions within Schedule B to provide the user with enough information to properly fill out and understand the schedule.
Design(s):

Brief instruction info under the heading (no need to make this collapsible because it is quite brief)
tooltips (icons and messaging)

Instructions:
The following information should be included in this section:
Report the fuel volumes supplied for transportation. Do not include fuel volumes supplied for purposes other than transportation in Schedule B; please report those fuel quantities in Schedule C.
Tooltips:

Fuel Type: Select the fuel type from the drop-down list.

Fuel Class: Select the fuel class in which the fuel was used from the drop-down list.

Provision of the Act Relied Upon to Determine Carbon Intensity: Identify the appropriate provision of the Act relied upon to determine the carbon intensity of each Part 3 fuel.

Section 6 (5) (a): The Regulation-prescribed carbon intensity for petroleum-based gasoline.

Section 6 (5) (b): The Regulation-prescribed carbon intensity for petroleum-based diesel fuel.

Section 6 (5) (c) - Approved fuel code: Use this method for fuels that have been assigned an approved BCLCF code. A drop-down list of appropriate fuel codes based on the selected fuel type will be provided.

Section 6 (5) (d) (i) - Regulation default carbon intensity value: The carbon intensity of this fuel type determined in accordance with the Regulation.

Section 6 (5) (d) (ii) (A) - Approved version of GHGenius. Users selecting this method are required to provide a record of inputs to the GHGenius model, as defined in section 11.06 (1) of the Regulation, and any additional information necessary to reproduce, using the approved GHGenius, the results submitted.

Section 6 (5) (d) (ii) (B) - Approved alternative method: Users selecting this method are required to provide a copy of the Director's approval letter of that method and appropriate documentation of the inputs and outputs of the electronic calculation, as appropriate.

Fuel Code or Schedule D Entry (if applicable):

Fuel Code: If an approved fuel code is relied upon to determine carbon intensity, a drop-down list of the appropriate fuel codes based on the selected fuel type will be provided.

Schedule D Entry: If GHGenius modelled is relied upon to determine carbon intensity, a drop-down list of the appropriate fuel(s) reported in Schedule D based on the selected fuel type and fuel class will be provided.

A drop-down list of appropriate fuel codes based on the selected fuel type will be provided.

Quantity of Fuel Supplied: no tool tip

Units: This value will be provided based on the type of fuel reported.

CI Limit: The prescribed carbon intensity limit for the compliance period for the class of fuel of which the fuel is a part. This value will be provided based on the fuel class reported.

CI of Fuel: The carbon intensity of the fuel. This value will be provided based on the specific fuel and determination method reported.

Energy Density: This value will be provided based on the type of fuel reported as specified in section 11.02 (3) of the Regulation.

EER: The Energy Effectiveness Ratio (EER) will be provided based on the type of fuel and fuel class reported as specified in section 11.02 (2) of the Regulation.

Energy Content: This value will be calculated using the formula specified in section 11.02 (3) of the Regulation. The formula is Energy Content (megajoules) = Quantity of Fuel Supplied X Energy Density.

CREDIT/DEBIT CALCULATION (Part 1): This value will be calculated based on the information provided using the formula specified in section 6 (4) of the Act.

Credit or Debit = (CI class x EER fuel – CI fuel) x EC fuel / 1,000,000.

where,

Credit or Debit = The number of credits generated or debits incurred. This value will be displayed in the appropriate column (Credit or Debit).

CI class = The prescribed carbon intensity limit for the compliance period for the class of fuel of which the fuel is a part.

EER fuel = The prescribed energy effectiveness ratio for that fuel in that class of fuel.

CI fuel = The carbon intensity of the fuel.

EC fuel = The energy content of the fuel calculated in accordance with section 11.02 (3) of the Regulation.

CREDIT/DEBIT CALCULATION (Part 2): Credits and debits are displayed as whole values; fractional values are accounted for when determining the total credits generated and/or the total debits incurred from all fuel supplied within a compliance period. Conventional rounding is used only after the total credits and total debits are calculated.

https://trello.com/c/ZksmBkIq/1366-compliance-report-b-instructions-for-schedule-b-2

 Compliance Report B | Instructions for Schedule B |2|

resolved


Cannot save user setting

Every time I try to add something to a global variable:

I get the following error:

It also happens when I select "Disable diagnostics" or try to use any feature
OS: Windows 10
VSCode about:
Commit: b37e54c98e1a74ba89e03073e5a3761284e3ffb0
Date: 2019-09-11T13:35:15.005Z
Electron: 4.2.10
Chrome: 69.0.3497.128
Node.js: 10.11.0
V8: 6.9.427.31-electron.0
OS: Windows_NT x64 10.0.18362

I have just installed the extension so I'm on the current latest version.

Thank you!


Make getxyz() a static Labware.py method?

Feature enhancement details
Currently, getxyz() is a helper method in a new utils.py file, which I think is a better approach than re-writing that function for each tool (which is what I was doing before).
Instead of a utils.py file, should we add getxyz() as a static method in Labware.py? It makes conceptual sense to me that we'd retrieve well coordinates using Labware.py, and we could replace all utils.getxyz() with Labware.getxyz(), and we could remove utils.py.

I agree. I have implemented the suggested changes and added final implementation of _getxyz() method as a staticmethod in :class:Labware.
Closing this issue and merging these changes soon.


Run jobs in Parallel

Hey @kasperbolarsen , thank you looks like a great same!! 👏😊 This should be live shortly 😊
I made some changes for the work i am going in #178 so this will get posted in two locations :-) + rename to (aim to) keep consistent with other samples.


Getting error Command failed with exit code 1. in random while executing the tests.

What is your Scenario?
I am running a set of tests within a folder. These tests contain,

UI clicks
UI navigation
File upload scenario
Assertions

No other special scenarios tested in this suite.
What is the Current behavior?
All the tests are getting passed but then I am getting the error as error Command failed with exit code 1.
testcafe -q attemptLimit=2,successThreshold=1 --test-meta QUARANTINED=false src/tests/ -r spec,allure-extended,junit:reports/tc-report.xml -c 2
The "src", "reporter", and "filter" options from the configuration file will be ignored.
 Running tests in:
 - Chrome 96.0.4664.45 / Linux 0.0

..
..
..

 5 passed (5m 08s)
 Warnings (1):
 --
  The "src", "reporter", and "filter" options from the configuration file
  will be ignored.
Error:
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

We are not getting a failure report or error log trace to fix our code, just the error code. The main problem is this is not happening on every execution. We are getting this in random.
What is the Expected behavior?
If there is a failure, we are expecting it to throw what is the failure along with an error trace, so that we can take a look at how to fix the issue.
What is your public website URL? (or attach your complete example)
As I mentioned earlier, since it's happening at random, we could not get a solid code or public URL to replicate the same. It would be great if we could get a debug build as we got https://github.com/DevExpress/testcafe/issues/4665#issuecomment-579138984 in this issue so that we could use that in our runs and report when we could get this issue in random.
What is your TestCafe test code?
Here we are running multiple tests across multiple files. Also If we run the tests individually we couldn't get this issue. So I couldn't decide on which test code to actually put here.
Your complete configuration file
{
  "src": "./src/tests/**/*.js",
  "browsers": [
    "chrome:headless:emulation:width=1366;height=800; --test-type --disable-accelerated-video --disable-accelerated-plugins --disable-accelerated-layers --disable-accelerated-compositing --disable-accelerated-2d-canvas --disable-web-security --allow-running-insecure-content --dev --allow-insecure-localhost --ignore-certificate-errors --disable-dev-shm-usage --disable-gpu --autoplay-policy=no-user-gesture-required --disable-infobars --use-fake-ui-for-media-stream --allow-running-insecure-content --use-fake-device-for-media-stream --use-file-for-fake-video-capture=$PWD/src/support/fixtures/files/jellyfish.y4m --use-file-for-fake-audio-capture=$PWD/src/support/fixtures/files/noise_16.wav"
  ],
  "quarantineMode": {
    "successThreshold": 1,
    "attemptLimit": 2
  },
  "concurrency": 2,
  "ajax-request-timeout": 90000,
  "page-request-timeout": 90000,
  "page-load-timeout": 90000,
  "selectorTimeout": 60000,
  "selector-timeout": 60000,
  "browser-init-timeout": 60000,
  "assertionTimeout": 60000,
  "speed": 0.8,
  "skipJsErrors": true,
  "skipUncaughtErrors": true,
  "hostname": "localhost",
  "screenshots": {
    "path": "./artifacts/screenshots/",
    "takeOnFails": true,
    "pathPattern": "${DATE}/${TEST}_${RUN_ID}.png",
    "fullPage": false
  },
  "reporter": [
    {
      "name": "spec"
    },
    {
      "name": "allure-extended"
    },
    {
      "name": "junit",
      "output": "reports/report.xml"
    }
  ]
}

Your complete test report
No response
Screenshots
No response
Steps to Reproduce

As I mentioned earlier since it's happening at random, we could not get a solid code or public URL to replicate the same.
It would be great if we could get a debug build as we got https://github.com/DevExpress/testcafe/issues/4665#issuecomment-579138984 in this issue so that we could use that in our runs and report when we could get this issue in random.

TestCafe version
1.17.1
Node.js version
v14.17.5
Command-line arguments
testcafe -q attemptLimit=2,successThreshold=1 --test-meta QUARANTINED=false src/tests/ -r spec,allure-extended,junit:reports/tc-report.xml -c 2
Browser name(s) and version(s)
Chrome 96.0.4664.45
Platform(s) and version(s)
Linux 0.0
Other
No response

Thanks for the update, we will try and update and then will respond to this thread. 👍

Hey Team,
I have updated the version and even then we are seeing this issue happening.  Our recent logs are,
 5 passed (5m 31s)
 Warnings (1):
 --
  The "src", "reporter", and "filter" options from the configuration file
  will be ignored.
Error:
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

Thanks :)

A small update, I am getting the following EPIPE error sometimes,
 5 passed (7m 03s)
 Warnings (1):
 --
  The "src", "reporter", and "filter" options from the configuration file
  will be ignored.
Error: write EPIPE
    at afterWriteDispatched (internal/stream_base_commons.js:156:25)
    at writeGeneric (internal/stream_base_commons.js:147:3)
    at Socket._writeGeneric (net.js:798:11)
    at Socket._write (net.js:810:8)
    at writeOrBuffer (internal/streams/writable.js:358:12)
    at Socket.Writable.write (internal/streams/writable.js:303:10)
    at TLSSocket.ondata (internal/streams/readable.js:731:22)
    at TLSSocket.emit (events.js:400:28)
    at TLSSocket.emit (domain.js:537:15)
    at addChunk (internal/streams/readable.js:293:12)
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

+1 on my side. It happens ramdomly and I don't have a specific use case.
In my context, runs are done in a docker component.

@naresh-hopin @bbutel
We still don't have an example that we can run locally. Please, try to prepare it using instructions from this article: Create a Minimal Working Example When You Submit an Issue.

@miherlosev I am trying to run the tests in debug mode as mentioned on the same website and get the logs. As of now, it's not failing. Will keep this thread updated.

A small update:
After adding DEBUG=hammerhead:*,testcafe:* to our scripts we are not seeing this same error so far. We are still monitoring those jobs. Not sure how that could fix the issue apart from capturing the logs.

Hi @naresh-hopin
Collecting logs sometimes can help find the cause of the issue. In your case, unfortunately, it didn't.
I will close the issue because we still don't have a simple example that we can run locally. Feel free to reopen this issue if you can share such an example.


Expose a user facing PostCommitHook API

#696 tried to expose the existing org.apache.spark.sql.delta.hooks.PostCommitHook to the user. However, currently it is not designed for external use. For example, it exposes multiple private classes such as OptimisticTransactionImpl and Action which may be changed in any future versions.
We need to design a new user facing PostCommitHook API instead.

Hi @zsxwing, I just wanted to check if there are any plans of exposing the PostCommitHook externally. Similar to what was mentioned in #696, I am trying to find ways to implement custom logic based on the committed transaction.

@scottsand-db, I see on #696 that you wanted to close that PR. Was there any further consideration for exposing the PostCommitHook? Is there any official way to run an action after each commit?

@zsxwing @the-other-tim-brown Was wondering if there was any updates for this around a user facing post commit hook api?


How to define Appium capabillities with apppackage and appactivity.

OpenTest version number: X.X.X

Steps to reproduce:

(describe step 1 here)
(describe step 2 here)

Relevant log information:
(paste log contents here)

You can just put the required desired capabilities in the appium section of your actor.yaml file, something like this:
appium:
    appiumServerUrl: http://<IP_ADDRESS>:4723/wd/hub
    desiredCapabilities:
        deviceName: Nexus_9_API_28
        platformName: Android
        appPackage: my.app.helloworld
        appActivity: my.app.helloworld.activity.SplashScreen


Create /status endpoint

Create a /status endpoint which returns application metadata, including version.

sounds vaguely familiar.....
On Fri, Oct 21, 2022 at 12:08 PM Dixon Whitmire @.***>
wrote:

Create a /status endpoint which returns application metadata, including
version.
—
Reply to this email directly, view it on GitHub
https://github.com/LinuxForHealth/x12/issues/137, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAN2DNAGWMH6A4MVDE5U2J3WEK5XNANCNFSM6AAAAAARLJ4YF4
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


WebAssembly multithreading tracking issue

UPDATE: This is on hold while TaskPool and Scope are reworked
Motivation
Currently, Bevy can only run single threaded on WebAssembly. Bevy's architecture was carefully designed to enable maximal parallelism so that it can utilize all cores available on a system. As of about six months ago the stable versions of all browsers have released the web platform features needed to accomplish this (SharedArrayBuffer and related CORS security functionality). I think now is a good time to attempt to make Bevy run natively in the browser like it does on the desktop: fully multithreaded.
There are three distinct tasks that will enable the accomplishment of this goal:

Create a modified versions of task_pool::{Scope, TaskPool, TaskPoolBuilder} that run on wasm called wasm_task_pool::{Scope, TaskPool, TaskPoolBuilder}, and use those instead of the single_threaded_task_pool::{Scope, TaskPool, TaskPoolBuilder} (TODO: create issue and link here)
Modify bevy_audio so that it runs mutlithreaded in the background (not on the main thread) on wasm (TODO: create issue and link here)
a. Contribute the functionality needed to to do background multithreaded audio using WebAssembly via the web platform's AudioWorklet API to the upstream dependencies of bevy_audio  (TODO: create issue and link here):
i. cpal (TODO: create issue and link here)
ii. rodio (TODO: create issue and link here)
iii. NOTE: as outlined below in the "Insights provided by developers who have tried to make things that run multithreaded on wasm" section, it may be necessary to PR wasm-bindgen to solve this issue https://github.com/rustwasm/wasm-bindgen/issues/2367
b. Make necessary changes to bevy_audio to make use of this added upstream functionality  (TODO: create issue and link here)
Modify bevy_ecs, bevy_render, and the rest of bevy to run multithreaded on wasm (TODO: create issue and link here)
a. Insights from @alice-i-cecile below. "For the ECS, there are two relevant bits:"
i. Our multi-threaded executor
ii. Parallel iteration over queries

NOTE: as outlined below in the "Insights provided by developers who have tried to make things that run multithreaded on wasm" section, if we need to do something where we cannot use wasm-bindgen we will need to manually set the stack pointer in our code because this is one of the things wasm-bindgen does. @kettle11 has put this functionality into a tiny crate:
https://github.com/kettle11/wasm_set_stack_pointer
Background on SharedArrayBuffer
There is a good reason Bevy, and many of the existing projects that run on wasm only run single-threaded. Shortly after the time of the initial introduction of the SharedArrayBuffer web API - which would allow true unix-like pthread-style mutlithreading using wasm in the browser - the Spectre exploit was discovered.
Due to SharedArrayBuffer being a wrapper around shared memory, it was a particularly large vector for Spectre-style exploitation. In order to maintain their strong sandboxing security model, browsers decided to disable the feature while a proper solution was developed. Unfortunately, this eliminated the necessary functionality to allow true multithreading on wasm. What existed in the interim was a much slower emulation of threads using WebWorker message passing.
Thankfully, as of about six months ago all browsers have re-enabled a redesigned and secure version of SharedArrayBuffer.
According to this article on the chrome development blog "Using WebAssembly threads from C, C++ and Rust" https://web.dev/webassembly-threads/, true pthread-style multithreading is now possible on wasm in all browsers, with the small corollary that users may need to write a small specialized javascript stub to get it working exactly in the manner they need. Given that it has been stable for this long, and that some chrome developers have even published a github repository with an implementation for this for rayon using wasm-bindgen, I think now is a good time to investigate how to make Bevy run natively in the browser like it does on the desktop, and try implementing this to see if it will actually work.
Insights provided by developers who have tried to make things that run multithreaded on wasm
@kettle11 provided some good insights into quirks and solutions to multithreaded wasm on discord here on 19 November 2021:
"""
In the past I got AudioWorklet based audio working with multithreaded Rust on web. It's certainly possible.
When working with wasm-bindgen it requires some messy code because wasm-bindgen uses the
Javascript API TextDecoder which isn't supported on AudioWorklet threads.
The way I got around that is by not using wasm-bindgen on the AudioWorklet thread,
but that requires a few hacks:
Scanning the Wasm module imports and importing stub functions that do nothing for every Wasm-bindgen import.
This is OK because the audio thread can be made to be pretty simple and avoid doing direct wasm-bindgen calls.
Allocating a stack and thread local storage for the worker. wasm-bindgen's entry-point does this normally, but
wasm-bindgen's entry point also calls the main function which we don't want for the AudioWorklet thread.
So we need to use our own entry point and manually set up the stack / thread local storage.
I opened a wasm-bindgen issue about theTextDecoder thing about a year ago:
https://github.com/rustwasm/wasm-bindgen/issues/2367
Also wasm-bindgen solves the "how do we set the stack pointer?" issue by preprocessing the Wasm binary and
inserting the stack allocation code, but I found a way to do it without that which I put together into a tiny crate:
https://github.com/kettle11/wasm_set_stack_pointer
"""
Resources

Chrome dev blog post about the release - in the stable versions of the major browsers - of the functionality needed to implement multithreaded code on the web platform, and some examples: https://web.dev/webassembly-threads/
Working implementation of multithreaded wasm tasks using rayon, wasm-bindgen, and javascript stubs: https://github.com/GoogleChromeLabs/wasm-bindgen-rayon

Resource: https://github.com/GoogleChromeLabs/wasm-bindgen-rayon

For the ECS, there are two relevant bits:

Our multi-threaded executor.
Parallel iteration over queries.

Another thing to be aware of is that WebAssembly memory objects that are shared cannot be resized. They must declare an "initial" and "maximum" size.
There's good discussion of some of the quirks that introduces in this thread: https://github.com/WebAssembly/design/issues/1397

Another thing to be aware of is that WebAssembly memory objects that are shared cannot be resized. They must declare an "initial" and "maximum" size.
There's good discussion of some of the quirks that introduces in this thread: WebAssembly/design#1397

Thanks for the heads up! Oh boy is that ever a can of worms; I think I’ll defer the wasm memory stuff, keeping this as only a wasm multithreading MVP, and hopefully let someone else come up with a strategy for dealing with that. I will definitely add it to #4279, as this is a pretty big thing to keep in mind and investigate as we work on bevy’s Web UX story.

Since SharedArrayBuffer requires some cors headers, I made a replacement for basic-http-server that allows setting headers. Might find it useful here for testing and running the examples when work on this resumes.
https://crates.io/crates/http-serve-folder
Example with the headers needed for SharedArrayBuffer:
cargo install http-serve-folder
http-serve-folder --header "Cross-Origin-Opener-Policy: same-origin" --header "Cross-Origin-Embedder-Policy: require-corp" wasm/

This is really nice, thanks for sharing it here!

What's the state on this? Has there been progress since it was put on hold half a year ago?

No real progress. No one is too motivated to do anything, since the memory model for shared array buffer is going to make it very hard to work with the ecs.

Reading through the discussion from unity devs, linked above it seems that the issue is mainly a blocker for mobile devices.
Also hopeful is that the issue had some progress only 2 weeks ago, with from my limited understanding seems to be some kind of wasm equivalent of 'free()'. This means it should be possible to resize threads?
From how I am reading it, there really isn't much blocking multithreading wasm for desktop?

I spent the last few hours and wrote some very sloppy code that shows a few key areas Bevy needs to change to get Wasm multithreading support: https://github.com/kettle11/bevy/commit/c8c2eb51a872f18ede40bbef7055d9b45b29acb6
The code spawns web workers instead of threads and appears to almost work. Sometimes it will run for a few moments with multiple threads and successfully not crash! These issues prevent it from fully working:

cpal would also need to be updated because the above commit crashes on some cpal code. I commented out the generated JS that was crashing while testing.

The next issue, which I'm not sure how to resolve, is that Bevy crashes pretty quickly due to async-executor attempting to lock the main thread. That's forbidden in the browser. Something in the design of Bevy or async-executor would need to be changed.

I'm sure there are other issues once those two are resolved. That said, in my opinion there's no hard technical barrier preventing Bevy from being multi-threaded on web.

Snippets of the above code were taken from this blog-post: https://www.tweag.io/blog/2022-11-24-wasm-threads-and-messages/

The second issue that you found could be worked around by running Bevy on a
web worker itself, using OffscreenCanvas for the rendering and using
postMessage to forward keyboard and mouse events from the main event loop.

The second issue that you found could be worked around by running Bevy on a web worker itself, using OffscreenCanvas for the rendering and using postMessage to forward keyboard and mouse events from the main event loop.

Would adding that overhead to input be noticeable?

There is a good write up here about the performance of postMessage: https://surma.dev/things/is-postmessage-slow/
It depends on the size of the payload, but it seems anything up to 10kb would take less than a millisecond.

I assume that less than a millisecond is acceptable for latency of input, but yeah its another addition to latency. Latency in input today is horrible!

I tried to put the entire bevy app in a web worker, to try and solve the issue with async-executor. But then I ran into issues due to what I guess are Winit trying to things to document that isnt allowed from within a web-worker.
So maybe trying to put async-executor into a web worker, could be a feasible next solution.
also since there are some server headers required for web worker functionality, as in @kettle11 run script. And i could not get his devserver to work ( some kind of dependecy issue ) I also rolled my own bloated devserv based on rocket, can be found here: https://github.com/TotalKrill/devserv

Rebased kettles work to see if anything had changed with all the changes in bevy main. It doesnt crash, but it doesnt do anything either after initializing all the workers either. Could not see anything in the logs either...
Heres the rebased branch if anyone is curious:
https://github.com/TotalKrill/bevy/tree/wasm_multithread

I agree with https://github.com/bevyengine/bevy/issues/4078#issuecomment-1472634600. I don't know whether resizing shared memory was truly a problem in 2021, but it certainly isn't now. Shared memory has an initial size, a maximum size, and is growable up to the maximum. There are zero functional limitations compared to non-shared memory, and the API is almost identical except that shared memory must have a maximum size set. Any single-threaded Bevy/wasm app that currently exists already has a maximum size. Wasm-bindgen sets one unconditionally, with a default maximum of 1GiB and an absolute max of 4GiB for wasm32 of course. (I detail how to change the maximum below.) The only practical difference is when (not if) you see an error when you try to set the maximum very high in a 32-bit browser. More details below if you want to learn more.
The only thing missing from the story in 2021 would have been browser support. Safari implemented shared memory in late 2021, and as of that moment, all major browsers do (with the HTTP headers of course).
The things to be concerned about remain spinning up workers at all, avoiding locking the main thread, the other things listed in wasm-bindgen's section on the caveats, and any other DOM objects or Web APIs that can't be used from a web worker (like HtmlCanvasElement directly instead of via OffscreenCanvas). Regarding canvases specifically, winit 0.29 beta supports the main thread + web workers scenario (https://github.com/rust-windowing/winit/pull/2778 and https://github.com/rust-windowing/winit/pull/2834) and Bevy will be able to take advantage of that if it can ship an OffscreenCanvas to a renderer web worker.
In summary, Bevy multithreading on wasm is probably much closer than it has seemed.

I have attempted to clear up any lingering confusion in some detail below. Click to expand.

Shared Memory instances can be resized. You can call grow() on them like normal, and your favourite wasm-supporting allocator will do just that. If you initialise a Memory instance as shared with an initial and maximum # of pages, then browsers just mmap a bunch of contiguous address space, and only commit the initial size. This will be the case on any OS/browser combo that is capable of playing a game.

Growing a shared Memory works on all major browsers since Safari caught up and implemented shared memory in 2021. This is despite SharedArrayBuffer.grow not being available in some browsers (Firefox)! I wouldn't be surprised if people used WebAssembly.Memory as a polyfill for SharedArrayBuffer that supports grow().

There is no shrink function on either shared or non-shared Memory instances. There is no need to wait for the ability to shrink the Memory or otherwise free up resources in memory-constrained environments. Nearly every single wasm module that has ever run in a browser, including all Bevy/wasm apps that currently exist, has this problem.

The only difference with shared Memory is the constructor needs a maximum count. The default is 1GiB for wasm-bindgen projects that emit new WebAssembly.Memory(...) in the glue code. Rustc can set one via LLD's wasm-ld linker (the default) and -C link-arg=--max-memory=XXX where XXX is in bytes must be a a multiple of page size. wasm-bindgen has env var  WASM_BINDGEN_THREADS_MAX_MEMORY for the same purpose but won't override rustc.
echo 'fn main() {}' | rustc --target wasm32-unknown-unknown -O - \
    -C link-arg=--max-memory=65536000 \
    -C target-feature=+atomics,+bulk-memory,+mutable-globals # enable threading
wasm-dis ./rust_out.wasm | grep -F '(memory'

Here's an example of creating a shared Memory with a maximum of 4GiB (aka the maximum addressable space on wasm32) and growing it. Copy/paste the script from this gist into your dev tools console. It works great in 64-bit browsers, because the maximum is just the amount of virtual address space to map, and virtual address space is very cheap on 64-bit systems. It does not "use" that much memory until you grow() to full size and touch all the pages. Even on Windows, where committing is more eager, simply creating a Memory will not commit a full 4GiB of pages to that space unless you set initial = 4GiB as well. Firefox on Linux/x86_64 shows 224KiB of memory used by the underlying SharedArrayBuffer after touching those few pages. Chrome manages it in 66KiB. Note that a normal 64-bit Chrome renderer process maps about 1TB (yes, 1TB) of virtual address space, and a normal Chrome instance has a dozen renderer processes. This is very normal on 64-bit systems.

Mapping large chunks of contiguous virtual address space will fail a lot in 32-bit browsers. 4GiB mappings will always fail. It's up to developers to decide whether they need their apps to run in 32-bit browsers. I think it's perfectly legitimate to make a choice to avail yourself of multiple GiB, even the full 4GiB, and ditch 32-bit browsers. Supporting only 64-bit systems is a very normal limitation for games. Mobile game companies are not trampled on by Bevy allowing them to choose shared memory and prohibitively large memory mappings. Currently rustc+wasm_bindgen let you choose whether to use shared memory, and how big to make the maximum size (= the mapping size with shmem). Everything is opt-in.

The problems in https://github.com/WebAssembly/design/issues/1397 do not really apply here. In my view they are specific to 32-bit systems like (usually older builds of) Chrome on Android, and the prospect of allocations failing due to lack of address space to map. To be clear, they are valid concerns, but they are not really relevant unless you are targeting 32-bit browsers, and, contrary to what you might have gleaned from this issue, they are less of a problem if you use shared memory. Let me recontextualise some of the points:

in the wild we have reports that memory allocation success rate can be better when initially allocate K MB, versus if you first allocate less, and later try to grow [...]
since an application will need to account for the largest memory usage it may need (or it will fail at some point of its lifetime), practically initial == maximum memory.

The author, presumably using non-shared memory, wanted to force browsers to map all the address space at once in order to reduce failures in Memory.grow() due to 32-bit virtual address space fragmentation. That fragmentation probably came from the previous, smaller, non-shared ArrayBuffer(s) still being mapped.
But SharedArrayBuffer and shared Memory always map the maximum size upfront, only committing initial. So there are never any previous mappings to fragment the space! You are free to set initial as low as you like, as only the maximum has any impact on whether mapping the address space succeeds. So shared Memory is, if anything, more resizable than non-shared Memory once you've reserved the address space.

one cannot set a gratuitous upper bound, since that can fail the allocation

You can. I did it in the gist above. This is a concern that's specific to 32-bit systems, which is indeed more pronounced when shared memory tries to map the maximum upfront. Not everyone cares about that, as I have said.

if shared memory is used, one does need to know an upper bound for the maximum memory usage.

Not if you set the upper bound gratuitously.

For people who are concerned about resource-constrained environments, whether they are 32- or 64-bit, there are proposals floating about for a memory.discard() to release pages back to the OS until they're next touched. I.e. the opposite of committing them, so this reduces actual memory usage. The SpiderMonkey design would enable discarding a single 64KiB page at a time, for use in an allocator when such a 64KiB page is found to be completely free. (Behind a flag in FF Nightly: https://github.com/WebAssembly/memory-control/issues/6). Those pages can be reused later without any API calls, as long as the allocator doesn't think they're gone forever. Would require updating rust-dlmalloc, but that would result in solving a big issue with every rust wasm project out there.

In all, shared memory is fine. I don't see any cans of worms. There is no need to do anything special in Bevy to handle resource limits, especially not within the ECS. Any wasm project should choose an appropriate amount of virtual address space to map, let the global allocator panic on OOM, and call it a day. I barely even think it's Bevy's job to tell people not to attempt to map 1GiB+ of memory if they want their apps to run on 32-bit systems, but you can list a caveat for that with some notes about which browsers that's likely to be. Frankly shared memory is a better choice because it lets you fail faster while choosing a maximum size.

Wgpu/bevy's renderer isn't threadsafe on wasm (wgpu just used to lie about it before wgpu 0.17 because wasm threading wasn't really a thing and it's threadsafe on native, just not on wasm).
If you want to test if your multithreading actually works with the renderer on wasm you need to remove the "fragile-send-sync-non-atomic-wasm" feature here  https://github.com/bevyengine/bevy/blob/de8a6007b7df5bd961511cd321344157fb4b531f/crates/bevy_render/Cargo.toml#L63 fix all the errors (without breaking threading on native backends), then see if it works.

With https://github.com/bevyengine/bevy/pull/12205 a first step towards getting Bevy multithreaded on web has been merged. Now it is possible to build a Bevy project with multithreading enabled, even if Bevy internals are not yet multithreaded.
A short guide for how to try it out yourself:

Install and use a nightly version of Rust
Use the following script to build your project:

set -e
RUSTFLAGS='-C target-feature=+atomics,+bulk-memory' \
     cargo build --example breakout --target wasm32-unknown-unknown -Z build-std=std,panic_abort --release
 wasm-bindgen --out-name wasm_example \
   --out-dir examples/wasm/target \
   --target web target/wasm32-unknown-unknown/release/examples/breakout.wasm

RUSTFLAGS explanation
Rust's default Wasm target wasm32-unknown-unknown does not support multithreaded primitives out of the box. To enable them the standard library needs to be rebuilt with the atomics` flag enabled. Only nightly Rust supports building the standard library.

Use a server to host your project with the correct header flags set.
Note: Using devserver specifically not required. Any server that can set these CORS headers can be used.

 devserver --header Cross-Origin-Opener-Policy='same-origin' --header Cross-Origin-Embedder-Policy='require-corp' --path examples/wasm

CORS Explanation:
When Rust is compiled for Wasm with atomics enabled it uses a Javascript type SharedArrayBuffer as its backing memory. To mitigate security vulnerabilities browsers only allow using SharedArrayBuffer when certain HTTP headers are set server-side. Those headers are known as "Cross-origin Resource Sharing" or CORS. Most HTTP libraries (like devserver used above) have ways to set CORS flags. Learn more here: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer#security_requirements

Now to run some work on another thread you can use a crate like wasm_thread.
use wasm_thread as thread;

thread::spawn(|| {
    for i in 1..3 {
        log::info!("hi number {} from the spawned thread {:?}!", i, thread::current().id());
        thread::sleep(Duration::from_millis(1));
    }
});

Important: The browser forbids blocking on the main thread, so take care to never call any code on the main thread that will block / wait on another thread. If you absolutely need a workaround you can busy-loop instead, as Rust's memory allocator itself does.
You can also use crates like rayon to automatically parallelize iterators. For that look to the wasm-bindgen-rayon crate and then use rayon like normal.

Note that the blocker on getting async_executor to properly initialize on multithreaded wasm should be resolved with https://github.com/smol-rs/async-executor/pull/108.

Any progress on that?

@alice-i-cecile @superdump what are the latest plans for Bevy's task pool? There was discussion of migrating back to Rayon at some point, is this still on the table?

I'm not opposed to that idea, and it's worth exploring. It won't be a personal priority for me right now though.


fix: Solve task python dependency with stmdency

Brief Summary of The Change

Pull Request checklist
I confirm that the following checklist has been completed.

[x] Add/Change test cases for the changes.
[x] Add/Change the related documentation, should also change docs/source/config.rst when you change file default_config.yaml.
[x] (Optional) Add your change to UPDATING.md when it is an incompatible change.

Codecov Report

Merging #72 (ce3f58f) into main (fa57d68) will increase coverage by 0.01%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main      #72      +/-   ##
==========================================
+ Coverage   90.92%   90.93%   +0.01%
==========================================
  Files          61       61
  Lines        2215     2218       +3
==========================================
+ Hits         2014     2017       +3
  Misses        201      201

Flag
Coverage Δ

unittests
90.93% <100.00%> (+0.01%)
:arrow_up:

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

Impacted Files
Coverage Δ

src/pydolphinscheduler/tasks/python.py
100.00% <100.00%> (ø)

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Apply validation throughout the form

*Issue:*https://github.com/bcgov/entity/issues/
Description of changes:
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of the namex license (Apache 2.0).

/gcbrun

Temporary Url for review: https://bcregistry-btr-dev--pr-106-20tdlj28.web.app

Temporary Url for review: https://bcregistry-btr-dev--pr-106-20tdlj28.web.app

Temporary Url for review: https://bcregistry-btr-dev--pr-106-20tdlj28.web.app

/gcbrun

Temporary Url for review: https://bcregistry-btr-dev--pr-106-20tdlj28.web.app

/gcbrun

Temporary Url for review: https://bcregistry-btr-dev--pr-106-20tdlj28.web.app


WIP: update Wisconsin vaccines

This fixes the scraper, returning it to its previous functional state.
Issues:

The total_vaccine_completed (Completed Series (#)) values returned in the data do not match those surfaced on the dashboard. They appear to always under-represented (screenshots below), which leads me to believe that Johnson and Johnson series might not be included in the raw data. J&J doses are reportedly included in the vaccine completed numbers on the dashboard (see definition in the screenshot). I cannot find any manufacturer-specific data, so I'm unsure how to verify/investigate further. With this in mind, I'm not sure how to proceed.

Currently (and previously), the demographic scrapers only collect(ed) state-level data, however, there appears to be county-level data available. This would require some filtering/new requests/digging to access. Is it a priority to collect county-level demographic data (meaning: should I make an effort to do so)? I'm more than willing to, but I want to make the best use of time.

To be added:

County-level demographic data

example of mis-matching total_vaccine_completed values:

definition of series complete data:

@smcclure17  is this sill considered a draft?
Thanks!

It's a draft in that it still has the mismatching dose data and only collects state-level demographics. But, if we want to merge in the meantime while those are worked on, then this is good to go.

Let's wait until we finish all the outstanding items. Thanks!

added demographics by county. This is very slow (2-3 min per scraper) because 2 calls have to be made per county (one for initiated values and one for completed). If wanted, I could look to restructure the fetch to try and collect all the demographics at once/combine the scrapers into one.


Lack of proper error handling on terminated pipes

Suppose we have a service like:
[Source] --> [Service] --> [Target]

Where the source sends the initial request which triggers the service to send a request to the target, and we are streaming a response from the target through to a source (like in a proxy).  If the source closes the connection early, this will terminate the pipe which will also close the target connection.  If the target connection is being used by multiple source connections (such as with load-balancing, connection pooling, etc) this will also end up failing any pending or sent requests that were sent after the request with the terminated response.  Lastly, this will cause an uncaught exception to be thrown and logged (which is what actually closes the connection).
There's two related issues here:

The user has no way of knowing this happens, aside from the fact that the connection is unexpectedly closed.
There should be a way that such a closure of a source connection doesn't end up killing the target connection

What we need is a way for the source to indicate to the pipe that it is "detached", that the pipe should continue to accept incoming data, but basically just drop the data as it comes in.  This way, if we're multiplexing requests across a single connection, the connection can continue to read in the data for the detached pipe and correctly get the signal from the pipe when it has received all the data it expected, allowing the connection to begin decoding the next incoming response.
This has to be configurable because in some cases, particularly if the pipe is actually infinite, we definitely want the termination to escalate, otherwise the connection will keep reading and dropping data forever (or at least for a really long time).
We could also add an onTermination handler to pipes and allow the user to check the given exception and determine if the pipe should detach, close or escalate (defaulting to escalate)

Pipes no longer exist in 0.9, closing this


fix: RAVEN dependency

switched RAVEN to devel to prevent a bug in exportForGit from the latest release.

@hongzhonglu @feiranl until further notice please switch your RAVEN branch to development, to prevent a bug in release 2.0.3 that assigns the RAVEN version to the COBRA version


Added files for Code Formatting

The code formatting tool is trunk for local environment.
Underneath the hood it uses<EMAIL_ADDRESS>for code formatting.

Here's the screenshot of the addon working as autofix in action

Looks good.


feat: clean up navigation (resolves #103)

This PR cleans up and simplifies the nav menu structure, using nested <ul> elements and the Disclosure Navigation pattern for submenus.
 Is this x-data used? It seems that each dropdown handles their own open state. Also the <nav> region should have an aria-label in case there are multiple <nav> regions the page.

In navigation.blade.php, line 2 is <nav x-data="{ open: false }">. Is this x-data used? It seems that each dropdown handles their own open state. Also the <nav> region should have an aria-label in case there are multiple <nav> regions the page.

The x-data on the nav element is meant to handle the mobile menu toggle— somehow the button was removed but I have restored it in 68ff579. I also added an aria-label. Not sure if this resolves https://github.com/fluid-project/hearth/pull/113#pullrequestreview-920174085 as well— let's discuss, @jobara?

@jobara This is ready for final review.


Add "was this helpful" section to docs

Summary

[ ] Add "was this helpful" section to docs

Source in Figma: https://www.figma.com/file/dPNSc2GnxMbP2zmGbB4iKI/Flowbite?node-id=1%3A231693&t=UO2nxuSeEw5W1x2i-1

Where are the data supposed to go? Clicks and text?

Now Vercel provides Redis/Postgres.


[9.x] Make HasTimestamps::updateTimestamps chainable

This PR makes the method HasTimestamps::updateTimestamps chainable, so we can do:
$model->updateTimestamps()->save();

Don't mind merging this, but for your example you can just do $model->touch()


Update backup-azure-file-folder-backup-faq.yml

@mepand : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@mepand : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#sign-off

#sign-off

Invalid command: '#sign-off'. Only the assigned author of one or more file in this PR can sign off. @v-amallick


Add dovi_parse_itu_t35_dovi_metadata_obu to C-API

I use it in HandBrake to parse the data from AV1.

Thanks. Do you need me to tag a new version?

There is no need, thanks for merging it.


Auto hide scroll bar when not triggered or hovered, and a much thinner scrollbar

Hello, I really liked what you did with the new update of Atom Material UI, but I very much prefer having a thinner scrollbar and auto hiding it.
Is there some other way where I can do it through my own styles.less?
Many thanks.

You could try something like this in your user styles…
.scrollbars-visible-always {
    /deep/::-webkit-scrollbar {
        width: 0.25rem;
        height: 0.25rem;
    }
}

But it won't auto-hide? I came upon that too and that solved my problem about the width, but regarding the auto-hide feature?
I thought it was .scrollbars-show-when-scrolled but it was not working.

Scrollbar visibility is controlled by the OS. In OS X scrollbars are disabled by default, the class scrollbars-visible-always is added when you set the OS to always show them. Windows always shows them… I'm not sure about Linux as there are quite a few window managers/desktop environments.
With that said, you could try something like this:
.scrollbars-visible-always {
    .tree-view-scroller {
        &::-webkit-scrollbar {
            display: none;
            width: 0.25rem;
            height: 0.25rem;
        }
        &:hover::-webkit-scrollbar {
            display: block;
        }
    }
}

As you can see, you would have to do this on a component by component basis, targeting specifically elements with overflow: scroll;.

@HoverBaum the editor doesn't use OS scrollbars. Having said that, the snippet you're after would look like this:
atom-text-editor::shadow {
    .horizontal-scrollbar, .vertical-scrollbar {
        display: none;
    }
    .scroll-view:hover {
        .horizontal-scrollbar, .vertical-scrollbar {
            display: block;
        }
    }
    .scroll-view:hover:hover + .vertical-scrollbar {
        display: block;
    }
}

Thanks for that @silvestreh -- that works nicely. Only quirk is it's not setting opacity: 1; when the scrollbar its self is being hovered. I tried adding horizontal-scrollbar:hover { opacity: 1 } but didn't have luck with that either.
Any ideas what I'd need to add to fix that inconsistency?


no longer working

nvm

i like to have this issue pinned on my bookmarks i wish i could frame it on the wall tbh


JsonFormatter fails sometimes

Monolog version 1.24
Log fails to write if json_encode fails.  This took a while to figure out.  Log file will look like
{"message":"There was an err.....
{"message":"There was an err.....
null
{"message":"There was an err.....

I went on the console and manually echo $e->getMessage();
There is a SQLSTATE ERROR having to do with bad characters
if I manually echo json_encode($e->getMessage());
it outputs nothing.
This is using use Monolog\Formatter\JsonFormatter
I think it should be updated to store a log with a blank message, at least.  The rest of the log could have been intact.  This could be a check like if(json_encode($e->getMessage()) === null) $message_body = "error encoding error message";  or something to this effect....
I did find that someone reported this in #616 and it was closed for being corrected, but I am getting this problem still.
The reason it is a problem is that when it just outputs null you dont know when it happened, what file, etc...

Monolog 2 has much better handling for this, I'd recommend upgrading if you can.


Bump next_error_code to fix test that failing

Notes for Reviewers
This PR fixes MeshKit Error Codes Utility Runner  test is failing
Signed commits

[ x] Yes, I signed my commits.

Thanks!


Traefik tracing reports unprecise tags

What did you do?
With Jaeger tracing enabled, the backend url collected in "tags" is not correct.
Given a frontend/backend rule as such:
Host:apistuff.com;PathPrefixStrip: /client/2
I'm getting the following:
Entrypoint span tag: http.url "/client/2/channel/flat"
"forward" span tag: http.url "http://<IP_ADDRESS>:8000"
What did you expect to see?
Entrypoint span tag: http.url "/client/2/channel/flat"
"forward" span tag: http.url "http://<IP_ADDRESS>:8000/channel/flat" (this is the actual url sent from Traefik to the backend node)
What did you see instead?
See above
Output of traefik version: (What version of Traefik are you using?)
1.6.0

What is your environment & configuration (arguments, toml, provider, platform, ...)?
all Jaegertracing components: 1.4.1

Closed by #3279.


Many column aggregations

Aggregating JSON objects seems like a natural way to aggregate events with many columns, especially when each event is sparse. Mapping an aggregate function onto the object's values could make this fairly general:
... json_object_map_agg(sum, payload::jsonb)

Or just implement specific version for each relevant aggregate function:
... json_object_sum(payload::jsonb)

For objects with fixed-length values we can use an optimized storage format that stores each null-terminated key along with an offset to where its associated value is in a bytea.


A potential bug in retrieval metric computing

https://github.com/ArrowLuo/CLIP4Clip/blob/master/metrics.py#L14

为了方便解释清楚我就使用中文啦～检索指标的计算逻辑是寻找每行中与对角线元素相等的元素的索引，即代码中的ind，但是当一行中存在与对角线相同值的相似度时（概率很小，但测试数据变多后会稳定出现），将会出现ind数量异常（变多），从而导致指标异常

The calculation logic of the retrieval index is to find the index of the element in each row that is equal to the diagonal element, but when there is a element of the same value as the diagonal in a row , there will be an abnormal number of inds, resulting in abnormal indicators

Hi @FangmingZhou, yes, maybe you are right. Someone sent me an email about it ago and I noticed it is a potential bug. However, it is an interesting problem when computing the retrieval metric.  I tried to give the below samples,

x = np.array([[1, 2, 3], [4, 5, 6]])
the metrics is {'R1': 0.0, 'R5': 100.0, 'R10': 100.0, 'MR': 2.5, 'MedianR': 2.5, 'MeanR': 2.5, 'cols': [2, 1]}

x = np.array([[1, 2, 3], [5, 5, 4]])
the metrics is {'R1': 33.3, 'R5': 100.0, 'R10': 100.0, 'MR': 2.0, 'MedianR': 2.0, 'MeanR': 2.0, 'cols': [2, 0, 1]}

x = np.array([[1, 2, 3], [5, 5, 5]])
the metrics is {'R1': 25.0, 'R5': 100.0, 'R10': 100.0, 'MR': 2.5, 'MedianR': 2.5, 'MeanR': 2.25, 'cols': [2, 0, 1, 2]}

x = np.array([[1, 1, 1], [5, 5, 5]])
the metrics is {'R1': 33.3, 'R5': 100.0, 'R10': 100.0, 'MR': 2.0, 'MedianR': 2.0, 'MeanR': 2.0, 'cols': [0, 1, 2, 0, 1, 2]}

What are the values if the human does such an evaluation? Should case 2 and case 3  have the same metric? Even, will case 4 be 100% for the R1? When there are duplicate similarities, things become complex.
So, I think the metrics.py#L14 is a composite way. If you want to compare the results, keeping the same calculation is fine, I think.
Best~

Hi
从你这个例子的这个视角看这个问题确实很有意思～
我也从我的一个角度看一下这个问题（正是我遇到的问题），举个例子🌰：
一个10 query到10 doc的检索任务，通过一次初步的检索过程我获得了每行检索的top2个结果的index，因此再下一次的检索中我只想要计算这两个index位置的相似度（我无法保证groud truth包含在这top2个结果中），其余的值我赋一个特别小的负值：-100。
结果如下：
[[    2,       1,-100,-100,-100,-100,-100,-100,-100,-100,],
[-100,      2,      1,-100,-100,-100,-100,-100,-100,-100,],
[-100,-100,      2,      1-100,-100,-100,-100,-100,-100,],
[-100,-100,-100,      2,      1,-100,-100,-100,-100,-100,],
[-100,-100,-100,-100,      2,      1,-100,-100,-100,-100,],
[-100,-100,-100,-100,-100,      2,      1,-100,-100,-100,],
[-100,-100,-100,-100,-100,-100,      2,      1,-100,-100,],
[-100,-100,-100,-100,-100,-100,-100,      2,      1,-100,],
[-100,-100,-100,-100,-100,-100,-100,-100,      2,      1,],
[      2,      1,-100,-100,-100,-100,-100,-100,-100,-100,],]
前9个检索中，GT都包含在了初步检索结果top2中，但最后一个检索不是。
预期的结果是: R@1: 90.0000 - R@5: 100.0000，
但是现在实现结果是: R@1: 52.9412 - R@5: 70.5882
所以我还是坚持我的观点：以每条query的GT rank作为recall值的计算出发点更加准确，也更加符合recall这个指标的定义

It's really interesting to look at this problem from the perspective of your example.
I'm also looking at this problem from my perspective (exactly the problem I'm having), with an example :
For a retrieval task of 10 query to 10 doc, through a preliminary retrieval process, I obtained the index of the top2 results retrieved in each row, so in the next retrieval I only want to calculate the similarity of these two index positions ( I can't guarantee that the ground truth is included in the top2 results), and the rest of the values I assign a particularly small negative value: -100.
The result is as follows:
[[ 2, 1,-100,-100,-100,-100,-100,-100,-100,-100,],
[-100, 2, 1,-100,-100,-100,-100,-100,-100,-100,],
[-100,-100, 2, 1-100,-100,-100,-100,-100,-100,],
[-100,-100,-100, 2, 1,-100,-100,-100,-100,-100,],
[-100,-100,-100,-100, 2, 1,-100,-100,-100,-100,],
[-100,-100,-100,-100,-100, 2, 1,-100,-100,-100,],
[-100,-100,-100,-100,-100,-100, 2, 1,-100,-100,],
[-100,-100,-100,-100,-100,-100,-100, 2, 1,-100,],
[-100,-100,-100,-100,-100,-100,-100,-100, 2, 1,],
[ 2, 1,-100,-100,-100,-100,-100,-100,-100,-100,],]
In the first 9 retrievals, GT was included in the preliminary retrieval results top2, but not in the last retrieval.
The expected result is: R@1: 90.0 - R@5: 100.0,
But now the result is: R@1: 52.9 - R@5: 70.6
So I still stick to my point of view: it is more accurate to use the Ground Truth rank of each query as the basis for the calculation of the recall metric, and it is more in line with the definition of recall.

Hi @FangmingZhou, forgot to reply :), I can not understand why the predicted R@5 should be 100%. But, the below function I wrote previously can obtain R@1 90%, which may be what you need. Best~
def compute_metrics(x):
    sx = np.argsort(-x, axis=1)
    d = np.array(range(0, x.shape[0]))
    ind = sx - d[:, np.newaxis]
    ind = np.where(ind == 0)[1]
    metrics = {}
    metrics['R1'] = float(np.sum(ind == 0)) * 100 / len(ind)
    metrics['R5'] = float(np.sum(ind < 5)) * 100 / len(ind)
    metrics['R10'] = float(np.sum(ind < 10)) * 100 / len(ind)
    metrics['MR'] = np.median(ind) + 1
    metrics["MedianR"] = metrics['MR']
    metrics["MeanR"] = np.mean(ind) + 1
    metrics["cols"] = [int(i) for i in list(ind)]
    return metrics


[SPARK-33924][SQL][TESTS] Preserve partition metadata by INSERT INTO in v2 table catalog

What changes were proposed in this pull request?
For InMemoryPartitionTable used in tests, set empty partition metadata only when a partition doesn't exists.
Why are the changes needed?
This bug fix is needed to use INSERT INTO .. PARTITION in other tests.
Does this PR introduce any user-facing change?
No. It affects only the v2 table catalog used in tests.
How was this patch tested?
Added new UT to DataSourceV2SQLSuite, and run the affected test suite by:
$ build/sbt -Phive -Phive-thriftserver "test:testOnly org.apache.spark.sql.connector.DataSourceV2SQLSuite"

Test build #133454 has started for PR 30952 at commit 7c1861f.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/38043/

Test build #133454 has finished for PR 30952 at commit 7c1861f.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/133454/

@cloud-fan @HyukjinKwon Please, review this fix.

thanks, merging to master!


Module::where

$blogModule = Module::where('slug', 'blog');
dd($blogModule);

error:
FatalErrorException in Facade.php line 213:
Call to undefined method Caffeinated\Modules\Modules::where()

As a test, these work:
$moduleName = Module::getProperty('core::description', 'Blog');
dd($moduleName);

$slugs					= Module::slugs();
dd($slugs);

dd($moduleName) echos:
"Functionality: Locales, Settings, Statuses"

As always, I've probably made a mistake or something :wink:
But I really do appreciate all your help and code!

Nope, legit bug! Thanks for reporting, v2.1.7 contains the fix for this~


Fixes #367/Sort property names in feature inspector based on conversations in that issue.

@erictheise Talking to @ARolek it seems this is a deeper bug then first thought. It seems that the order of the layers listed should be based on the order they are listed in the config file. So, really what should be happening is that we load the layer names from the config file into an array, to preserve the order, and change out the use of the maps.
@ARolek I'm of the opinion that we should open up another ticket for that config preserving order, and have this one just make the order static. This is will help people out till the proper fix is in place. I could be convinced otherwise.

This fix LGTM. What @gdey and I were talking about earlier was the order of the map layers, not the attributes in the feature inspector.


Render combined navigation for merged documentation archives

Bug/issue #, if applicable: 124537023
Summary
Now that Swift-DocC can merge multiple documentation archives together into a single archive, it will provide navigator data that includes a combined index for all the pages in the archive. This change updates Swift-DocC-Render to render this combined data for all the pages in the navigator.
Example:

Dependencies
https://github.com/apple/swift-docc/pull/821
Testing
You can use this fixture which combines docs for Inner and Outer modules into a combined My Project archive:
MyCombinedDocs.doccarchive.zip
Steps:

Download/unzip the example MyCombinedDocs.doccarchive.zip fixture and checkout this branch of Swift-DocC-Render
Run VUE_APP_DEV_SERVER_PROXY=/path/to/MyCombinedDocs.doccarchive npm run serve and open http://localhost:8080/documentation
Verify that the top-level page for "My Project" loads at that URL and that the navigator has functional links to both the Inner and Outer docs
Verify that navigation works normally and there are no regressions with routing behavior

Known DocC issue: the breadcrumb link to "My Project" from the getting started article doesn't work due to a bug with the compiler data pointing to the wrong URL (should be /documentation and not /documentation/my-project)
Checklist
Make sure you check off the following items. If they cannot be completed, provide a reason.

[X] Added tests
[X] Ran npm test, and it succeeded
[X] Updated documentation if necessary

Marking this as a draft PR for the moment after talking with @d-ronnqvist offline. I'll need to make some additional changes to support the situation where multiple modules have been bundled together under a parent module.

I've updated the PR description with more up-to-date info and testing instructions. This should be ready now and ended up being simpler than I originally anticipated once I got access to some better fixture data :)


getTerminalSize should flush stdout before returning

I noticed a really weird problem in my own code where the optparse-applicative help output would start at the end of a line, rather than at the start. After a long debugging session I determined that it only happened if I called getTerminalSize before optparse-applicative errored out.
Further debugging shows getTerminalSize writing some escape codes to stdout in the process of determining the cursor position. After a wild guess that getTerminalSize was leaving the stderr cursor in a weird position I added a hFlush stdout after each getTerminalSize and voila, the problem promptly disappeared. It would probably be cleaner to include this hFlush inside getTerminalSize so that the cursor is indeed properly forced back to the right position before it returns.

Thank you, I will look into that. For completeness, may I ask what OS and terminal application you experienced this on? Also, you refer to the stderr cursor. Can I check you did mean stderr?

Scratch those questions, I now understand why you refer to stderr. I agree with you about the problem and the fix. I’ll make that change to the code.


Kadane's algorithm in Java

can you please assigned this issue to me?

can you please assign it to me?

please assign this to me @DHEERAJHARODE

I wish to contribute. Kindly assign this to me.

I want to contribute. Please Assign it to me.

can you please assign this to me?

`// Java program to print largest contiguous array sum
import java.io.;
import java.util.;
class Kadane {
// Driver Code
public static void main(String[] args)
{
int[] a = { -2, -3, 4, -1, -2, 1, 5, -3 };
System.out.println("Maximum contiguous sum is "
+ maxSubArraySum(a));
}
// Function Call
static int maxSubArraySum(int a[])
{
	int size = a.length;
	int max_so_far = Integer.MIN_VALUE, max_ending_here
										= 0;

	for (int i = 0; i < size; i++) {
		max_ending_here = max_ending_here + a[i];
		if (max_so_far < max_ending_here)
			max_so_far = max_ending_here;
		if (max_ending_here < 0)
			max_ending_here = 0;
	}
	return max_so_far;
}

}
`


libjniortools.jnilib references /Users/dlahlou/Work/or-tools/lib/libortools.dylib

Tried using the Java August binary build on Mac OS X, and got
probable missing dependency: .../libjniortools.jnilib: dlopen(...../libjniortools.jnilib, 1):
Library not loaded: /Users/dlahlou/Work/or-tools/lib/libortools.dylib
  Referenced from: ..../libjniortools.jnilib

Looks like it's got an absolute path to the developer "dlahlou"'s machine?

Hello @andygeers,
Thank you for the report.
Can you please run ./install_libortools_mac.sh? It should fix the dependencies path problem.
I believe this will not be necessary in the future releases. We will do it on behalf of the user.
Regards,
Driss.

Ah, that solved it. Apologies if that was documented somewhere - I couldn't see it?
e.g. would have expected it to be mentioned here: https://developers.google.com/optimization/installing#binary_java

It's actually, in the README file. We are actively updating the documentation to meet our new release process.
Thank you.


Disable SHA-1 in TLS by default

SHA-1 deprecation: remove it from the default allowed hash
algorithms for certificate verification and TLS 1.2 handshake
signatures. It can be turned back on at compile time with
MBEDTLS_TLS_DEFAULT_ALLOW_SHA1 or explicitly with ssl_conf functions.
Removed RIPEMD-160 from the default hash algorithms for
certificate verification.

I compiled the library with MBEDTLS_TLS_DEFAULT_ALLOW_SHA1 and the following test from ./test_suite_x509parse fails:
X509 Certificate verification #14 (Valid Cert SHA1 Digest forbidde  FAILED
  res == ( result )
  at line 267, suites/test_suite_x509parse.function

I compiled the library with a different config.h and the following test from ./test_suite_x509parse fails:
X509 CRL Malformed Input (trailing spaces at end of file) ......... FAILED
  mbedtls_x509_crl_parse_file( &crl, crl_file ) == result
  at line 177, suites/test_suite_x509parse.function

Use this to get the config I used:
diff --git a/include/mbedtls/config.h b/include/mbedtls/config.h
index ad72cb1..d0dc445 100644
--- a/include/mbedtls/config.h
+++ b/include/mbedtls/config.h
@@ -1043,7 +1043,7 @@
  *
  * Comment this macro to disable 1/n-1 record splitting.
  */
-#define MBEDTLS_SSL_CBC_RECORD_SPLITTING
+//#define MBEDTLS_SSL_CBC_RECORD_SPLITTING

 /**
  * \def MBEDTLS_SSL_RENEGOTIATION
@@ -1111,7 +1111,7 @@
  *
  * Comment this macro to disable support for TLS 1.0
  */
-#define MBEDTLS_SSL_PROTO_TLS1
+//#define MBEDTLS_SSL_PROTO_TLS1

 /**
  * \def MBEDTLS_SSL_PROTO_TLS1_1
@@ -1123,7 +1123,7 @@
  *
  * Comment this macro to disable support for TLS 1.1 / DTLS 1.0
  */
-#define MBEDTLS_SSL_PROTO_TLS1_1
+//#define MBEDTLS_SSL_PROTO_TLS1_1

 /**
  * \def MBEDTLS_SSL_PROTO_TLS1_2
@@ -2191,7 +2191,7 @@
  * This module is required for SSL/TLS up to version 1.1, for TLS 1.2
  * depending on the handshake parameters, and for SHA1-signed certificates.
  */
-#define MBEDTLS_SHA1_C
+//#define MBEDTLS_SHA1_C

 /**
  * \def MBEDTLS_SHA256_C
@@ -2581,7 +2581,7 @@
  * and mbedtls_ssl_conf_sig_hashes. The use of SHA-1 in TLS <= 1.1 and in
  * HMAC-SHA-1 for XXX_SHA ciphersuites is always allowed by default.
  */
-// #define MBEDTLS_TLS_DEFAULT_ALLOW_SHA1
+#define MBEDTLS_TLS_DEFAULT_ALLOW_SHA1

 /* \} name SECTION: Customisation configuration options */

@andresag01 The failing configuration is a pre-existing issue, reported as issue #911

@gilles-peskine-arm: Thanks for confirming the test failure issue was preexisting

Superseded by #913 which is based on top of another patch.


[BUG] doc site is down

https://wasimaster.me/pypi-command-line/

There's broken links on this repo's main page, https://wasimaster.me/, https://pypi.org/project/pypi-command-line/, and Google search.

Thanks, I'll look into it.

I for the life of me can't seem to figure out what is causing this. I did everything. Now the last thing I'm going to do is stop using GitHub Pages and transfer to readthedocs.

Sorry to hear that! I have some experience with GitHub Pages, if you want to "rubber-duck" what you are seeing/debugging…
Looks like your main domain is hosted at Digital Ocean?
dig +short wasimaster.me
# clownfish-app-8ufys.ondigitalocean.app.
# <IP_ADDRESS>
# <IP_ADDRESS>

Sorry to hear that! I have some experience with GitHub Pages, if you want to "rubber-duck" what you are seeing/debugging…
Looks like your main domain is hosted at Digital Ocean?
dig +short wasimaster.me
# clownfish-app-8ufys.ondigitalocean.app.
# <IP_ADDRESS>
# <IP_ADDRESS>

Yeah the main wasimaster.me is currently hosted at digitalocean. I used to host it with GitHub Pages in the past but a few days ago switched it to digital ocean. I believe I did something wrong while removing it from GitHub Pages and for that reason all subdomains are redirecting even though the main page isn't. But another weird thing is One of my other projects' documentation which is hosted with GitHub Pages the same way as this one works fine.


First pass at aligning with cf create-service-broker

Signed-off-by: Doug Davis<EMAIL_ADDRESS>

LGTM


Bump SDK wheels to 2023.1.0 (=<IP_ADDRESS>)

Bump the SDK wheels to 2023.1.0 (built yesterday) which is based on official <IP_ADDRESS> patch release of the SDK

not ready for primetime yet, there are breaking changes in the cluster models

Included a lean and mean "fix" for the renamed Basic cluster.
I will fix this for real later when I'm working on the data structure where we build a mapping up front that maps cluster ID --> Class instead of the auto inspecting hocus pocus


[bug]  Bottom Overflow

Hello, I tried the package in an app on my physical device (Samsung Galaxy 10e), and got a bottom overflow warning :

Hi YofarDev,
Thank you for reporting that issue. In my opinion, is the problem from the custom IconButton in the BottomAppBar which is extended from TextButton, which seems to add varying padding on different devices. However, I've added fixed padding, which should solve this issue. I tested it on a real Samsung Galaxy S10 (not the S10e), and it appeared fine, but I'm uncertain about the S10e. Please let me know if the issue persists on your S10e.

Yeah it's fixed! Thanks it was quick.


use lodash/includes instead of Array.prototype.includes

in order to be able to use the library in IE11 without needing a polyfill

Coverage remained the same at 100.0% when pulling 1ab8af8ad5d6570f954a226cae83af83f1a950da on nicoder:patch-1 into cba60d5dc3ec2633ab70c9c13d8501325e360aa8 on zeroturnaround:master.

Thanks!


basic redux setup

Story
App has a basic redux store integrated.

@lumannnn please review again. I had to rebase it to branch/master.


feat: managed identity support

Fixes #101

Thank you for your submission. However, could you please revert the changes made to the base image in the Dockerfile?


[Feature Request] Make it possible to disable the popoverTrigger using isDisabled

Is your feature request related to a problem? Please describe.
Im creating a icon and title that displays information about whether a conversation is shared or not. If the person clicking that icon and title is the author it should open the popover, if not, it should be disabled.
This isn't possible with the current version of the popover trigger.
Describe the solution you'd like
As a developer i expect there to be a prop that I can use to disable the poptrigger.
Describe alternatives you've considered
Alternatively if have to implement logic that uses isOpen prop and does a check every time. It would produce more code overhead.
Screenshots or Videos
No response

If you are using a Button component for "icon and title", then you can simply set isDisabled in Button.
<Popover>
  <PopoverTrigger>
    <Button isDisabled startContent={<Icon />}>
      Open Popover
    </Button>
  </PopoverTrigger>
  {content}
</Popover>

or you may share your code for the discussion

closing - inactivity


SDFSOF-64-PR2: RPC Actions: implement logic and validations

PR Checklist
PR Structure

[ ] This PR has reasonably narrow scope (if not, break it down into smaller PRs).
[ ] This PR avoids mixing refactoring changes with feature changes (split into two PRs
otherwise).
[ ] This PR's title starts with name of package that is most changed in the PR, ex.
paymentservice.stellar, or all or doc if the changes are broad or impact many
packages.

Thoroughness

[ ] This PR adds tests for the most critical parts of the new functionality or fixes.

What
RPC actions and unit tests:

do_stellar_payment
notify_refund_initiated
notify_onchain_funds_sent
notify_trust_set
request_trust

Why
RPC actions should replace PATCH /transactions endpoint

Reference Server Preview is available here:https://anchor-ref-pr992.previews.kube001.services.stellar-ops.com/SEP Server Preview is available here:https://anchor-sep-pr992.previews.kube001.services.stellar-ops.com/

Reference Server Preview is available here:https://anchor-ref-pr992.previews.kube001.services.stellar-ops.com/SEP Server Preview is available here:https://anchor-sep-pr992.previews.kube001.services.stellar-ops.com/


Add storageClass e2e test

Adds e2e test for storageClass field. Needs #1358 to be merged first and then I will rebase this PR

closing in favor of #1358


[RemoteMirror] Add support for QueryDataLayoutFunction to the interop header.

Remote Mirror added a new callback, QueryDataLayoutFunction, which provides a nicer and more extensible way to provide things like the target pointer size. Add support for that in the interop header. Search for and call the new creation function when it exists, and shim in support for older libraries that don't have it.
rdar://problem/52849572

@swift-ci please smoke test


Rerurn url after login

If you are locating on page /post/index and will try to call actions accesible only by authorized users for example /post/create - you will see login form.
After successful logging in you will be redirected on /post/index instead of going straight where you have tried to go.
It will be great to have configurable options for it. I see different ways to do it:

Boolean option:

'redirectToHomeAfterLogin' => true - user will be redirected to homepage;
'redirectToHomeAfterLogin' => false - user navigation will be continued;

Use preefined location aliases to redirect user after login:

'redirectLocationAfterLogin' => 'home' - user will be redirected to homepage;
'redirectLocationAfterLogin' => 'back' - user will be redirected to last visited page (current behavior);
'redirectLocationAfterLogin' => 'forward' - user navigation will be continued;

Define exact location to redirect user after login:

'redirectLocationAfterLogin' => '/' - user will be redirected to homepage;
'redirectLocationAfterLogin' => '/welcome' - user will be redirected to /welcome page;

// But in third case I don't know how to solve this issue.
On a future it will be great to have customizable return url for registration action too. Sometimes people need to send users to special ThankYou page. For afterRegistration only 3rd case is applicable.

I would say that this is working as intended. The plan was to let Yii handle login redirects, so if it's not doing it correctly, then we might have an issue. I think the solution you proposed is overcomplicated, however I will think about the giving the option to customize the URLs by configuration.

Thanks in advance! Keep up good work! :}


f7-input causes an error '"style" is a reserved attribute...'

I updated from 0.8.5 to 0.9.0 (framework7 v-1.5.4 -> 1.6.0). Now an error occurs:
"style" is a reserved attribute and cannot be used as component prop.
I use the material theme.
    <f7-list-item>
      <f7-label floating>Your UIN</f7-label>
      <f7-input type="text" placeholder="" v-model="agent_uin" @keyup="agent_search"></f7-input>
      <f7-label>{{((agent_uin + '').length == 12) ? 'Нажмите ввод/enter ' : ''}}</f7-label>
    </f7-list-item>

This Warning is everywhere where I use f7-input ((

I saw this error in F7Switch and F7Input

I have temporarily removed it by removing style: String from props and 'attrs` in the form-input.vue src file. Haven't had chance to fork and make a pull request yet.

I tried.
Problem still exists ((

Problem still exists +1

Problem still exists +1

Problem still exists +1

@PhilippeAssis @auzadventure you can find solution #157 and the commit #156

Problem still exists +1

Problem still exists +1

https://gist.github.com/rvanzon/a83b579d7c077
5150ca51c6a3b0a0389
Try it

https://gist.github.com/rvanzon/a83b579d7c0775150ca51c6a3b0a0389

Go to package.json
update ur framework7-vue dependency
"dependencies": {
"framework7": "^1.5.2",
"framework7-vue": "^0.9.2",
"vue": "^2.1.0"
}
It will work fine.

@varunajmera0 , that works to me. Update the package.json then perform "npm install"

Issue still occurs. I'm on the last versions of Frameowkr7


One Page MultiStep Doesn't Retain Values

Describe the bug and the expected behavior
I'm using Conform and Shadcn Stepper to build a multi-step form, and running into a similar issue with repopulating form fields when navigating back to previous steps,
Conform version
v1.1.4
Steps to Reproduce the Bug or Issue
You can check out the code on CodeSandbox:
https://codesandbox.io/p/devbox/conform-with-shadcn-stepper-fxl9sz
What browsers are you seeing the problem on?
Chrome, Firefox, Microsoft Edge, Safari, Others
Screenshots or Videos
No response
Additional context
No response

Conform does not persist any form value. You can either keep the submitted value in a database, a cookie or even in the document by rendering the inputs on the previous step again but making them visually hidden.


Collapses Docs and Updates Dev Environment for Docker Compose Plugin

Closes: #2821
What's Changed

Updates tasks.py for Docker Compose plugin since system wasn't able to work with a fresh install
Creates an install_system.md file to handle all system installation steps that were in two divergent files previously

Removes centos.md file that is now all in install_system.md
Removes ubuntu.md file that is now all in install_system.md

Adds navigation footer to move along the install steps, may at future time remove in document navigation

The last bullet above is a docs design decision. I think that the Navigation footer will also help the 2.0 migration docs that were seen.
https://github.com/nautobot/nautobot/assets/22228848/d7faec50-b2fc-4bff-95e2-fe565e3437c2
TODO

[x] Explanation of Change(s)
[x] Added change log fragment(s) (for more information see the documentation)
[x] Attached Screenshots, Payload Example
[x] Unit, Integration Tests
[x] Documentation Updates (when adding/changing features)
[x] Example Plugin Updates (when adding/changing features)
[x] Outline Remaining Work, Constraints from Design

Please retarget this PR to develop. We can cherry-pick it into the LTM branch (if appropriate) after it's accepted and merged to develop.

Umm, @bryanculver / @glennmatthews how did I get CI changes into this PR??? I didn't touch those files, but now it has me as modifying those.

The CI changes are coming from the ltm/1.6 branch (and your merge in c2c20dc04d3850da5a948548004ef26f61cbad3e), as those aren't a part of the develop branch.


Update Slider to support Material 3

As part of the Material 3 specification there are updates to slider's  visuals:

We should update the Slider widget to support this Material 3 look and tokens.

Can I take this?

@TahaTesser thanks for volunteering. This one may be a bit more involved as the slider is pretty complicated. If you have any issues let me or @Piinks know and we can try to help.

Update:
Making progress on this, aiming to file PR by next week.

Update:
Need to do some fine tweaks and write tests.

This needs https://github.com/flutter/flutter/pull/112922 to be fixed.

https://github.com/flutter/flutter/issues/113367 fixes overlay issues on desktop for M3 support.

Update:
Writing test (I found out there is no test for all the default color values, there is one that does test colors when using a theme).
Aiming to file a PR by tomorrow.

https://github.com/flutter/flutter/pull/114079 landed today.
Working on part 2, which will close this issue.
Aiming to file a PR by tomorrow.


utils.make_grid should not return tensors of dimension 2 or 3 without normalizing them

When passing in a single image of dimensionality 2 or 3 to utils.make_grid, the function currently returns this image, without normalizing it (but it should, according to the function's documentation).
This is also problematic as utils.save_image calls utils.make_grid to normalize its images.

Hi @mseitzer,
The docs for make grid and save image both specify Normalize=False by default. You can change this by passing Normalize=True to the function.

Hi @alykhantejani,
what I tried to say is that even when passing normalize=True, tensors of dimensionality 2 or 3 are not normalized. This is due to an early return, see https://github.com/pytorch/vision/blob/c9b8914528f70fc8444a913a0934a0e44bff67c1/torchvision/utils.py#L37-L42
I would consider this a bug.

Ah ok, yes this looks like a bug. I'll try and fix this and the other utils one this week. Thanks for reporting!


Are the table heights synchronized? If they are, how to disable syncing?

When I open first tab with table, it works great.

But when I open second tab with second table, which is higher then first table it creates white space. On iOS it works great, problem only appears on Android.

@srdjandjuka Could you provide a reproduction in the form of an Expo snack, or git repository? It is impossible for me to investigate without access to some source code, and context about versions used.

@srdjandjuka But to answer your question, there is no apparent reason why the heights would be synchronized. Actually, if you try the expo playground, you'll notice multiple tables with distinct heights. The answer likely resides in your code, but I cannot assert that as of right now!

export const cssRules =   cssRulesFromSpecs(defaultTableStylesSpecs) +
table, th, td {
border: 1px solid #F1F1F1;
}
th, td {
padding: 5px;
}
table>tbody>tr>td{
font-size: 10px !important;
background: #ffffff !important;
}
table>tbody>tr:nth-child(2n)>td{
background: #00000005 !important;
}
table{
width: 100%;
height: 100%;
}
table>thead>tr{
font-size: 12px;
}
p {
background-color: red;
}
`;
const renderers = {
table: makeTableRenderer({
WebView,
animationType: 'none',
cssRules,
}),
};
const htmlConfig = {
alterNode,
renderers,
ignoredTags: IGNORED_TAGS,
};
<View
style={[
styles.productDetails_aboutProductTabDescriptionContainer,
{display: open ? 'flex' : 'none'},
]}>

<HTML
html={
initialJSON?.homePageElements?.SLIDER_5?.sliders[0]?.description
}
{...htmlConfig}
baseFontStyle={getStoreStyle().articleDetails_newsText}
/>

`
Container view has vertical padding 15 and thats it. When i disable one of this tabs, it works perfect, if I use both tabs the problem appears and only on android.

@srdjandjuka Unfortunately, there is nothing I can reproduce with the code you provided since I can't run it on a simulator. I'm willing to help as soon as I can actually run something and investigate. See also https://stackoverflow.com/help/minimal-reproducible-example

Usually, the approach I take to do so is:

Create a new branch in my project, e.g. "table-plugin-26"
Remove all unnecessary code while reproducing the issue.
When you've reached the moment where the quantity of source code is minimal, either create a new source or copy here the source reproducing the issues + your package.json.

Closing due to inactivity. Feel free to post and reopen if you find the time to provide a proper reproduction.


Issue when executing intent

"code": 14,
"message": "Webhook error (206)"
Sorry I have this error while executing the welcome intent.
Are there issues with V2 API? Please let me know

I got an empty response from Dialogflow. Firebase recorded a fetch error:
FetchError: request to https://raw.githubusercontent.com/actions-on-google/dialogflow-quotes-nodejs/master/quotes.json failed, reason: getaddrinfo ENOTFOUND raw.githubusercontent.com raw.githubusercontent.com:443
The URL is 200 ok.

Can you include some of your fulfillment code and give more details?

@snusnuz Did you enable billing? Just tested the sample and no issues

@snusnuz If you are still running into this issue, please reopen.


Added basic editor config.

@apinf/developers please review this pull request. It contains a simple editor config file that tells our IDEs how to indent our project files, etc.


Support null safety

Please update the package to support a newer version of ffi and null safety

I need it too