Fix zoom behavior on mobile

Change preliminarily discussed in #859.
The change fixes an erratic behavior when zooming in with a mobile web browser.
The terminal height was changed accordingly to a change in the visual viewport, but without considering the scale factor. This led, e.g., to a terminal area half the expected one for a 2X zoom level.
The fix does not alter the resizing behavior at constant scale factor for the appearing and disappearing of a virtual keyboard.

coverage: 82.716% (-0.01%) from 82.729%
when pulling 57494e3fd7517bf06a8ae5750ffa9a2e3fdc967d on cowuake:devel
into df3506af2665440dc3f3d6bda9b47d2131ceb483 on jcubic:devel.

@jcubic, I had to revert the commit that implemented the refactoring you asked for in #859. The reason is that comparing the heights already multiplied by the scale and then rounded breaks again the behavior with the virtual keyboard.

How it breaks if it's exact same code:
var height = window.visualViewport.height;
var scale = window.visualViewport.scale;
height = Math.round(height * scale);

and this is the same:
var scale = window.visualViewport.scale;
var height = Math.round(window.visualViewport.height * scale);

You just do this in two steps instead of one.

Ok it seems you added this line for no reason:
var newHeight = Math.round(window.visualViewport.height * newScale);

this code was on in first commit.

How it breaks if it's exact same code:
var height = window.visualViewport.height;
var scale = window.visualViewport.scale;
height = Math.round(height * scale);

and this is the same:
var scale = window.visualViewport.scale;
var height = Math.round(window.visualViewport.height * scale);

You just do this in two steps instead of one.

OK, so you wanted only those lines changed, i.e.:
var scale = window.visualViewport.scale;
var height = Math.round(window.visualViewport.height * scale);
callback(height);
window.visualViewport.addEventListener('resize', function() {
    var newHeight = window.visualViewport.height;
    var newScale = window.visualViewport.scale;
    if (height !== newHeight) {
        height = Math.round(newHeight * newScale);
        callback(height);
    }
});

This way we are comparing a scaled height with a non-scaled height with height !== newHeight, and that's the reason why I also changed the code below - the error was not reassigning the value of newHeight to height before callback invocation, hence the problematic behavior!
If you're satisfied with this solution I will update the PR accordingly: I'd just move the newScale initialization/assignment down, since when we don't have to change the height we don't have to read the scaling factor either.
It would become:
var scale = window.visualViewport.scale;
var height = Math.round(window.visualViewport.height * scale);
callback(height);
window.visualViewport.addEventListener('resize', function() {
    var newHeight = window.visualViewport.height;
    if (height !== newHeight) {
        var newScale = window.visualViewport.scale;
        height = Math.round(newHeight * newScale);
        callback(height);
    }
});

Storing the scaling factors in the scale and newScale variables could be avoided tout-court, but I'll follow your advice.

Yea, you're right, but your code also have the same bug you compare scaled with non-scaled. It is triggering every time.

Yea, you're right, but your code also have the same bug you compare scaled with non-scaled. It is triggering every time.

Updated the PR. Now it should all be OK. Tested again on Android 13.
I changed more than those three initial lines but this way we only compare scaled heights.
I fixed the issue that we had with my first (erroneous) refactoring.


Use automatic next node detection in existing flows

Dependencies
This PR is based on the relatively small changes in the following three other PRs:

Remove regression test checksum file for part-year-profit-tax-credits flow
Prevent duplicate permitted next nodes
Remove incorrect permitted next node from check-uk-visa

I've included a single squashed merge commit for each of these PRs at the start of the branch for this PR. These will be removed once those PRs have been merged into master and this branch is then rebased against master.
Changes
This PR changes all the existing flows (and shared logic) to use the mechanism to automatically detect permitted next nodes which was introduced in #2343. This was all relatively straightforward, if a little tedious. The only things worthy of note are:

The benefit-cap-calculator flow uses "dynamic" return values in many of its next_node blocks. I couldn't see a quick way to use the auto-detect mechanism, so I've left them be for the moment. I'll think about addressing this in a separate PR.

The plan-adoption-leave flow doesn't use next_node with a block for any of its questions and so I didn't need to make any changes to it.

Testing
I added a script to generate a YAML representation of the possible next nodes for all the flows. I ran this script before and after the changes to double-check that using the automatic detection hadn't changed anything. However, the fact that the existing tests (including the regression tests) all pass also give me a lot of confidence.
Note
If I can find a way to use the automatic detection mechanism in benefit-cap-calculator, I plan to remove the code which allows the manual specification of permitted next nodes, but this will be in a separate PR.
Expected changes
None. However it might be worth checking that a couple of flow visualisation URLs work OK (not forgetting that the visualisation is currently broken in Chrome for other reasons):

https://www.gov.uk/part-year-profit-tax-credits/visualise
https://www.gov.uk/overseas-passports/visualise

As a complete aside, mixing GitHub's auto linking of PRs with Markdown's manual linking doesn't appear to work (i.e. [description-of-the-pr](#pr-number)). The links to the three related PRs in the description are currently broken because they use this mixed style. For what it's worth, I tend to use PR #pr-number - description-of-the-pr when linking to other PRs.

Is there a plan to differentiate between the question and outcome methods, @floehopper? If not, I wonder whether it might be simpler to have a single node (or similarly named) method. I'm asking because I've come across a couple of instances of question being used to return the name of an outcome node, and outcome being used to return the name of a question node.

I've added comments for a few instances I spotted of question and outcome being used in place of each other. Aside from those, this all looks great to me, @floehopper. Removing those arrays of permitted next nodes leaves the code looking much better.

@chrisroos: Thanks for pointing out the broken PR links in the description. I've now fixed them.

@chrisroos:

Is there a plan to differentiate between the question and outcome methods?

Yes, I would like to add a check that the node is of the specified type. However, I don't think it'll be completely straightforward to implement and so I'm planning on doing it later. I did start by using a single node method, but I felt that it made the code less readable, so that's why I added the question & outcome methods in #2343. I'll add a note to the description of that PR to explain this.

@chrisroos: Actually I've just noticed that I did explain this in the 3rd paragraph of the description of #2343.

@chrisroos: Thanks for reviewing and spotting all those question & outcome mistakes. I thought I'd been so careful! I'm going to create a new branch from this branch, rebase it against master, remove the 3 initial squash commits, and apply all the other fixup & squash commits. I'll then open a new PR.

Superseded by #2368.


[Proposal] CupertinoDatePicker with year only.

Use case
Looking at the cupertino date picker flutter/packages/flutter/lib/src/cupertino/date_picker.dart there isn't a way to have just a year like so:

Proposal
I propose adding a new CupertinoDatePickerMode to support having just a year and also a way to reverse or display the year selection in descending order like so:

Closing as duplicate of https://github.com/flutter/flutter/issues/139697


Stake Neuron with ICRC

When a user sends ICP, we can add a flag to change the device screen to "Stake Neuron" instead of "Send ICP".
We want to do the same for ICRC transfers.
The conditions to show "Stake Neuron" are the following:

Flag set same as the old ICP transfer.
Canister id destination: "ryjl3-tyaaa-aaaaa-aaaba-cai"
Destination account owner: "rrkah-fqaaa-aaaaa-aaaaq-cai"
Destination account subaccount: present

Device screens should be the same as in the current Stake Neuron flow.

:link: zboto Link

Duplicated with #223


Proposal for changes on the schedule page

Change the word “My votes” into
“My personal schedule”.
Remove the “Favorite sessions only”.
Place the “Clear all” button in the bottom on the filter menu.

Link to the design proposal in Figma:
https://www.figma.com/file/mkG9tk4fLHacp7lQXiJAfg/KD-Competence-Cards?type=design&node-id=1356%3A3239&mode=design&t=58fzWfj3lHCM7SzO-1

Filter has been reworked, closing.


fix: _stylelint.config.js

The stylelint rules value needs to be an object, not an array. https://stylelint.io/user-guide/configuration#rules
Split rules: {} across lines for cleaner diff views.

@metasean: Please update the title of the PR so that Semantic Pull Request check passes. refer docs
@clarkdo : This PR can be merged as it's required if user enables stylelint setting while scaffolding a new nuxt repo


Document and test code reviews

resolution_fixed   |    by<EMAIL_ADDRESS>
The code review site is now working & linked with Trac. I've put up some basic instructions at [[Development/Code Reviews]], can this please be checked.
I've also created a small script to assist with requesting a review of a Rose suite, available at source:roses/a/a/0/0/0/trunk/rose-review.sh

Issue migrated from trac:84 at 2024-01-31 18:00:35 +1100

ibc599 changed resolution from `` to fixed

ibc599 commented

Seems to work well.

ibc599 changed status from assigned to closed

ibc599 changed owner from `` to ibc599

<EMAIL_ADDRESS>commented

Milestone Future deleted

<EMAIL_ADDRESS>removed milestone (was Future)


Big blind only has less than big blind

If the big blind has less than the required amount the other players still have to call the big blind.
Example:

Small Blind (1 chip)
Big Blind (All in with 1 chip)
Small Blind can't check has to call and is now in for 2 chips.

However in this example the small blind shouldn't have to put in more chips. Also in this case the side pot doesn't seem to work.

isnt this desired behaviour? the big_blind is the minimum amount anyone needs to put in?

this should be fixed now, the current bet is only as much as the blind can afford


Cloud Messaging / build problems

[READ] For Firebase Unity SDK issues, please report to Firebase Unity open-source
Once you've read this section and determined that your issue is appropriate for this repository, please delete this section.
[REQUIRED] Please fill in the following fields:

Unity editor version: 2022.3.20f1(LTS)
Firebase Unity SDK version: 11.7.0
Source you installed the SDK: firebase.google.com
Problematic Firebase Component: Cloud Messaging
Other Firebase Components in use: Analysis, Remote Config
Additional SDKs you are using: None
Platform you are using the Unity editor on: Windows 10
Platform you are targeting:  Android and iOS
Scripting Runtime: Mono, and IL2CPP

[REQUIRED] Please describe the issue here:
While "Build and Run" the project Error will occur, for gradle build.
Console Error,
E:\Parth's Training\QWERTY\Library\Bee\Android\Prj\IL2CPP\Gradle\unityLibrary\src\main\java\com\google\firebase\MessagingUnityPlayerActivity.java:64: error: cannot access JobIntentService
MessageForwardingService.enqueueWork(this, message);
^
class file for androidx.core.app.JobIntentService not found
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
1 error
FAILURE: Build failed with an exception.

What went wrong:
Execution failed for task ':unityLibrary:compileReleaseJavaWithJavac'.

Compilation failed; see the compiler error output for details.

Steps to reproduce:
Have you been able to reproduce this issue with just the Firebase Unity quickstarts (this GitHub project)?
What's the issue repro rate? 5/5
What happened? How can we make the problem occur?  -> Just Import and build
This could be a description, log/console output, etc.
console Errors.
i)
Exception while marshalling C:\Program Files\Unity\Hub\Editor\2022.3.20f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\build-tools\32.0.0\package.xml. Probably the SDK is read-only
Exception while marshalling C:\Program Files\Unity\Hub\Editor\2022.3.20f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\platform-tools\package.xml. Probably the SDK is read-only
Exception while marshalling C:\Program Files\Unity\Hub\Editor\2022.3.20f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\platforms\android-31\package.xml. Probably the SDK is read-only
Exception while marshalling C:\Program Files\Unity\Hub\Editor\2022.3.20f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\platforms\android-32\package.xml. Probably the SDK is read-only
Exception while marshalling C:\Program Files\Unity\Hub\Editor\2022.3.20f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\tools\package.xml. Probably the SDK is read-only

Task :launcher:preBuild UP-TO-DATE
Task :unityLibrary:preBuild UP-TO-DATE
Task :launcher:preReleaseBuild UP-TO-DATE
Task :unityLibrary:preReleaseBuild UP-TO-DATE
Task :unityLibrary:compileReleaseAidl NO-SOURCE
Task :launcher:generateReleaseBuildConfig
Task :launcher:compileReleaseAidl NO-SOURCE
Task :launcher:javaPreCompileRelease
Task :launcher:generateReleaseResValues
Task :launcher:createReleaseCompatibleScreenManifests
Task :launcher:extractDeepLinksRelease
Task :launcher:extractProguardFiles
Task :launcher:mergeReleaseJniLibFolders
Task :unityLibrary:mergeReleaseJniLibFolders
Task :unityLibrary:compileReleaseRenderscript NO-SOURCE
Task :unityLibrary:generateReleaseBuildConfig
Task :unityLibrary:generateReleaseResValues
Task :unityLibrary:generateReleaseResources
Task :unityLibrary:packageReleaseResources
Task :unityLibrary:javaPreCompileRelease
Task :unityLibrary:mergeReleaseShaders
Task :unityLibrary:compileReleaseShaders NO-SOURCE
Task :unityLibrary:generateReleaseAssets UP-TO-DATE
Task :unityLibrary:parseReleaseLocalResources
Task :unityLibrary:processReleaseManifest
Task :unityLibrary:packageReleaseAssets
Task :unityLibrary:packageReleaseRenderscript NO-SOURCE
Task :unityLibrary:prepareLintJarForPublish
Task :unityLibrary:prepareReleaseArtProfile
Task :unityLibrary:processReleaseJavaRes
Task :launcher:compileReleaseRenderscript NO-SOURCE
Task :launcher:generateReleaseResources
Task :unityLibrary:extractDeepLinksRelease
Task :unityLibrary:writeReleaseAarMetadata
Task :unityLibrary:compileReleaseLibraryResources
Task :unityLibrary:writeReleaseLintModelMetadata
Task :unityLibrary:bundleLibResRelease
Task :unityLibrary:mergeReleaseJavaResource
Task :unityLibrary:mergeReleaseNativeLibs
Task :launcher:checkReleaseAarMetadata
Task :unityLibrary:generateReleaseRFile
Task :launcher:processReleaseMainManifest
Task :launcher:processReleaseManifest
Task :launcher:checkReleaseDuplicateClasses
Task :launcher:mergeReleaseResources
Task :unityLibrary:stripReleaseDebugSymbols
Task :launcher:mergeReleaseShaders
Task :launcher:compileReleaseShaders NO-SOURCE
Task :launcher:generateReleaseAssets UP-TO-DATE
Task :launcher:mergeReleaseAssets
Task :launcher:processReleaseJavaRes NO-SOURCE
Task :unityLibrary:copyReleaseJniLibsProjectAndLocalJars
Task :unityLibrary:copyReleaseJniLibsProjectOnly
Task :launcher:collectReleaseDependencies
Task :launcher:sdkReleaseDependencyData
Task :launcher:validateSigningRelease
Task :unityLibrary:extractReleaseAnnotations
Task :launcher:mergeReleaseJavaResource
Task :launcher:writeReleaseAppMetadata
Task :launcher:writeReleaseSigningConfigVersions
Task :launcher:mergeReleaseArtProfile
Task :launcher:processReleaseManifestForPackage

Task :unityLibrary:compileReleaseJavaWithJavac FAILED

Task :launcher:compressReleaseAssets
Task :launcher:desugarReleaseFileDependencies
Task :launcher:processReleaseResources
50 actionable tasks: 50 executed

UnityEditor.EditorApplication:Internal_CallGlobalEventHandler ()
ii)
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8
E:\Parth's Training\QWERTY\Library\Bee\Android\Prj\IL2CPP\Gradle\unityLibrary\src\main\java\com\google\firebase\MessagingUnityPlayerActivity.java:64: error: cannot access JobIntentService
MessageForwardingService.enqueueWork(this, message);
^
class file for androidx.core.app.JobIntentService not found
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
1 error
FAILURE: Build failed with an exception.

What went wrong:
Execution failed for task ':unityLibrary:compileReleaseJavaWithJavac'.

Compilation failed; see the compiler error output for details.

Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

Get more help at https://help.gradle.org

BUILD FAILED in 2s
UnityEditor.EditorApplication:Internal_CallGlobalEventHandler ()
If you have a downloadable sample project that reproduces the bug you're reporting, you will
likely receive a faster response on your issue.
Relevant Code:
I haven't coded anything just import those packages from google Firebase
// TODO(you): code here to reproduce the problem

Screen Preview of all Assets,

It happens to me too.
Has anything been resolved?

Hey,
I have the exact same problem with SDK 11.7.0. I tested it with 11.6 and the issue persists. Here's what I've tried:

Tested with 4 major Unity versions from 2019 to 2022 LTS.
Cleared project libraries.
Cleared Gradle cache.
Uninstalled Unity.
Changed from Mono to IL2CPP.
Adjusted .NET API compatibility level.
Changed target architecture.
Modified minimum and target API levels.

Despite all these attempts, I'm still unable to build. Any help would be greatly appreciated. Thanks.

Hey
I have same issue.
Library\Bee\Android\Prj\IL2CPP\Gradle\unityLibrary\src\main\java\com\google\firebase\MessagingUnityPlayerActivity.java:64: error: cannot access JobIntentService
MessageForwardingService.enqueueWork(this, message);
^
class file for androidx.core.app.JobIntentService not found
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
I am using Unity 2022.3.21f1 and firebase version 11.4.0.
I greatly appreciate any help offered.
Thank you

Hey
I have same issue.
Library\Bee\Android\Prj\IL2CPP\Gradle\unityLibrary\src\main\java\com\google\firebase\MessagingUnityPlayerActivity.java:64: error: cannot access JobIntentService
MessageForwardingService.enqueueWork(this, message);
^
class file for androidx.core.app.JobIntentService not found
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
I am using Unity 2022.3.21f1 and firebase version 11.4.0.
I greatly appreciate any help offered.
Thank you

Facing the same issue. Any ideas how to resolve?

Not sure if anyone is still facing this issue, I was able to work around it by adding
    implementation 'androidx.core:core:1.1.0'
    implementation("androidx.appcompat:appcompat:1.3.1")

to my Assets/Plugins/Android/mainTemplate.gradle file right after
// Android Resolver Dependencies end

Good luck!


Vagrant support

Add vagrant support for easy local development

Thanks Thiago. The idea of Jekyll Now is to remove the need for local dev, so going to pass on including more complexity in the repo aimed at setting up local dev, even if it does help out a subset of users.


Adjust modal horizontal position for non-fullpage application root

While using Framework7({root: '.some-selector' }) option and if your application container is not 100% wide the popover may be displayed outside the root container. Here is the screen (the application container is limited to max-width and centered on desktop browsers):

What do you think about fixing that issue? There is no problem in getting the following result:

In this PR the left offset and application width calculations are modified. Instead of absolute values app.root is taken into consideration. This is only a fix for modals other elements may still be affected.

Looks fine

Merged, thanks!


GitHub files page error

I noticed this a while back. Forgot to get to it. Opening an issue in case I forget again.

This seems to be a problem of HighlightView. This is the offending line. When patch is null as is the case with the above screenshot, the error occurs.

I can catch it in files_item.dart itself but I think it would be better for the package to handle null.

I'm thinking of replacing this line with patch ?? "No text to be shown here" or should I just leave it as an empty string. I think the first option is better because github returns a null patch only if the file has binary data. What do you think @pd4d10 ?

OK. I have no strong preference for this, as long as it is easy to understand for users.


Gradle plugin fails to generate reports when configured to use NVD 1.1 datafeed as source rather than NVD API

Describe the bug
When using the Gradle plugin, configured to pull data from the NVD datafeed or a custom datafeed location, the ODC H2 database is not populated.  This causes the "dataExists" check called on the database in the "Engine" to fail and the reports generation to fail.
I used the "--debug" option on Gradle as well as the code here to understand the general behavior.  The log output shows that both the META files and the json.gz files are successfully downloaded.  I have also verified that the /tmp directory that is created has several megabytes of json.gz files, but the H2 database there and the one copied to ~/.gradle/dependency-check-data/7.0/ are both only ~200 kilobytes.  I set the password parameter for the database in Gradle and then used the H2 Shell to open the database, list the tables and count table rows.  the "CPEENTRY" table that gets checked by the  "dataExists" call using "COUNT_CPE" prepared SQL statement is empty.
The "NoDataException" gets thrown in Engine.ensureDataExists() (Engine.java:1163), and the exception/error message appears in the Gradle log.
I tested this originally in an air-gapped environment with a datafeed mirror, but I have verified the issue still exists when setting the following closure in the Gradle configuration in an Internet connected environment:
 dependencyCheck {
       analyzedTypes = ['jar', 'js']
       formats = ['csv', 'html', 'json']
       nvd {
           datafeedUrl = "https://nvd.nist.gov/feeds/json/cve/1.1/nvdcve-1.1-{0}.json.gz"
       }
   }

If I switch the Internet connected environment back to using the NVD API endpoint, I successfully get reports.
Version of dependency-check used
9.0.8
Log file
Gradle Log (redacted/trimmed)
To Reproduce
Steps to reproduce the behavior:

apply dependency-check-gradle plugin to a project
configure it according to the documentation to use the NVD datafeed instead of the API (see closure above)
run gradle dependencyCheckAnalyze --debug on the project
get thrown exception/error: org.owasp.dependencycheck.exception.NoDataException: No documents exist

Expected behavior
The H2 ODC database cache should have been populated with content.  The Gradle plugin wrapped around the code of this project should successfully generate reports.
Additional context
I have not gone down further into the code rabbit hole to figure out how the database updates actually occur/are applied, so I'm not sure why the json.gz data isn't read and then written into the database.  I know that the latest version of the Gradle plugin is 9.0.9, but I didn't see anything in the release notes related to this issue and version 9.0.8 is the latest currently in the air-gapped environment I need this in.

If you were going to use the datafeed - unfortunately the 1.1 data feed from the NVD is not compatible with ODC since the 9.0 version. In fact, the NVD may shut those data feeds down - the reason the project moved to the API is that their data feeds were going to be deprecated and no longer updated at the end of 2023.
To use a data feed you would have to create one using the open-vulnerability-project's vulnz CLI: https://github.com/jeremylong/Open-Vulnerability-Project/tree/main/vulnz#caching-the-nvd-cve-data

If I use version 8.x.x (8.4.0 is the next version of the plugin/tool available to me in the air-gapped environment) can I configure it to use the datafeed, and then figure out how to transition to using the API later?

I found the gradle plugin configuration documentation page in the waybackmachine.  My air-gapped box is populating an ODC H2 database now using 8.2.1.  I think I have what I need for the time being.


Updating transform options issue

https://github.com/livekit/track-processors-js/blob/964dd5911ef38ef346f7d5e857d51565d03f0979/src/transformers/BackgroundTransformer.ts#L111
I believe the update function is a bit problematic because the if conditions will prevent updates in case we wish to set certain values to undefined or to 0.
Let's say we have a blur filter on and with the radius of 10 and now we wish to turn it off and set the background image instead. Now setting it to undefined or 0 will not enter the if condition as in both cases that evaluates to false. The same goes for the image.
So I guess the update function might need to be expanded to account for the time the user wishes to reset these values/disable certain things.
Or is the best practice approach here to stop the previous processor and create a new one?

Closing this as per example it's better to create a new processor in this case.


absent definition for traffic signal penalty makes traffic signals unroutable

If that line is absent in speedprofile, traffic signals are like bollards. This situation should be like trafficSignalPenalty = 0.

Note: in bike section of speedprofile.ini it still reads trafficLightPenalty and not trafficSignalPenalty, which leads exactly to this problem when doing bike routing... ;-)


Fix configuration in enginetest

Without this, enginetest fails with "memory allocation of<PHONE_NUMBER>80
bytes failed" (may be undeterministic because the config is not
initialized)

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Jan Niehusmann seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


target_branch_push_args is actually target_push_args

Currently it's documented in the README and Action metadata that target_branch_push_args is the correct field for providing args to git push. However, in the code INPUT_TARGET_PUSH_ARGS, which correlates to target_push_args is used.
Happy to open a PR to either update the documentation or the bash script to match but it's not clear to me which you'd prefer to do. Although my preference would weigh towards updating the documentation - rather than breaking existing usage.

Ah hmm, I had meant to update the variable to include 'branch' for clarity. I'll have to think about it.

Ah I just noticed this too. Glad to see there's already an issue about it. :)
My Use Case
I'm trying to keep 'main' synced with upstream, but because Actions cronjobs only run on 'main' I need to add this Action to it. Now the default of --ff-only fails, because the branches have diverged. The docs mention this as a common problem:

For example - you forked a repo, and then you added this action to the default branch of the repo to keep it synced with the matching upstream branch. Now your target and upstream branches have divergent histories! The sync fails with a git error.
fatal: refusing to merge unrelated histories

This will probably be a very common scenario. 🤷♂

My Attempted Solution
I tried to solve this with pull --rebase
        upstream_pull_args: '--rebase --tags'

but of course using rebase implies using push --force as well:
        target_branch_push_args: '--force'

https://github.com/neuropoly/gitea/blob/3435ec102d15079da05e67f97cc8f41a8bad0579/.github/workflows/sync-upstream.yml#L22-L29
However this fails:
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
ERROR:  exit 1

A working solution
Thanks to this thread, I tried ignoring the docs and just using https://github.com/neuropoly/gitea/blob/ded2781777f9ec7b32034acfbdf7b5645111bc32/.github/workflows/sync-upstream.yml#L29
        target_push_args: '--force'

This gives a warning
Warning: Unexpected input(s) 'target_push_args', valid inputs are ['target_sync_branch', 'target_repo_token', 'upstream_repo_access_token', 'upstream_sync_repo', 'upstream_sync_branch', 'target_branch_checkout_args', 'git_log_format_args', 'upstream_pull_args', 'target_branch_push_args', 'git_config_user', 'git_config_email', 'git_config_pull_rebase', 'test_mode', 'host_domain', 'shallow_since']

but it succeeds:
 Pushing synced data to target branch.
To https://github.com/neuropoly/gitea
 + ded278177...b24a462b0 main -> main (forced update)
SUCCESS

So my vote, if you'll take it under consideration, is to just update the docs.
Another solution
Since "syncing with upstream master" seems like such a common situation, it would be nice to brainstorm a standard way to handle this? Maybe that's worth raising in a separate issue.

My apologies for letting this sit. This project has been on the backburner for a little while. I'll just update the docs to make life easier for y'all.

Sorry, lied a little bit. I'll update the code. No matter which I update, the fix needs a minor release. Even if I go the docs route, I have to change the yaml input var, and I'd want to make sure the updated entry point var gets attention. Then the code route... well, that needs a release anyway. So I'm going to go wit the updated names and fix the code to match. Maybe that's crappy reasoning, but either way gets the same result, so I'm not worried.

Please test and confirm fix for me on aormsby/Fork-Sync-With-Upstream-action@fix-var-name

Pre-released to v3.3. Closing for now. If there are any issues, we can re-open.


KV Postgres scans are unlimited by size causing high latencies

When the staging area is big in size (tested with 100k entries), the kv postgres implementation will fetch the entire staging area for every iteration. Requests are bounded by the users of the store (1000 default listing size for staging for example), so most data is being delivered without being used.

@itaiad200 it read the complete staging area, although the request fetches and page size using an iterator?

IIUC the postgres KV iterator doesn't use the page size.


Using streams, seems to contradict itself in the last sentence, third bullet point from the top.

"Avoid reading the incoming file stream directly into memory. For example, don't copy file bytes into a MemoryStream or read as a byte array. These approaches can result in performance and security problems, especially in Blazor Server. Instead, consider copying file bytes to an external store, such as a blob or a file on disk."
Seems to contradict itself in the last sentence.
How can we avoid using a stream when copying to an external source when for example BlobContainerClient.UploadBlobAsync requires a stream?

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

ID: 5ea474d5-234a-f393-8609-892a2deb5d2e
Version Independent ID: c11d981c-05af-c19d-a333-feedd5978639
Content: ASP.NET Core Blazor file uploads
Content Source: aspnetcore/blazor/file-uploads.md
Product: aspnet-core
Technology: aspnetcore-blazor
GitHub Login: @guardrex
Microsoft Alias: riande

Thanks for the question @tylerwp.
Can you do a new StreamReader(...) and then use the reader.BaseStream in the UploadBlobAsync?
... and note that I'm just spitball'in here without looking in detail.
cc: @pranavkm

Thanks @guardrex
gotcha,  but would still need to use OpenReadStream, not seeing any way around it with IBrowserFile. this would still be reading into memory right?
Here is using new StreamReader
async Task SaveFile(InputFileChangeEventArgs e)
    {

        IBrowserFile browserFile = await e.File.RequestImageFileAsync("image/jpg", 1000, 1000);

        //MemoryStream s = new MemoryStream();
        //await browserFile.OpenReadStream().CopyToAsync(s);

        StreamReader s = new StreamReader(browserFile.OpenReadStream());

        var blobContainerClient = new BlobContainerClient(storageConnectionString, container);
        await blobContainerClient.UploadBlobAsync(browserFile.Name, s.BaseStream);

    }

I'm not a framework jockey, but @pranavkm 🏇 is 😄 ... I'll defer to him on the ✨ Framework Magic™ ✨ aspects.
AFAIK at the moment 🤔, we should call out using the BaseStream there as the best practice because it doesn't have the dev read directly into memory. Pranav will provide the full understanding and exact wording for the update.
Let's start with the following draft ...

* Avoid reading the incoming file stream directly into memory. For example, don't copy file bytes into a <xref:System.IO.MemoryStream> or read as a byte array. These approaches can result in performance and security problems, especially in Blazor Server. Instead, consider copying file bytes to an external store, such as a blob or a file on disk. If you need access to a <xref:System.IO.Stream>, use a <xref:System.IO.StreamReader.BaseStream?displayProperty=nameWithType>.

Thanks! @guardrex Always love a magic show! 🎇 😆

async Task SaveFile(InputFileChangeEventArgs e)
    {

        IBrowserFile browserFile = await e.File.RequestImageFileAsync("image/jpg", 1000, 1000);

        var blobContainerClient = new BlobContainerClient(storageConnectionString, container);
        await blobContainerClient.UploadBlobAsync(browserFile.Name, browserFile.OpenReadStream());
    }

Something like this should be fine. The comment is meant to dissuade from doing things like:
var memoryStream = new();
browserFile.OpenReadStream().CopyToAsync(memoryStream);

or
new StreamReader(browserFile.OpenReadStream()).ReadToEndAsync();

because both of those would allocate resources on the server.

Thanks @pranavkm ... I'll get a PR up on this Friday morning 🌄.

@pranavkm I should clarify with you (and in the topic perhaps) tho that we're talking client-side because our FilesaveController does it. We show ...
Controllers/FilesaveController.cs:
using System;
using System.Collections.Generic;
using System.IO;
using System.Net;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Logging;

[ApiController]
[Route("[controller]")]
public class FilesaveController : ControllerBase
{
    private readonly IWebHostEnvironment env;
    private readonly ILogger<FilesaveController> logger;

    public FilesaveController(IWebHostEnvironment env,
        ILogger<FilesaveController> logger)
    {
        this.env = env;
        this.logger = logger;
    }

    [HttpPost]
    public async Task<ActionResult<IList<UploadResult>>> PostFile(
        [FromForm] IEnumerable<IFormFile> files)
    {
        var maxAllowedFiles = 3;
        long maxFileSize = 1024 * 1024 * 15;
        var filesProcessed = 0;
        var resourcePath = new Uri($"{Request.Scheme}://{Request.Host}/");
        IList<UploadResult> uploadResults = new List<UploadResult>();

        foreach (var file in files)
        {
            var uploadResult = new UploadResult();
            string trustedFileNameForFileStorage;
            var untrustedFileName = file.FileName;
            uploadResult.FileName = untrustedFileName;
            var trustedFileNameForDisplay =
                WebUtility.HtmlEncode(untrustedFileName);

            if (filesProcessed < maxAllowedFiles)
            {
                if (file.Length == 0)
                {
                    logger.LogInformation("{FileName} length is 0",
                        trustedFileNameForDisplay);
                    uploadResult.ErrorCode = 1;
                }
                else if (file.Length > maxFileSize)
                {
                    logger.LogInformation("{FileName} of {Length} bytes is " +
                        "larger than the limit of {Limit} bytes",
                        trustedFileNameForDisplay, file.Length, maxFileSize);
                    uploadResult.ErrorCode = 2;
                }
                else
                {
                    try
                    {
                        trustedFileNameForFileStorage = Path.GetRandomFileName();
                        var path = Path.Combine(env.ContentRootPath,
                            env.EnvironmentName, "unsafe_uploads",
                            trustedFileNameForFileStorage);
                        using MemoryStream ms = new();
                        await file.CopyToAsync(ms);
                        await System.IO.File.WriteAllBytesAsync(path, ms.ToArray());
                        logger.LogInformation("{FileName} saved at {Path}",
                            trustedFileNameForDisplay, path);
                        uploadResult.Uploaded = true;
                        uploadResult.StoredFileName = trustedFileNameForFileStorage;
                    }
                    catch (IOException ex)
                    {
                        logger.LogError("{FileName} error on upload: {Message}",
                            trustedFileNameForDisplay, ex.Message);
                        uploadResult.ErrorCode = 3;
                    }
                }

                filesProcessed++;
            }
            else
            {
                logger.LogInformation("{FileName} not uploaded because the " +
                    "request exceeded the allowed {Count} of files",
                    trustedFileNameForDisplay, maxAllowedFiles);
                uploadResult.ErrorCode = 4;
            }

            uploadResults.Add(uploadResult);
        }

        return new CreatedResult(resourcePath, uploadResults);
    }
}

I wonder if ...
using MemoryStream ms = new();
await file.CopyToAsync(ms);
await System.IO.File.WriteAllBytesAsync(path, ms.ToArray());

... should be ...
using FileStream fs = new FileStream(path, FileMode.Create);
await file.CopyToAsync(fs);

From @M2r4Miller on https://github.com/dotnet/AspNetCore.Docs/issues/21803 ...
In Blazor Server, the following code works correctly ...
MemoryStream ms = new MemoryStream();

...

var reader = new StreamReader(e.File.OpenReadStream());
await reader.BaseStream.CopyToAsync(ms);

...

Use the MemoryStream (ms) to access the file contents without error.
I found the CopyToAsync necessary in order to avoid synchronous file access errors, including Visual Studio crashing.

UPDATE: Sorry for the delay on this one. I'll try to get to it ASAP, but I'm 🏃🏃🏃 on UE passes at the moment and for the next couple of weeks. With 6.0 content on the way within a few months, it's important to get as many UE passes done as possible. Once 6.0 content arrives in force, it probably won't be possible to work UE passes. WRT this issue, I'll try to reach it within a few weeks.

@pranavkm ... In the Blazor File Uploads topic, I'm resolving the guidance for avoiding reading a file stream into memory with your guidance :point_up:. However for server-side controller code, we use a MemoryStream to save a file. We have ...
In Controllers/FilesaveController.cs:
public async Task<ActionResult<IList<UploadResult>>> PostFile([FromForm] IEnumerable<IFormFile> files)
{
    ...
    foreach (var file in files)
    {
        ...
        using MemoryStream ms = new();
        await file.CopyToAsync(ms);
        await System.IO.File.WriteAllBytesAsync(path, ms.ToArray());
    }
}

Alternatively, I have the following working that seems improved (compact anyway) ...
public async Task<ActionResult<IList<UploadResult>>> PostFile([FromForm] IEnumerable<IFormFile> files)
{
    ...
    foreach (var file in files)
    {
        ...
        using FileStream fs = new FileStream(path, FileMode.Create);
        await file.CopyToAsync(fs);
    }
}

What's the right way to go there?
@tylerwp ... I've reached the Blazor File Uploads topic for a UE ("user experience", i.e., total overhaul+update) pass. 🏃😅
I'm drafting the DON'T do this + examples and DO this + example from @pranavkm's remarks as something like ...

In the following examples, broswerFile represents the uploaded file and implements <xref:Microsoft.AspNetCore.Components.Forms.IBrowserFile>.
❌ NOT recommended:
var memoryStream = new();
browserFile.OpenReadStream().CopyToAsync(memoryStream);

❌ NOT recommended:
var reader = new StreamReader(browserFile.OpenReadStream()).ReadToEndAsync();

✔ Recommended:
var blobContainerClient =
    new BlobContainerClient(storageConnectionString, container);
await blobContainerClient.UploadBlobAsync(
    browserFile.Name, browserFile.OpenReadStream());

What I don't like is that the Recommended example is an Azure Blob Service example following the generic code in the NOT recommended examples. I'd like to place the wrong Azure example immediately above the right Azure example ... and keep those initial @pranavkm examples there.
Do you have your original code (or can you show) the not recommended MemoryStream matching approach for Azure Blob Storage? For example, were you using a MemoryStream with UploadFromStreamAsync somehow?

For discussion using StreamContent ...
@page "/upload-files-1"

Upload Files

        Max file size:
        <input type="number" @bind="maxSize" />

        Max allowed files:
        <input type="number" @bind="maxAllowedFiles" />

        Upload up to @maxAllowedFiles of up to @maxSize bytes:
        <InputFile OnChange="@LoadFiles" multiple />

@exceptionMessage

@if (isLoading)
{

Loading...

}

    @foreach (var (file, content) in loadedFiles)
    {

Name: @file.Name

Last modified: @file.LastModified.ToString()

Size (bytes): @file.Size

Content type: @file.ContentType

Content: @content

    }

@code {
    private Dictionary<IBrowserFile, string> loadedFiles = new();
    private long maxSize = 1024 * 15;
    private int maxAllowedFiles = 3;
    private bool isLoading;
    string exceptionMessage;

    private async Task LoadFiles(InputFileChangeEventArgs e)
    {
        isLoading = true;
        loadedFiles.Clear();
        exceptionMessage = string.Empty;

        try
        {
            foreach (var file in e.GetMultipleFiles(maxAllowedFiles))
            {
                var fileContent = new StreamContent(file.OpenReadStream(maxSize));

                loadedFiles.Add(file, await fileContent.ReadAsStringAsync());
            }
        }
        catch (Exception ex)
        {
            exceptionMessage = ex.Message;
        }

        isLoading = false;
    }
}

Using a FileStream would be preferable. Super minor nit:

- using FileStream fs = new FileStream(path, FileMode.Create);
+ await using FileStream fs = new FileStream(path, FileMode.Create);

I like the good / bad pattern. It's very clear.

loadedFiles.Add(file, await fileContent.ReadAsStringAsync());

Seems like a bad idea. It's essentially a StreamReader.ReadToEndAsync() with more steps. Could you elaborate on what you're trying to do? The file could be binary (e.g. an image) and not meant to be displayed as text.

Thanks @pranavkm ... The PR just went up at https://github.com/dotnet/AspNetCore.Docs/pull/22161. Hold off tho looking at the PR ... it's still very draft-ish at the moment. I'll take into account what you just remarked :point_up: on my next update to it.
I'll ping u from the PR tomorrow (Thursday) to discuss further. I've been working since 3:30am and hit a 🧠🔥 brain fry 🧠🔥😄.


⚠ Samsung has degraded performance

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

HTTP code: 200
Response time: 3238 ms

Resolved: Samsung performance has improved in 0fe71e7.


Import errors on MacOS having to do with PyObjC installation

macOS Catalina v. 10.15.7
This is really confusing to me and I can't figure it out. Installation goes fine (no red output or anything) but as soon as I try to actually use Pyautogui I get some kind of runtime assertion error.
Repro Steps:

install Python 3.7 via brew

> brew install<EMAIL_ADDRESS>

create and activate virtual environment

><EMAIL_ADDRESS>-m venv venv

> source venv/bin/activate

install pyautogui

(venv) > python -m pip install pyautogui

test

Python 3.7.9 (default, Nov 20 2020, 18:45:38)
[Clang 12.0.0 (clang-1<IP_ADDRESS>)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import pyautogui
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/pyautogui/_pyautogui_osx.py", line 5, in <module>
    import Quartz
  File "/usr/local/lib/python3.7/site-packages/Quartz/__init__.py", line 6, in <module>
    import AppKit
  File "/usr/local/lib/python3.7/site-packages/AppKit/__init__.py", line 10, in <module>
    import Foundation
  File "/usr/local/lib/python3.7/site-packages/Foundation/__init__.py", line 9, in <module>
    import CoreFoundation
  File "/usr/local/lib/python3.7/site-packages/CoreFoundation/__init__.py", line 16, in <module>
    objc.pathForFramework("/System/Library/Frameworks/CoreFoundation.framework"),
  File "/usr/local/lib/python3.7/site-packages/objc/_dyld.py", line 148, in pathForFramework
    fpath, name, version = infoForFramework(dyld_find(path))
  File "/usr/local/lib/python3.7/site-packages/objc/_dyld.py", line 142, in dyld_find
    return dyld_framework(filename, framework_name, version)
  File "/usr/local/lib/python3.7/site-packages/objc/_dyld.py", line 101, in dyld_framework
    if _dyld_shared_cache_contains_path(f):
NotImplementedError: _dyld_shared_cache_contains_path not available

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.7/site-packages/pyautogui/__init__.py", line 536, in <module>
    from . import _pyautogui_osx as platformModule
  File "/usr/local/lib/python3.7/site-packages/pyautogui/_pyautogui_osx.py", line 7, in <module>
    assert False, "You must first install pyobjc-core and pyobjc: https://pyautogui.readthedocs.io/en/latest/install.html"
AssertionError: You must first install pyobjc-core and pyobjc: https://pyautogui.readthedocs.io/en/latest/install.html

sanity test

(venv) > python -m pip freeze
MouseInfo==0.1.3
Pillow==8.0.1
PyAutoGUI==0.9.52
PyGetWindow==0.0.9
PyMsgBox==1.0.9
pynput==1.7.1
pyobjc==7.0
pyobjc-core==7.0
pyobjc-framework-Accounts==7.0
pyobjc-framework-AddressBook==7.0
pyobjc-framework-AdSupport==7.0
pyobjc-framework-AppleScriptKit==7.0
pyobjc-framework-AppleScriptObjC==7.0
pyobjc-framework-ApplicationServices==7.0
pyobjc-framework-AuthenticationServices==7.0
pyobjc-framework-AutomaticAssessmentConfiguration==7.0
pyobjc-framework-Automator==7.0
pyobjc-framework-AVFoundation==7.0
pyobjc-framework-AVKit==7.0
pyobjc-framework-BusinessChat==7.0
pyobjc-framework-CalendarStore==7.0
pyobjc-framework-CFNetwork==7.0
pyobjc-framework-CloudKit==7.0
pyobjc-framework-Cocoa==7.0
pyobjc-framework-Collaboration==7.0
pyobjc-framework-ColorSync==7.0
pyobjc-framework-Contacts==7.0
pyobjc-framework-ContactsUI==7.0
pyobjc-framework-CoreAudio==7.0
pyobjc-framework-CoreAudioKit==7.0
pyobjc-framework-CoreBluetooth==7.0
pyobjc-framework-CoreData==7.0
pyobjc-framework-CoreHaptics==7.0
pyobjc-framework-CoreLocation==7.0
pyobjc-framework-CoreMedia==7.0
pyobjc-framework-CoreMediaIO==7.0
pyobjc-framework-CoreMIDI==7.0
pyobjc-framework-CoreML==7.0
pyobjc-framework-CoreMotion==7.0
pyobjc-framework-CoreServices==7.0
pyobjc-framework-CoreSpotlight==7.0
pyobjc-framework-CoreText==7.0
pyobjc-framework-CoreWLAN==7.0
pyobjc-framework-CryptoTokenKit==7.0
pyobjc-framework-DeviceCheck==7.0
pyobjc-framework-DictionaryServices==7.0
pyobjc-framework-DiscRecording==7.0
pyobjc-framework-DiscRecordingUI==7.0
pyobjc-framework-DiskArbitration==7.0
pyobjc-framework-DVDPlayback==7.0
pyobjc-framework-EventKit==7.0
pyobjc-framework-ExceptionHandling==7.0
pyobjc-framework-ExecutionPolicy==7.0
pyobjc-framework-ExternalAccessory==7.0
pyobjc-framework-FileProvider==7.0
pyobjc-framework-FileProviderUI==7.0
pyobjc-framework-FinderSync==7.0
pyobjc-framework-FSEvents==7.0
pyobjc-framework-GameCenter==7.0
pyobjc-framework-GameController==7.0
pyobjc-framework-GameKit==7.0
pyobjc-framework-GameplayKit==7.0
pyobjc-framework-ImageCaptureCore==7.0
pyobjc-framework-IMServicePlugIn==7.0
pyobjc-framework-InputMethodKit==7.0
pyobjc-framework-InstallerPlugins==7.0
pyobjc-framework-InstantMessage==7.0
pyobjc-framework-Intents==7.0
pyobjc-framework-IOSurface==7.0
pyobjc-framework-iTunesLibrary==7.0
pyobjc-framework-LatentSemanticMapping==7.0
pyobjc-framework-LaunchServices==7.0
pyobjc-framework-libdispatch==7.0
pyobjc-framework-LinkPresentation==7.0
pyobjc-framework-LocalAuthentication==7.0
pyobjc-framework-MapKit==7.0
pyobjc-framework-MediaAccessibility==7.0
pyobjc-framework-MediaLibrary==7.0
pyobjc-framework-MediaPlayer==7.0
pyobjc-framework-MediaToolbox==7.0
pyobjc-framework-Metal==7.0
pyobjc-framework-MetalKit==7.0
pyobjc-framework-MetalPerformanceShaders==7.0
pyobjc-framework-ModelIO==7.0
pyobjc-framework-MultipeerConnectivity==7.0
pyobjc-framework-NaturalLanguage==7.0
pyobjc-framework-NetFS==7.0
pyobjc-framework-Network==7.0
pyobjc-framework-NetworkExtension==7.0
pyobjc-framework-NotificationCenter==7.0
pyobjc-framework-OpenDirectory==7.0
pyobjc-framework-OSAKit==7.0
pyobjc-framework-OSLog==7.0
pyobjc-framework-PencilKit==7.0
pyobjc-framework-Photos==7.0
pyobjc-framework-PhotosUI==7.0
pyobjc-framework-PreferencePanes==7.0
pyobjc-framework-PushKit==7.0
pyobjc-framework-Quartz==7.0
pyobjc-framework-QuickLookThumbnailing==7.0
pyobjc-framework-SafariServices==7.0
pyobjc-framework-SceneKit==7.0
pyobjc-framework-ScreenSaver==7.0
pyobjc-framework-ScriptingBridge==7.0
pyobjc-framework-SearchKit==7.0
pyobjc-framework-Security==7.0
pyobjc-framework-SecurityFoundation==7.0
pyobjc-framework-SecurityInterface==7.0
pyobjc-framework-ServiceManagement==7.0
pyobjc-framework-Social==7.0
pyobjc-framework-SoundAnalysis==7.0
pyobjc-framework-Speech==7.0
pyobjc-framework-SpriteKit==7.0
pyobjc-framework-StoreKit==7.0
pyobjc-framework-SyncServices==7.0
pyobjc-framework-SystemConfiguration==7.0
pyobjc-framework-SystemExtensions==7.0
pyobjc-framework-UserNotifications==7.0
pyobjc-framework-VideoSubscriberAccount==7.0
pyobjc-framework-VideoToolbox==7.0
pyobjc-framework-Vision==7.0
pyobjc-framework-WebKit==7.0
pyperclip==1.8.1
PyRect==0.1.4
PyScreeze==0.1.26
PyTweening==1.0.3
rubicon-objc==0.4.0
six==1.15.0

I did also try this thing and no luck.
MACOSX_DEPLOYMENT_TARGET=10.11 pip install pyobjc

Facing same issue while importing pyautogui
MacOS version 10.15.7

Facing same issue while importing pyautogui
MacOS version 10.15.7

On my macOS Catalina 10.15.7 machine running Python 3.8, I'm installing PyAutoGUI and getting pyobjc 7.3 and can import it just fine.
Can others chime in on if they're getting this error?

Hey @asweigart,
I wrote up about this on issue #495 .
A fresh install resolves this issue.  if that is too much try removing the other variations of python installations from your computer.  I suspect that is the issue.
In python 3.10.5 a fresh install accompanied with pip3 install pyautogui doesn't seem to have this issue.
https://github.com/asweigart/pyautogui/issues/495#issuecomment-1172557674


Follow this checklist to help us incorporate your contribution quickly and easily:

[x] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

to: @kennknowles could you please take a look at this PR?

Sorry for the delay!
R: @apilloud
I think you might be the best choice for a review pass.

@apilloud I addressed your comments. Can you take another look?

LGTM.

@kennknowles for final approval and merging.

Great. Taking a peek!


Generate integration view

Changes proposed in this pull request:

Generate integration diagram
Use antlr to parse appfmt and epfmt

@anz-bank/sysl-developers

@anzdaddy @sahejsingh Any further change required ?


Support aggregate functions possible?

From a little bit of googling, it appears postgresql will let you do aggregate functions from jsonb documents, i was hoping marten could do simple queries like the following test:
using (var session = store.OpenSession())
{
	session.Store(new Order() { Id = "order/1", Total = 10 });
	session.Store(new Order() { Id = "order/2", Total = 12 });
	session.SaveChanges();
}

using (var session = store.OpenSession())
{
	var result = session.Query<Order>().Sum(a => a.Total);
	result.ShouldBe(22);
}

However currently this returns the following error:
Marten.Schema.InvalidDocumentExceptionCould not determine an 'id/Id' field or property for requested document type System.Double

I'm looking into this. I think I've got an idea.

Go @nieve!

Brilliant thank you for this, will come in very handy!
What is the performance like for queries like this if you had say 500,000 rows with the data being inside the json document?

Great question- I got too bogged down by implementation details that I completely forgot about the bigger picture. I think tomorrow I'm gonna play about with benchmarking, just for fun.
Btw, I think long count may have not been implemented as synchronous.

@nieve On your Sum(field), can you make sure that it's going through the IField.SqlLocator? Do that, and you could probably get a good perf boost by summing a "searchable" field.

I was thinking that if the performance isn't spectacular would it be worthwhile having the option to add the data into separate columns in the table, much like the search fields are at the moment which should work with large amounts of data.

Ah...there you go that's pretty much what i was getting at :-)

Cool, will look into it tomorrow.

@phinett Some day down the line we could also do "flattener" projections that write a doc into a flat, read-only table.

So that's what BenchmarkDotNet has to say:
BenchmarkDotNet=v<IP_ADDRESS>
OS=Microsoft Windows NT 6.2.9200.0
Processor=Intel(R) Core(TM) i5-2430M CPU @ 2.40GHz, ProcessorCount=4
Frequency=2338446 ticks, Resolution=427.6344 ns
HostCLR=MS.NET 4.0.30319.42000, Arch=32-bit RELEASE [AttachedDebugger]

Type=SearchableVsJsonbAttributeSum  Mode=Throughput

        Method |      Median |     StdDev |

------------------ |------------ |----------- |
JsonbAttributeSum | 981.6329 ms | 26.0396 ms |
SearchableSum | 548.5337 ms |  9.8045 ms |

Nice improvement for the searchable field, what was the data source, like how many rows of data?

1 million rows.
Code wise, btw, I didn't have to do anything, it's all being taken care of in IDocumentMapping.JsonLocator.


Share spec files across multiCapabilities in protractor

How to share spec files across capabilities in protractor:
I tried following but rather than sharing testcases/specs its executing all the test across capabilities:
exports.config = {
    shardTestFiles: true,
    maxSessions: 3,
    specs: ['./testExecution/UserManagement/Login/*.js'],
    verboseMultiSessions: true,
multiCapabilities: [
         {
          browserName : 'internet explorer',
          seleniumAddress: 'http://localhost:4444/wd/hub'
         },
        {
          browserName : 'chrome',
          seleniumAddress: 'http://<IP_ADDRESS>:4444/wd/hub'
        }
]
}

Hi! This looks like a support question. Please ask your support questions on StackOverflow, Google Group discussion list, or Gitter. For more information please reference https://github.com/angular/protractor/blob/master/CONTRIBUTING.md#questions
Thank you!


Embedded linux settings

Add cortex debug GDB settings for linux.

Changes cherry picked by @maebli and committed at 287ffa3
This PR is not required anymore.

Closed at 287ffa3


Child's introduction to the project

Add a children's introduction to the project and where the data comes from? Current About page is geared towards adults. Could the top of the orange home page have 2 links - Pupils and Teachers, with each link taking the user to a different background introduction? The Teachers could be the  current About page. Will think of some suitable text for children.

Here is the  suggested text.
Child's Introduction to Energy Sparks.pdf

I've included this text into the application, for now its available from a "For pupils" link in the header navigation and footer. The "About" link is now "For teachers".
I'm intending to change some of the homepage so will include some links to these pages from there too.
I've left the text unchanged, but added some labelled sections to break up the text a bit. It's quite a lot of content for a single page.


[WIP] Make WorkflowRepository#url unique

Do we want to ensure the url/branch is unique for repo sources?
Asked in relation to http://localhost:3000/workflow_repository/show_list
WIP: This is a question more than a solution

First, this is ConfigurationScriptSource which is the base for multiple subclasses, so we need to decide this for all of them.
If I recall, we intentionally didn't do this in the past for EmbeddedAnsible in case someone wanted to use the same repo but different branches and have them enumerated differently.

Thinking about this more I don't think ConfigurationScriptSource is where we want a unique constraint on git url+branch because you could have one repo with workflows and playbooks, that would be one git repository and two configuration_script_sources.
I do think we could do a better job of splitting up the git repo from the config_script_source, it is modeled nicely but the UI doesn't have any option for e.g. creating a Workflows source from an existing git repository.

Good point.  You wouldn't be able to specify the same repo for workflows and ansible with this change.

Yea, I included type in the scope to allow us to use the same repo for multiple provider types. Also, multi-tenancy wise, this could be an issue, as well.
Sounds like holding off on this is the right way to go.

think this is not a direction we want to take


Calling pyvantage.set_variable() that does not exist

https://github.com/gjbadros/hass-vantage/blob/master/custom_components/vantage/__init__.py#LL160C75-L160C75

Abandon


Privacy Manifest required

As mentioned by Apple's Article
Reachability is required to add a privacy manifest.
May I know if there are any plans/updates on this? Thanks.

Update:
As per research, I couldn't find any use of APIs mentioned by Apple that needs to be declared. Wonder why this repo is on the list. Feel free to correct me if I am wrong.
Anyways, I've added a privacy manifest, please feel free to take a look at the PR.

(Not a maintainer, just auditing my own dips for privacy manifest support).
In that article Apple could be referring to https://github.com/tonymillion/Reachability in that article. Did you get an email about your submission of an app using Reachability.swift?

@Jon-Schneider That would be a problem, as there are a lot of repositories/libraries called Reachability.
However, according to Apple's requirement, this repo still needs to provide a privacy manifest eventually, even if it is not on the list.
About the email, suppose the requirement is enforced in 2024 Spring, I guess there will be no rejections/emails from Apple or App Store Connect API for now, but not sure what will happen when we reach that moment.
At least in my case, there are no rejections when update version of my apps last week, which is using RxSwift that is on the list.
Personally, as I am using this library, I guess it is okay to add a privacy manifest first, in case if there are any new updates from Apple.
Thanks for your information!


Failed to install flawz with cargo

bug when trying to install flawz (with cargo)

error: linking with cc failed: exit status: 1
= note: /usr/bin/ld: cannot find -lsqlite3: No such file or directory
collect2: error: ld returned 1 exit status
To reproduce

cargo install flawz

Expected behavior

Screenshots / Logs

Software information

Operating system: Ubuntu  23.10
Rust version: rustc 1.77.1 (7cf61ebde 2024-03-27)
Project version: flawz 0.1.0

Additional context

Hey, thanks for reporting this! 🐻
Can you try installing libsqlite3-dev via apt install  libsqlite3-dev and trying the same cargo install command again? I think the nvd_cve crate depends on sqlite and that's why it's failing.

I'm not interested, but it would make a great first issue for new contributors!

Hi, I do not know if it is the same error, yet cargo install flawz fails.
sudo apt install libsqlite3-dev didn't help.
Details below.
❯ rustc --version
rustc 1.80.0 (051478957 2024-07-21)
❯ cat /etc/os-release
PRETTY_NAME="Ubuntu 22.04.4 LTS"

Full output below.
...
   Compiling flawz v0.2.2
error[E0277]: the trait bound `ratatui::text::line::Line<'_>: From<Vec<Span<'_>>>` is not satisfied
   --> /home/francesco/.cargo/registry/src/index.crates.io-6f17d22bba15001f/flawz-0.2.2/src/tui.rs:256:13
    |
255 |           let popup = Popup::new(
    |                       ---------- required by a bound introduced by this call
256 | /             vec![
257 | |                 "|".set_style(app.theme.separator),
258 | |                 cve.id.to_string().set_style(app.theme.highlight).bold(),
259 | |                 "|".set_style(app.theme.separator),
260 | |             ],
    | |_____________^ the trait `From<Vec<Span<'_>>>` is not implemented for `ratatui::text::line::Line<'_>`, which is required by `Vec<Span<'_>>: Into<ratatui::text::line::Line<'_>>`
    |
    = help: the following other types implement trait `From<T>`:
              <ratatui::text::line::Line<'a> as From<&'a str>>
              <ratatui::text::line::Line<'a> as From<Vec<ratatui::text::span::Span<'a>>>>
              <ratatui::text::line::Line<'a> as From<ratatui::text::span::Span<'a>>>
              <ratatui::text::line::Line<'a> as From<std::string::String>>
    = note: required for `Vec<Span<'_>>` to implement `Into<ratatui::text::line::Line<'_>>`
note: required by a bound in `Popup::<'content, W>::new`
   --> /home/francesco/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tui-popup-0.3.4/src/popup.rs:70:12
    |
68  |     pub fn new<L>(title: L, body: W) -> Self
    |            --- required by a bound in this associated function
69  |     where
70  |         L: Into<Line<'content>>,
    |            ^^^^^^^^^^^^^^^^^^^^ required by this bound in `Popup::<'content, W>::new`

error[E0277]: the trait bound `Paragraph<'_>: ratatui::widgets::WidgetRef` is not satisfied
   --> /home/francesco/.cargo/registry/src/index.crates.io-6f17d22bba15001f/flawz-0.2.2/src/tui.rs:261:13
    |
255 |         let popup = Popup::new(
    |                     ---------- required by a bound introduced by this call
...
261 |             sized_paragraph,
    |             ^^^^^^^^^^^^^^^ the trait `ratatui::widgets::WidgetRef` is not implemented for `Paragraph<'_>`, which is required by `SizedWrapper<Paragraph<'_>>: SizedWidgetRef`
    |
help: trait impl with same name found
   --> /home/francesco/.cargo/registry/src/index.crates.io-6f17d22bba15001f/ratatui-0.26.3/src/widgets/paragraph.rs:327:1
    |
327 | impl WidgetRef for Paragraph<'_> {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    = note: perhaps two different versions of crate `ratatui` are being used?
    = help: the following other types implement trait `ratatui::widgets::WidgetRef`:
              &str
              Option<W>
              Popup<'_, W>
              SizedWrapper<W>
              ratatui::text::line::Line<'_>
              ratatui::text::span::Span<'_>
              ratatui::text::text::Text<'_>
              ratatui::widgets::barchart::BarChart<'_>
            and 12 others
    = note: required for `SizedWrapper<Paragraph<'_>>` to implement `SizedWidgetRef`
note: required by a bound in `Popup::<'content, W>::new`
   --> /home/francesco/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tui-popup-0.3.4/src/popup.rs:51:19
    |
51  | impl<'content, W: SizedWidgetRef> Popup<'content, W> {
    |                   ^^^^^^^^^^^^^^ required by this bound in `Popup::<'content, W>::new`
...
68  |     pub fn new<L>(title: L, body: W) -> Self
    |            --- required by a bound in this associated function

error[E0599]: the method `style` exists for struct `Popup<'_, SizedWrapper<Paragraph<'_>>>`, but its trait bounds were not satisfied
   --> /home/francesco/.cargo/registry/src/index.crates.io-6f17d22bba15001f/flawz-0.2.2/src/tui.rs:263:10
    |
255 |           let popup = Popup::new(
    |  _____________________-
256 | |             vec![
257 | |                 "|".set_style(app.theme.separator),
258 | |                 cve.id.to_string().set_style(app.theme.highlight).bold(),
...   |
262 | |         )
263 | |         .style(app.theme.background);
    | |         -^^^^^---------------------- help: remove the arguments
    | |         ||
    | |_________|field, not a method
    |
    |
   ::: /home/francesco/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tui-popup-0.3.4/src/popup.rs:102:1
    |
102 |   pub struct SizedWrapper<W: Debug> {
    |   --------------------------------- doesn't satisfy `SizedWrapper<Paragraph<'_>>: SizedWidgetRef`
    |
   ::: /home/francesco/.cargo/registry/src/index.crates.io-6f17d22bba15001f/ratatui-0.26.3/src/widgets/paragraph.rs:40:1
    |
40  |   pub struct Paragraph<'a> {
    |   ------------------------ doesn't satisfy `Paragraph<'_>: ratatui::widgets::WidgetRef`
    |
    = note: the following trait bounds were not satisfied:
            `Paragraph<'_>: ratatui::widgets::WidgetRef`
            which is required by `SizedWrapper<Paragraph<'_>>: SizedWidgetRef`

error[E0277]: the trait bound `Paragraph<'_>: ratatui::widgets::WidgetRef` is not satisfied
   --> /home/francesco/.cargo/registry/src/index.crates.io-6f17d22bba15001f/flawz-0.2.2/src/tui.rs:255:21
    |
255 |           let popup = Popup::new(
    |  _____________________^
256 | |             vec![
257 | |                 "|".set_style(app.theme.separator),
258 | |                 cve.id.to_string().set_style(app.theme.highlight).bold(),
...   |
261 | |             sized_paragraph,
262 | |         )
    | |_________^ the trait `ratatui::widgets::WidgetRef` is not implemented for `Paragraph<'_>`, which is required by `SizedWrapper<Paragraph<'_>>: SizedWidgetRef`
    |
help: trait impl with same name found
   --> /home/francesco/.cargo/registry/src/index.crates.io-6f17d22bba15001f/ratatui-0.26.3/src/widgets/paragraph.rs:327:1
    |
327 | impl WidgetRef for Paragraph<'_> {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    = note: perhaps two different versions of crate `ratatui` are being used?
    = help: the following other types implement trait `ratatui::widgets::WidgetRef`:
              &str
              Option<W>
              Popup<'_, W>
              SizedWrapper<W>
              ratatui::text::line::Line<'_>
              ratatui::text::span::Span<'_>
              ratatui::text::text::Text<'_>
              ratatui::widgets::barchart::BarChart<'_>
            and 12 others
    = note: required for `SizedWrapper<Paragraph<'_>>` to implement `SizedWidgetRef`
note: required by a bound in `Popup`
   --> /home/francesco/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tui-popup-0.3.4/src/popup.rs:29:31
    |
29  | pub struct Popup<'content, W: SizedWidgetRef> {
    |                               ^^^^^^^^^^^^^^ required by this bound in `Popup`

Some errors have detailed explanations: E0277, E0599.
For more information about an error, try `rustc --explain E0277`.
error: could not compile `flawz` (lib) due to 4 previous errors
warning: build failed, waiting for other jobs to finish...
error: failed to compile `flawz v0.2.2`, intermediate artifacts can be found at `/tmp/cargo-installGCxcI6`.
To reuse those artifacts with a future compilation, set the environment variable `CARGO_TARGET_DIR` to that path.

Tell me if you need more details.
Thanks

Hey @pirafrank, it looks like you're hitting a mismatch between Ratatui and tui-popup versions. Can you try cargo install --locked flawz instead?

Please go ahead!
We can also suggest installing via --locked as well.


Invalid content /en/testnets/cardano/get-started/installing-and-running-the-cardano-node/

Where does the issue occur?
https://developers.cardano.org/en/testnets/cardano/get-started/installing-and-running-the-cardano-node/
Describe the issue
Links do not work - Page Not Found

Thank you for your feedback

Thank you for your feedback


[cherry-pick] [branch-2.2] [BugFix] Fix the bug of create inital rowset (#7553)

introduced by the commit: https://github.com/StarRocks/starrocks/commit/60aa03ac4bf489d79804a99b2c6c4b1d1d592ec0
new_rowset will always be null when st is not ok

run starrocks_clang-tidy

run starrocks_fe_unittest


Using lazy_gettext in boot-time translations

Description
Small bugfix to use lazy_gettext in boot-time translations (such as static fields in facets)
Checklist
Ticks in all boxes and 🟢 on all GitHub actions status checks are required to merge:

[x] I'm aware of the code of conduct.
[x] I've created logical separate commits and followed the commit message format.
[x] I've added relevant test cases.
[x] I've added relevant documentation.
[x] I've marked translation strings.
[x] I've identified the copyright holder(s) and updated copyright headers for touched files (>15 lines contributions).
[x] I've NOT included third-party code (copy/pasted source code or new dependencies).

If you have added third-party code (copy/pasted or new dependencies), please reach out to an architect.

Frontend

[x] I've followed the CSS/JS and React guidelines.
[x] I've followed the web accessibility guidelines.
[x] I've followed the user interface guidelines.

Reminder
By using GitHub, you have already agreed to the GitHub’s Terms of Service including that:

You license your contribution under the same terms as the current repository’s license.
You agree that you have the right to license your contribution under the current repository’s license.

Please backport this change to RDM 12

LGTM! Thanks for the great addition!
I noticed that some packages register translations as:
invenio_i18n.translations =
    messages = invenio_i18n

while others use:
invenio_i18n.translations =
    invenio_i18n = invenio_i18n

see: here
For clarity and consistency, we should standardize on invenio_pkg_name = invenio_pkg_name across packages. Using the package name as the namespace avoids ambiguity, and prevents potential conflicts.


Change who tables belong to

Make all the tables belong to Qiita user in the database.

This has been changed in the qiitarc system and will be fixed during the next release. cc-ing: @jdereus.

Closing as this is part of our current "release pointers" for this release ....


Separate publish / tag into two separate commands

Affected Packages
pkg:@changesets/cli
Problem
If changeset publish fails halfway through publishing, then no tags are created and pushed. If then, changeset publish succeeds, then tags are only created for packages who were published on that run. The problem, then, is then that we won't tag all releases, only the subset that were successfully published on the second run.
Proposed solution
Split tag out of publish. changeset version -> changeset publish -> changeset tag.

I have a similar issue/use case.
One of our repositories has around ~90 packages. We noticed that when all (or most of the) packages need to be published, there is a higher chance of the publishing to fail. To be more specific, packages are correctly published to NPM but the changesets command somehow fails, which then prevents tags to be created (as reported in this issue).
For example you can see in the screenshot that the version is published but the command reports an error.

Do you have an idea what might cause this?
However, in general it would be good to have a more resilient "error strategy". For example, retrying the publishing but do not throw in case the package is indeed published, etc.
Thanks

Do you have an idea what might cause this?

We might want to limit concurrent requests to npm, even more, when publishing - I believe this has been discussed here: https://github.com/atlassian/changesets/issues/427#issuecomment-697206015

However, in general it would be good to have a more resilient "error strategy". For example, retrying the publishing but do not throw in case the package is indeed published, etc.

That definitely would be an improvement. Additionally, to help the original issue reported here we could move creating tags at the end of the whole publish step. This should ensure that all packages are published first and only then we could attempt to create tags.

Tags are non-destructive, right? I.e. they're not going to be overwritten on the remote. Therefore, shouldn't tagging follow the same strategy as publishing? I.e. if it's not published, attempt to publish...

Right, this probably could be done as well - it would probably require making an additional request to npm to check if a particular tag is published (unless we already get that info in the requests we make). Could you check what it would take to implement this?

Can you point out which places in the code we should be looking into?
I can also try to help out if you need some help.

I'm generally thinking two paths:
npm-registry path

enumerate current versions
identify which versions (are not) present on the NPM registry
push the deltas

GitHub path

enumerate current versions
identify which tags (are not) present on GitHub
tag w/ a (provided) commit-id and push (or default to HEAD).

Thoughts?

We hope that this change https://github.com/atlassian/changesets/pull/522 should result in fewer faulty publishes

Same requirement, different case. We want to use changeset to manage some small apps, not packages hosted in npm registry. The value is changeset workflow and management of changelog and tags, without npm publish. But currently, the only way to generate tag is to publish, which is not suitable.

@zhaoyao91 I would accept a PR for this - this should be implemented as separate command

I think it would probably be better if this was implemented in publish so that we always tag packages regardless of whether or not they're private and separately to the npm publish so if it's already published to npm, the tag will still be created.
If some one wants to do that, it would probably look like fixing up https://github.com/atlassian/changesets/pull/420 to do the tagging concurrently and do all the tagging in the same place, including for non-private packages.

@changesets/cli 2.18.0 ships with a separate changeset tag command, #612 #634
I think this issue is already solved


Entrypoint needs to chown data directory

The Dockerfile chowns various directories, including the data directory, but this is a bit nonsensical since nobody runs the image in production with the default data directory; the chown doesn't work with a volume mapping. Specifically, under Kubernetes, with a persistent volume claim (e.g. via a statefulset), the volume mounted is owned by root.
The idiomatic way of handling this is to let the entrypoint run as root, ensure the directory permissions, then drop privileges:
mkdir -p $data_dir
chown elasticsearch $data_dir
chmod 0755 $data_dir
exec su-exec elasticsearch bin/elasticsearch  # or gosu or whatever

The only way to do this from Kubernetes without modifying the official image is with an init container, which should be unnecessary, and is obviously potentially brittle since it'd need to chown using the numerical UID that's hard-coded in this Dockerfile.

This has been discussed a few times e.g. https://github.com/elastic/elasticsearch-docker/issues/32#issuecomment-284466741) and https://github.com/elastic/elasticsearch-docker/pull/70#issuecomment-307268851.
You will find the reasoning behind the current behavior in those comments, one of which is that mutating the permissions and ownership of host dirs from inside a container is an unpredictable and non-secure practice for a generic image; far from the predictable and isolated promise of containers.
I understand that in k8s there is no support for named volumes yet, so things are a bit more limited. There are also some discussions in k8s: https://github.com/kubernetes/kubernetes/issues/2630 and a PR here for specifying a supplemental group.
I will leave this open, in light of the k8s case and think/discuss about a viable approach for k8s.

Closed by https://github.com/elastic/elasticsearch-docker/pull/125, support will come starting with version 6.0


"sails debug" on node v0.12.0 throwing error EADDRINUSE

Running Sails v0.11.0 and Node v0.12.0
When I run
sails new app; cd app
sails debug

Console logs...
error: Grunt :: Error: listen EADDRINUSE
    at exports._errnoException (util.js:746:11)
    at Agent.Server._listen2 (net.js:1129:14)
    at listen (net.js:1155:10)
    at Agent.Server.listen (net.js:1240:5)
    at Object.start (_debugger_agent.js:20:9)
    at startup (node.js:86:9)
    at node.js:814:3

No conflicting ports were listening prior to running sails.
Looking at travis.yml is only node v0.10.x supported currently?

at this moment sails pass the tests for 0.10.x, so I think that is not possible run your code under 0.12 because is not officially supported...
(Although I do not think that error is the version of node).

error: Grunt :: Error: listen EADDRINUSE

There's only one way this happens. It's if your port is already being used by another program.

Agreed, but this is the output just prior to launching sails debug
lsof -i -P | grep -i "listen"

redis-ser  678 mikecostello    4u  IPv6 0x704352d066f66a57      0t0  TCP *:6379 (LISTEN)
redis-ser  678 mikecostello    5u  IPv4 0x704352d06e87f7d7      0t0  TCP *:6379 (LISTEN)
postgres  1604 mikecostello    5u  IPv6 0x704352d066f68357      0t0  TCP localhost:5432 (LISTEN)
postgres  1604 mikecostello    6u  IPv4 0x704352d07074ad67      0t0  TCP localhost:5432 (LISTEN)
postgres  1604 mikecostello    7u  IPv6 0x704352d066f66f57      0t0  TCP localhost:5432 (LISTEN)
GitHub    8261 mikecostello   15u  IPv4 0x704352d07dc24d67      0t0  TCP localhost:25035 (LISTEN)
GitHub    8261 mikecostello   16u  IPv6 0x704352d066f67957      0t0  TCP localhost:25035 (LISTEN)

After running sails debug the debug port is opened and I can connect with node-inspector. Just the error is logged in the console.
Node v0.10 & Sails v0.11 works
Node v0.12 & Sails v0.10.5 same error

Hmm. It's also not clear to me why the error appears to come from Grunt, and not the debugger. Can you disable Grunt and try again?

With Grunt disabled no error

I have the same problem, how to solve it... console will output Error: listen EADDRINUSE  When i'm run

node-debug app.js
,And the Node Inspector not work correctly.
My node version:v0.12.0
sails: v0.10.5
it's too bad not this tool.

I'm getting the same, it prevents assets from copying to .tmp/public. I've tried changing the ports as follows but it's still giving the error.
node-debug --debug-port=3333 --web-port=4444 app.js

Same here, node 0.10 fine 0.12 i get the error...

+1 for this issue.

Same issue when running Sails v0.11.0 and Node v0.12.0

I seem to have the same problem... Anyone found a fix yet?

Node 0.10.x
Is the only option
On Wed, Mar 18, 2015, 17:56 chemjournal<EMAIL_ADDRESS>wrote:

I seem to have the same problem... Anyone found a fix yet?
—
Reply to this email directly or view it on GitHub
https://github.com/balderdashy/sails/issues/2670#issuecomment-83056689.

@tjwebb comment disabling grunt avoids the error if your project doesn't need that hook.
http://sailsjs.org/#!/documentation/anatomy/myApp/sailsrc.html
{
 "hooks": {
    "grunt": false
  }
}

+1 for this issue.

Any new info on this? I am getting the same error.
node --version
v0.12.0
sails --version
0.11.0

npm cache clean and  npm install node-inspector as mentioned here fixed the "cannot find module" error. But I'm still seeing the EADDRINUSE error as everyone else.

I am using Gulp, using sails-generator and I am getting the same error..
error: Gulp :: Error: listen EADDRINUSE
at exports._errnoException (util.js:746:11)
at Agent.Server._listen2 (net.js:1129:14)
at listen (net.js:1155:10)
at Agent.Server.listen (net.js:1240:5)
at Object.start (_debugger_agent.js:20:9)
at startup (node.js:86:9)
at node.js:814:3

can someone share a project I can clone to see this in action? I cannot reproduce this

So I pushed this to a repository even though it is not a fully functional site...
https://github.com/WillStreeter/ang-sails-gulp
I am starting Sails from WebStorm and before it loads I see the above error.
I am using
--$ node -v
v0.12.0
--r$ sails -v
0.11.0

cloned, npm install, works great:
$ tjwebb@latitude:/.../tjwebb/workspace/ang-sails-gulp (master) $ sails lift

info: Starting app...

info:
info:                .-..-.
info:
info:    Sails              <|    .-..-.
info:    v0.11.0             |\
info:                       /|.\
info:                      / || \
info:                    ,'  |'  \
info:                 .-'.-==|/_--'
info:                 `--'-------'
info:    __---___--___---___--___---___--___
info:  ____---___--___---___--___---___--___-__
info:
info: Server lifted in `/home/tjwebb/workspace/ang-sails-gulp`
info: To see your app, visit http://localhost:1337
info: To shut down Sails, press <CTRL> + C at any time.

debug: --------------------------------------------------------
debug: :: Sun Mar 22 2015 23:24:04 GMT-0400 (EDT)

debug: Environment : development
debug: Port        : 1337
debug: --------------------------------------------------------
^C
$ node -v
0.10.37
$ sails -v
0.11.0

so you are using
$ node -v
0.10.37
I was using node 0.12.0

Just tried with node 0.12.0 and iojs 1.6.1 and both work.

Oh I get it, sails debug doesn't work.

Yes.. I was just about to reply that I think that this is the issue because when I run it from the command line with a straight ... sails lift   .. no problems occur but when I run it from the IDE for debugging the error appears

Yea, check this out:

$ nmap -sV <IP_ADDRESS> -p 5858 says port is closed
run sails debug. errors out, but don't close
$ nmap -sV <IP_ADDRESS> -p 5858 says the port is open, as if sails debug is working`.
sails debug crashes with Error: write EPIPE

So the debugger is actually running. Try running node debug app.js instead and see if that works. Looks like sails debug needs to be re-tooled.

So when I run it from webstorm IDE
with parameter debug... I get
/usr/local/bin/node --debug-brk=53032 --nolazy debug app.js
Debugger listening on port 53032
debug> < Debugger listening on port 5858
debug> connecting to port 5858... ok
debug> break in app.js:55
 53   // Start server
 54   sails.lift(rc('sails'));
>55 })();
 56
 57 });
debug>

I am running node -v 0.12.0
I get the following error
Error: Cannot find module '/usr/local/lib/node_modules/node-inspector/node_modules/v8-debug/build/debug/v0.4.2/node-v14-darwin-x64/debug.node
on the console of the browser. when I run
node-debug --debug-brk --harmony --use-strict app.js
on Mac terminal I get
Node Inspector is now available from http://<IP_ADDRESS>:8080/debug?port=5858
Debugger listening on port 5858
Starting the interactive shell (REPL). Type .help for help.
The module in the current directory was not loaded: Cannot find module '/Users/KK/git/DNetworksAuth'.
Didn't want to start REPL? Run /usr/local/bin/node-debug . instead.
I need to run node 0.11.x or above as I am using Web framework koa which needs it.
Please help.

+1

+1

+1

+1

The issue surfaces between node v0.11.14 and v0.11.15

Specifically between joyent/node@a2a3fd48934f36d94575dd33d2a2cb732f937f77 and joyent/node@d87480beb29b764ba37cd983b594ad25a406a4c7
PR: joyent/node#8476

It appears as if the bug has actually been in the codebase since v0.10.x but was undetectable due to how the Grunt process was forked:
// ./node_modules/sails/lib/hooks/grunt/index.js
var child = ChildProcess.fork(

  path.join(__dirname, 'grunt-wrapper.js'),

  [
    taskName,
    '--pathToSails='+pathToSails,

    '--gdsrc='+ pathToSails + '/node_modules'
  ],

  {
    silent: true,       // => setting to false will reveal the bug
    stdio: 'pipe'
  }
);
// Don't forget to comment out the appropriate child.std* listeners

Afterwards:
Running "watch" task
Waiting...
Failed to open socket on port 5858, waiting 1000 ms before retrying
Failed to open socket on port 5858, waiting 1000 ms before retrying
Failed to open socket on port 5858, waiting 1000 ms before retrying
Failed to open socket on port 5858, waiting 1000 ms before retrying

Possible Solution:
Looking at the options for child_process.fork,  the --debug flag is being passed down to the child upon exiting the womb i.e. running sails debug :
// ./node_modules/sails/bin/sails-debug.js

// Spin up child process for Sails
Womb.spawn('node', ['--debug', pathToSails, 'lift'], {
    stdio: 'inherit'
});

setting options.execArgv to an empty array removes the flag and allows the process to continue:
// ./node_modules/sails/lib/hooks/grunt/index.js
var child = ChildProcess.fork(

  path.join(__dirname, 'grunt-wrapper.js'),

  [
    taskName,
    '--pathToSails='+pathToSails,

    '--gdsrc='+ pathToSails + '/node_modules'
  ],

  {
    silent: true,
    stdio: 'pipe',
    execArgv: []
  }
);

Yep. that's worked! Thanks, @dbuentello

Same issue in here with Sails v0.11.0 and Node v0.12.0 on Mac OS.

Any help will be appreciated on this issue. It's hard not having interactive debugger for node.js applications.

@bmustata but the error EADDRINUSE  has gone after fix?

@bmustata I dont believe are issues are related. Are you using Webstorm?
While my fix passes testing, sails debug doesn't appear to be covered. Im hesistant to submit PR and would classify this as an upstream issue as others have been affected as well (node-inspector has already updated README with info)  Look like fix is on the way. If your interested in tracking issue see:
node-inspector/node-inspector#534
joyent/node#9125
iojs/io.js#877

While issues are somewhat related, the consesus is that the introduction of new debugger agent has caused many headaches. A rework is on the way.

Alternate solution:
While technically the underlying problem is unrelated as it was existent in 0.10.0, a PR could be appropriate. Would like to get input from sails team on this.

@dbuentello Yes, the debugger it's not working on Webstorm 9 and 10.
Tks and I will monitor the issues closely!

+1 same issue here

Applied the path by @dbuentello which fixed running "sails debug" from the command line directly. I still cannot run Node inspector with Sails by running "node-debug sails debug" as I get the same type of error:
info: Running app in debug mode...
info: ( to exit, type + )
Error: listen EADDRINUSE
at exports._errnoException (util.js:746:11)
at Agent.Server._listen2 (net.js:1146:14)
at listen (net.js:1172:10)
at Agent.Server.listen (net.js:1257:5)
at Object.start (_debugger_agent.js:20:9)
at startup (node.js:86:9)
at node.js:814:3
Running "node-debug sails lift" works but of course then breakpoints and other features do not work properly as to be expected. Very frustrating since this worked better with older Node versions. Love input if anyone has any further ideas on getting this working.

I'm having issues as well, using Intellij/Webstorm.  WhenI try to debug I get the following:

/usr/local/bin/node --debug-brk=62497 --nolazy node_modules/sails/bin/sails.js lift

Debugger listening on port 62497

info: Starting app...

error: Error: The hook `orm` is taking too long to load.
Make sure it is triggering its `initialize()` callback, or else set `sails.config.orm._hookTimeout to a higher value (currently 20000)
    at tooLong [as _onTimeout] (/Users/dprietti/AndroidStudioProjects/hydra-respond/node_modules/sails/lib/app/private/loadHooks.js:92:21)
    at Timer.listOnTimeout (timers.js:110:15)

Process finished with exit code 1

I also tried this command

/usr/local/bin/node --debug --nolazy node_modules/sails/bin/sails.js lift
I get the following...

Error: listen EADDRINUSE
    at exports._errnoException (util.js:746:11)
    at Agent.Server._listen2 (net.js:1129:14)
    at listen (net.js:1155:10)
    at Agent.Server.listen (net.js:1240:5)
    at Object.start (_debugger_agent.js:20:9)
    at startup (node.js:86:9)
    at node.js:814:3

Yea it's a known issue. Anyone who has time to submit a PR would be greatly appreciated.

After reading the comments from the io.js issue (https://github.com/iojs/io.js/issues/877) I was able to get debug working with Intellij.
To do so you have to install the early EAP release of Intellij (see comments of https://youtrack.jetbrains.com/issue/WEB-16256#comment=27-979926).  Once installed go to
Help > Find Action... > Registry and uncheck the option "js.debugger.v8.use.any.breakpoint".
This fixed it for me, and the debugger loads up real quick now.

PR submitted @tjwebb

awesome @dbuentello thanks for the PR. I'll take a look.

Switched back to node v0.10.38 and all works Ok!
node -v
v0.10.38
npm -v
2.5.1

That's fix doesn't work..
node -v
v0.12.2
sails -v
0.11.0

+1 having the same issue on node 0.12, works fine on 0.10

Please fix this...  do we really have to use a version of node that is 2 versions behind the latest?

@SlowburnAZ if you'd like to contribute to the PR for resolving this issue, that'd be much appreciated: https://github.com/balderdashy/sails/pull/2888. The core team cannot implement every fix and feature ourselves, we rely on the community to collaborate with us. Thanks.

@tjwebb If I can find the time, I will attempt it.

Hi,
I am getting same error.
info: Server lifted in /var/www/Sails
info: To see your app, visit http://localhost:1337
info: To shut down Sails, press  + C at any time.
debug: --------------------------------------------------------
debug: :: Tue May 26 2015 03:30:23 GMT+0530 (IST)
debug: Environment : development
debug: Port        : 1337
debug: --------------------------------------------------------
events.js:72
throw er; // Unhandled 'error' event
^
Error: listen EADDRINUSE
at errnoException (net.js:901:11)
at Server._listen2 (net.js:1039:14)
at listen (net.js:1061:10)
at Server.listen (net.js:1135:5)
at Array.async.auto.start [as 0] (/var/www/Sails/node_modules/sails/lib/hooks/http/start.js:29:35)
at /var/www/Sails/node_modules/sails/node_modules/async/lib/async.js:484:38
at _each (/var/www/Sails/node_modules/sails/node_modules/async/lib/async.js:46:13)
at Object.async.auto (/var/www/Sails/node_modules/sails/node_modules/async/lib/async.js:455:9)
at Sails.startServer (/var/www/Sails/node_modules/sails/lib/hooks/http/start.js:16:11)
at Sails.EventEmitter.emit (events.js:92:17)
at Sails.emitter.emit (/var/www/Sails/node_modules/sails/lib/app/private/after.js:50:11)
at afterBootstrap (/var/www/Sails/node_modules/sails/lib/app/private/initialize.js:56:11)
at bootstrapDone (/var/www/Sails/node_modules/sails/lib/app/private/bootstrap.js:51:14)
at Object.module.exports.bootstrap (/var/www/Sails/config/bootstrap.js:16:3)
at Sails.runBootstrap (/var/www/Sails/node_modules/sails/lib/app/private/bootstrap.js:44:25)
at Sails.bound [as runBootstrap] (/var/www/Sails/node_modules/sails/node_modules/lodash/dist/lodash.js:729:21)
node -v
v0.10.25
sails -v
0.11.0
Please provide the solution.

Got it worked by killing process which runs 1337/tcp
sudo fuser -k 1337/tcp
sudo kill 3501

+1

+1 for fix!
node 0.12.4 ... tried hacking fork per @dbuentello's suggestion ... "works a little" -- ie now I get the error, but if I just wait the debugger somehow limps along, but it acts strangely (e.g. no access to local context in repl).

+1 for fix

Any chance this fixes it? It just got merged: https://github.com/balderdashy/sails/pull/2888
Someone mind pulling down the latest master branch of Sails and testing?

Confirmed working on Node v0.12.7 with the latest Sails patches applied.  Post back here if anyone sees different.

@sgress454 I upgraded to node 0.12.7 - so do we need to wait for sails 0.12.0 release before we see the fix?  Looks like it still does it with sails 0.11.0.

@dapriett right--the fix was merged in to the master branch in 88ffc0e, but hasn't been published yet.  We were hoping to get v0.12 out this month but got sidetracked by some non-Sails matters.  Definitely want to get it out ASAP.  In the meantime installing from Github should fix it.

+1 same issue for me.
Sails 0.11.0 and node 0.12.7 with node-inspector 0.12.2.

+1 Same issue Sails 0.11.0, Node 0.12.7 and node-inspector 0.11.1

+1

Ladies and gentlemen, I'm locking this issue.  It's been solved.  We'll push out v0.12 as soon as we can, but putting +1 here just obscures the fact that a patch has been made.  You can apply it yourself by replacing your Sails' /lib/hooks/grunt/index.js file with the contents of https://raw.githubusercontent.com/balderdashy/sails/88ffc0ed9949f8c74ea390efb5610b0e378fa02c/lib/hooks/grunt/index.js; this is the file that will be in the next release, so it's safe to use now.


Making the refresh of middleware provider more robust

If the refresh was invoked in MiQ before the operating system resource type or the resource of that type has been present in the hawkular-inventory, it fails with undefined method 'path' for nil:NilClass (calling .path on nil here).
This pr only handles the case so that nothing is called on nil + adds some tests that show the refresh goes well even though the the os.id and os.type fields are not there yet.
I had to add a new vcr cassette to simulate the hawkular inventory without the operating system resource type.
@miq-bot add_label providers/hawkular, bug, euwe/yes
https://bugzilla.redhat.com/show_bug.cgi?id=1390739

Build failure is due to sprockets/es6
e.g.:
153) CloudNetworkController for azure #show renders show screen
       Failure/Error: //= require es6-shim

LGTM
@miq-bot assign @bronaghs

Build failure is due to sprockets/es6

Now it's green and gtg :)

@agrare - review/merge please.

:+1: will merge when green

Restarted the test and looks like we dodged the javascript failure

@miq-bot add_label blocker

Euwe BZ: https://bugzilla.redhat.com/show_bug.cgi?id=1393546

Euwe Backport details:
$ git log -1
commit 1cd32580eeb16ddaa503568cd51f4fdae6e903a1
Author: Adam Grare<EMAIL_ADDRESS>Date:   Tue Nov 8 12:47:59 2016 -0500

    Merge pull request #12477 from Jiri-Kremser/nil.path

    Making the refresh of middleware provider more robust
    (cherry picked from commit 6ae20a459ffe61aa9b959ac856fb3a1ceabde023)

    https://bugzilla.redhat.com/show_bug.cgi?id=1393546


skeleton animation features plugin

Some notes as I work on it to track.

goal 1: implement gpu instancing for animations (cache bone transforms to texture) for crowd rendering. need it for my game personally. have godot implementation work well as POC.
https://github.com/TheComet/ik implement IK library as part of the plugin? It's c++ implementation of FABRIK http://www.andreasaristidou.com/FABRIK.html
https://github.com/guillaumeblanc/ozz-animation maybe? it's no longer active so maybe not.

so what took me a while to realize was that I just needed to set instancePosition : POSITION1 in the VertexCommon.bsl
and then simply apply the translation
I also simply hacked the gRendererUtility to write out the extra instance buffer
so the bigger question will be if there's an easier API to accomplish this
next goal is wrapping up the gpu caching of the bone transformations which should allow for different animations for the instances

Wow! That look really nice and could give us the "physic ropes", I had access in the Source Engine.

currently on fork. requires manualy updating bsf to do instanced drawing.
https://github.com/pgruenbacher/bsfExamples/tree/skel_instancing/Source/SkeletalAnimation


Some minor changes in app.

-No full stop.

-Security Question. Not Questions. Remove s.

-Remove the last ‘s’

Text on Launch Screen (Hexa animation) cannot be changed from code since it is part of the animation video


[DON'T MERGE] feat(App MI GA): Remove Preview tag for commands related to user-assigned identities

This checklist is used to make sure that common guidelines for a pull request are followed.

For new extensions:

[ ] My extension description/summary conforms to the Extension Summary Guidelines.

About Extension Publish
There is a pipeline to automatically build, upload and publish extension wheels.
Once your pull request is merged into main branch, a new pull request will be created to update src/index.json automatically.
The precondition is to put your code inside this repository and upgrade the version in the pull request but do not modify src/index.json.

@zhoxing-ms for awareness


docs: add sentinel docs

What type of PR is this?
docs

What this PR does / why we need it (en: English/zh: Chinese):

en: add sentinel docs
zh: 添加集成 sentinel 组件的相关文档
Which issue(s) this PR fixes:

refer to https://github.com/cloudwego/cloudwego.github.io/pull/363


feat(CategoryTheory/Sites): the property of being a sheaf of types is invariant under natural equivalences

If P₁ : Cᵒᵖ ⥤ Type w and P₂ : Cᵒᵖ ⥤ Type w' are naturally equivalent presheaves of types (in possibly different universes), then P₁ is a sheaf for a Grothendieck topology iff P₂ is.

Thanks!
bors merge


Added open source project: What-If

What-If is a web project that focuses on generating alternate history timelines based on some "what if?" questions.
Online demo of the service available here: What-If

@radi-cho Resolved the new conflicts and added the project in community demo.


Section incorrect

The first section, "Register an application" appears to apply to Azure AD Single Tenant. Please update the section to apply to multi-tenant.

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

ID: 171f21f0-1c8c-42f9-dbb8-2da1ebc70892
Version Independent ID: fe1d0a08-231e-5094-2406-1b548cb1174e
Content: Set up sign-in for a multi-tenant Azure AD identity provider using custom policies in Azure Active Directory B2C
Content Source: articles/active-directory-b2c/active-directory-b2c-setup-commonaad-custom.md
Service: active-directory
GitHub Login: @davidmu1
Microsoft Alias: davidmu

I believe the article is correct.
#please-close

Apologies. I was expecting the instructions to be for the new portal experience, or the apps.dev.microsoft.com process. They looked the same as the instructions for a single tenant app. Closing.