New upgrading process, relying on Git

Motivation
The upgrading process based on Yeoman is a pain. For each file, Yeoman (or the brand new copyAndReplace solution a477aec) compares the newly generated content with the existing one and prompts the user if it differs, with very basic options: overwrite or skip.
I have digged into this problem and came with rn-diff (you may have read this article). This repository helps people to upgrade RN on their projects. An alternative upgrading process using git apply instead of Yeoman is described here.
This PR is the integration of this process into the core. I got rid of the drawbacks mentioned in the link below in order to make it a clean, elegant, one-step operation.
Principle
This process is based on some Shell operations that:

Generate the blank sources of both old and new versions
Produce a Git patch between these 2 blank sources
Apply the patch to the current sources

It could be done using the actual react-native upgrade, the following commands give the general idea:
# In the root directory of a project, the Git working copy must be clean:

echo "a" | react-native upgrade          # Generate the current version template and overwrite all files

git add .
git commit -m "Old version"              # The current version template is added to the index

npm i react-native@latest --save         # Install the new version of React Native

echo "a" | react-native upgrade          # Generate the new version template and overwrite all files

git add .
git commit -m "New version"              # Same as before, the new version template is added to the index

git diff HEAD~1 HEAD > upgrade.patch     # Output the diff, totally suitable for the user's project

git reset HEAD~2 --hard                  # Go back to the source before the 2 upgrade commits

git apply upgrade.patch --3way           # Git is able to perform a 3-way because the 3 versions of each files have an entry in the index

Usage
Install the new global package: npm install -g react-native-git-upgrade. Then, run:
react-native-git-upgrade [version] [--verbose]

react-native-git-upgrade to upgrade RN to the lastest version
react-native-git-upgrade 0.35.0 to upgrade RN to a specified version
--verbose print the output of each commands

Example output (worst case: unresolved conflicts)

The sources are updated according to the desired version, and include conflicts delimiters in places the Git 3-way merge failed:
		13B07F951A680F5B00A75B9A /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
<<<<<<< ours
				CODE_SIGN_IDENTITY = "iPhone Developer";
				FRAMEWORK_SEARCH_PATHS = (
					"$(inherited)",
					"$(PROJECT_DIR)/HockeySDK.embeddedframework",
					"$(PROJECT_DIR)/HockeySDK-iOS/HockeySDK.embeddedframework",
				);
=======
				CURRENT_PROJECT_VERSION = 1;
>>>>>>> theirs
				HEADER_SEARCH_PATHS = (
					"$(inherited)",
					/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
					"$(SRCROOT)/../node_modules/react-native/React/**",
					"$(SRCROOT)/../node_modules/react-native-code-push/ios/CodePush/**",
				);

These conflicts are generally far easier to reason about. For the example below: simply remove conflicts delimiters and it works.
Implementation
The main file uses shelljs to execute the commands. It is based on promises and use the  async/await syntax, transpiled by babel-register just like the local CLI and the packager.
Some checks are performed before the process. Most of them come from the existing upgrade command.
The process doesn't alter the user repository. A new local Git repository is created "on-the-fly" in the system temp directory, thanks to Git env var GIT_DIR & GIT_WORK_TREE.
The temporary working dir (containing the Git repo & the patch file) is deleted at the beginning of the process, not at the end. So the patch is viewable for debugging purpose (the full path is logged in verbose mode).
User sources are restored in case of error.
Each step is logged with a single line by npmlog. The verbose mode (--verbose) displays the output of each command (Git and NPM mostly).
Test plan

Publish react-native-git-upgrade to sinopia
Generate a test app using a previous version X: react-native init RnTestApp --version=X
Update native files by linking a 3rd-party like: react-native install react-native-video
Run the upgrade to the desired version Y: react-native-git-upgrade Y

Relevant scenarios:

Upgrade from 0.36.0 to the latest (classic scenario)
Upgrade from 0.34.0 to 0.35.0 (no change in generators)
Upgrade from 0.28.0 to the latest (huge changes)
Upgrade from 0.37.0 to 1000.0.0 (after Yeoman wipeout a477aec, publish RN master to Sinopia first)
Downgrade from 0.37.0 to 0.34.0 (yes we could!)

Additional scenarios:

Re-run the command right after an upgrade (no change)
In case of error, the message must be explicit (example: run react-native-git-upgrade 0.666.0)
Run the command outside a RN project

Drawbacks

Git must be in the PATH. If not, an explicit message is displayed. Note that the user's project doesn't have to be handled by Git.

Credits
I would like to warmly thank:

@bestander & @mkonicek for guidances and reviews,
my company Zenika for time allocated to open-source development,
my client company M6 Web for providing awesome projects without which this whole thing would never have been born (and which has open RN job positions :fr: btw)

Thanks for your work on this @ncuillery!
@facebook-github-bot shipit


[Snyk] Security upgrade golang from 1.21.10 to 1.22.8

Snyk has created this PR to fix 4 vulnerabilities in the dockerfile dependencies of this project.
Keeping your Docker base image up-to-date means you’ll benefit from security fixes in the latest version of your chosen image.
Snyk changed the following file(s):

integration.dockerfile

We recommend upgrading to golang:1.22.8, as this image has only 81 known vulnerabilities. To do this, merge this pull request, then verify your application still works as expected.
Vulnerabilities that will be fixed with an upgrade:

Issue
Score

Integer Overflow or Wraparound SNYK-DEBIAN12-EXPAT-7855502
  714

Integer Overflow or Wraparound SNYK-DEBIAN12-EXPAT-7855503
  714

Link Following SNYK-DEBIAN12-GIT-6846203
  714

Link Following SNYK-DEBIAN12-GIT-6846203
  714

CVE-2024-37371 SNYK-DEBIAN12-KRB5-7411315
  714

[!IMPORTANT]

Check the changes in this PR to ensure they won't cause issues with your project.
Max score is 1000. Note that the real score may have changed since the PR was raised.
This PR was automatically created by Snyk using the credentials of a real user.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.
For more information:
🧐 View latest project report
📜 Customise PR templates
🛠 Adjust project settings
📚 Read about Snyk's upgrade logic

Learn how to fix vulnerabilities with free interactive lessons:
🦉 Learn about vulnerability in an interactive lesson of Snyk Learn.

@narmidm @richiesebastian  Curious, can we configure Snyk-bot sign it's commits?

We can try from snyk settings. @richiesebastian ?

I tried to login SNYK, looks like I am unable to access, @richiesebastian can you please investigate it once and verify the way.

https://github.com/kubeslice/kubeslice-controller/actions/runs/11735199757/job/32692479556?pr=227
Another issue is the Trivy pipeline is failing all over the place.  - @richiesebastian


WordPress 5.8 Compatibility

Feature Description
Tracking ticket for WordPress 5.8 compatibility (planned release in July)
Before release of WordPress 5.8:

[ ] Bump Tested up to in readme.txt
[ ] Run E2E tests against 5.8 RC
[ ] Update staging environments to use 5.8 RC

After release of WordPress 5.8:

[ ] Update php-stubs/wordpress-stubs (perhaps submit a PR to update stubs)

Notable things to test:

WebP support (#7389)
Changes to media modal (https://github.com/WordPress/wordpress-develop/commit/85f53ca0a6f8995eb32981f829ecaa9f461b25f9)

Alternatives Considered

Additional Context

Do not alter or remove anything below. The following sections will be managed by moderators only.
Acceptance Criteria

Implementation Brief

We should make sure that our plugin is compatible with new widgets endpoint found in core. https://core.trac.wordpress.org/changeset/50995

How could this new endpoint affect us?

Things to test, as discussed in today's call:

Full Site Editing, making sure our block works
New widget block editor, making sure our widget and the block work
Ensure migration from widget to block works

Migrating widget to blocks is documented here.


Can mlx_lm.fust model convert to Huggingface model？

mlx_lm.lora huggingface model
mlx_lm.fuse adapters+huggingface model=new model

this new model can only run as MLX？can convert to huggingface format？

It depends on two things really:

The model type. For most models we don't change the weight dictionary so they are compatible with both MLX and Hugging Face. There are some exceptions like MOEs where we have to change the underlying weights for efficiency reasons.
The precision. If the fused model is in 16-bit (float of bfloat) then it should work with Hugging Face. If it is quantized then that is MLX specific.


"ERROR TypeError: this.indexesSequence.addLocalHook is not a function" after Serve Static in nestjs server

Description

The Basic example in document works fine in the angular serve mode.
However, when I use nestjs serve static the build dist, it showed "ERROR TypeError: this.indexesSequence.addLocalHook is not a function".
Steps to reproduce

build and serve static in nestjs server

Your environment

Angular version:10.1.3
Handsontable version:8.3.0
Wrapper version:6.0.1
Browser Name and version:firefox 84.0.2
Operating System:ubuntu 20.04

I am facing this exact issue..
local build serve is working fine..
when i make prod bundle this error appears..
how do i solve it

Thank you for sharing the issue.
We can keep the conversation here https://github.com/handsontable/angular-handsontable/issues/223 not to duplicate the reports.
(note to myself inform forum)


feat: Add image by link & embed video by iframe or link from Vimeo/YouTube

Describe the feature you'd like to request
Add image by link & embed video by iframe or link from Vimeo/YouTube
Describe the solution you'd like to see
Add image by link & embed video by iframe or link from Vimeo/YouTube
Additional information
No response

This would be great!

Describe the feature you'd like to request
Add image by link & embed video by iframe or link from Vimeo/YouTube
Describe the solution you'd like to see
Add image by link & embed video by iframe or link from Vimeo/YouTube
Additional information
No response

Added a PR for basic YT embeds:  https://github.com/steven-tey/novel/pull/383
Lets see if it gets approved.


Add Democratic Republic of the Congo holidays

Not to be confused with the Congo
Useful links:

https://en.wikipedia.org/wiki/Public_holidays_in_the_Democratic_Republic_of_the_Congo
https://www.timeanddate.com/holidays/dr-congo/

@arkid15r How should we refer to this in the code? now that congo is already used by the Republic of Congo.
Would a democractic_republic_of_congo, democractic_republic_congo, or dr_congo works out better?

I guess it could be dr_congo for now. @KJhellico what's your opinion on this?

I think we can use dr_congo now, as v1 will have ISO 3166 codes anyway.


Error while updating property 'd' in shadow node of type: ARTShape => null

🐛 Bug Report
While render react native it throws this error.

To Reproduce
When open the app, it will show this error
Expected Behavior
Code Example
Environment
React Native Environment Info:
    System:
      OS: macOS 10.14.3
      CPU: (4) x64 Intel(R) Core(TM) i5-5257U CPU @ 2.70GHz
      Memory: 34.37 MB / 8.00 GB
      Shell: 5.3 - /bin/zsh
    Binaries:
      Node: 11.7.0 - /usr/local/bin/node
      Yarn: 1.15.2 - /usr/local/bin/yarn
      npm: 6.5.0 - /usr/local/bin/npm
      Watchman: 4.9.0 - /usr/local/bin/watchman
    SDKs:
      Android SDK:
        API Levels: 19, 21, 22, 23, 24, 27, 28
        Build Tools: 27.0.3, 28.0.2, 28.0.3
        System Images: android-22 | Google APIs Intel x86 Atom, android-24 | ARM 64 v8a, android-24 | ARM EABI v7a, android-24 | Intel x86 Atom, android-24 | Intel x86 Atom_64, android-24 | Google APIs ARM 64 v8a, android-24 | Google APIs ARM EABI v7a, android-24 | Google APIs Intel x86 Atom, android-24 | Google APIs Intel x86 Atom_64, android-24 | Google Play Intel x86 Atom
    IDEs:
      Android Studio: 3.3 AI-182.5<IP_ADDRESS>99772
      Xcode: /undefined - /usr/bin/xcodebuild
    npmPackages:
      react: 16.5.0 => 16.5.0
      react-native: 0.57.0 => 0.57.0
    npmGlobalPackages:
      react-native-cli: 2.0.1

React Native Environment Info:
    System:
      OS: macOS 10.14.3
      CPU: (4) x64 Intel(R) Core(TM) i5-5257U CPU @ 2.70GHz
      Memory: 69.72 MB / 8.00 GB
      Shell: 5.3 - /bin/zsh
    Binaries:
      Node: 11.7.0 - /usr/local/bin/node
      Yarn: 1.15.2 - /usr/local/bin/yarn
      npm: 6.5.0 - /usr/local/bin/npm
      Watchman: 4.9.0 - /usr/local/bin/watchman
    SDKs:
      Android SDK:
        API Levels: 19, 21, 22, 23, 24, 27, 28
        Build Tools: 27.0.3, 28.0.2, 28.0.3
        System Images: android-22 | Google APIs Intel x86 Atom, android-24 | ARM 64 v8a, android-24 | ARM EABI v7a, android-24 | Intel x86 Atom, android-24 | Intel x86 Atom_64, android-24 | Google APIs ARM 64 v8a, android-24 | Google APIs ARM EABI v7a, android-24 | Google APIs Intel x86 Atom, android-24 | Google APIs Intel x86 Atom_64, android-24 | Google Play Intel x86 Atom
    IDEs:
      Android Studio: 3.3 AI-182.5<IP_ADDRESS>99772
      Xcode: /undefined - /usr/bin/xcodebuild
    npmPackages:
      react: 16.8.6 => 16.8.6
      react-native: 0.59.5 => 0.59.5
    npmGlobalPackages:
      react-native-cli: 2.0.1

Any update on this......?


Add aggregate targets

Resolves #47

There is still something unresolved here as I can't work out why the aggregate target is being removed when the test fixture project is opened in Xcode

@yonaskolb This doesn't seem to work. I added the following to my project.yml:
aggregateTargets:
  Carthage Verify:
    buildScripts:
      - name: Carthage Verify
        script: cd $SRCROOT && $SRCROOT/carthage-verify.sh

And it says in the output:
  Aggregate Targets:
    Carthage Verify:

But there isn't any target when I check in Xcode.

Yeah that's the issue I mentioned above. If you look at the project diff the aggregate target does get generated, but as soon as you open the project in Xcode it removes it, and I have no idea why...

Here is what Xcode gives me when I create the same thing by hand:
/* Begin PBXAggregateTarget section */
		3BF4E56421061F4000C16C69 /* Carthage Verify */ = {
			isa = PBXAggregateTarget;
			buildConfigurationList = 3BF4E56521061F4100C16C69 /* Build configuration list for PBXAggregateTarget "Carthage Verify" */;
			buildPhases = (
			);
			dependencies = (
			);
			name = "Carthage Verify";
			productName = "Carthage Verify";
		};
/* End PBXAggregateTarget section */

And in the targets section of the project object:
3BF4E56421061F4000C16C69 /* Carthage Verify */,

Seems you are missing that part in the project object.


The problem with Top Slidr

I want to use the Top position for my activity. But I've had the problem with the white status bar ( as below image ). I want to remove this background. How to resolve this ? The problem is the white background between at yellow background and grey background.

Hello, have you found any solution to this issue?


Optimization?

Hi,
Is sdk_wifi_promiscuous_enable the best way to handle all incoming packages. Isn't it better to handle the packages in the loop of the Arduino program somehow?

Why? what makes loop() better than the proper way using sdk_wifi_set_promiscuous_rx_cb?
https://www.espressif.com/sites/default/files/documentation/2c-esp8266_non_os_sdk_api_reference_en.pdf

Btw @toncho11, don't open an issue for each answer :)

Sorry. I need a forum or e-mail.
I need a realtime execution (or as fast as possible) for a medical experiment, so that is why I need to understand if there is a better way.

If you use the loop for all the work, you will obtain worse results since the main loop is blocking other processes and consuming high cpu cycles.  Using a the sdk_wifi_set_promiscuous_rx_cb, it will only call your callback function when is needed because packets were received, in such a way of an interruption, leaving the main loop on hold in the meantime and getting back to the main loop after that.
Anyway, I'm not an expert so I recommend you to explore and ask in the official forums https://bbs.espressif.com/search.php?keywords=sdk_wifi_set_promiscuous_rx_cb&sid=19e580006660c7ec05cc11e72b6a469f

I need a realtime execution (or as fast as possible) for a medical experiment, so that is why I need to understand if there is a better way.

Then you need to get out of the Arduino ecosystem and write a proper interrupt driven state machine.  Both bad practice when real time is a requirement.


investigate malfeasance proofs in devnet-323-short

Description
metrics for malfeasance proofs in devnet-323-short running binary v0.2.21-beta.0

things that are wrong:

metrics over-reported the proofs: in DB there are [atxs:1 ballots:72 hare:3] malfeasance proofs (total 76). metrics reported 121 total.
ballots

a bug was discovered and fixed in https://github.com/spacemeshos/go-spacemesh/pull/4026/files#diff-352cd57ffb5b4a49d2aa14b595f10c044d2f89abfd5dbfb92362ff4e67d6c61dR696 but didn't make it into the binary

there are not enough information to verify whether the malfeasance proofs are legit. for example, objects used for proofs were not recorded.
no metrics to indicate the number of malicious identity, which should match the total of malfeasance proof metrics.

the network also reported 3 instances of hare equivocation. but it's not clear yet whether it's legitimate malfeasance or a software bug.

to summarize the state of this issue.

ballots equivocations was most likely a bug that was fixed in https://github.com/spacemeshos/go-spacemesh/pull/4026/files#diff-352cd57ffb5b4a49d2aa14b595f10c044d2f89abfd5dbfb92362ff4e67d6c61dR696
atx and hare equivocations are still unclear. loggings were added to improve understanding in #4068

during research summit in Gdansk, proposals were made to publish requests for logs from smeshers when such problems were detected. two approaches were discussed:

add a gossip protocol to broadcast wanted smesher IDs.
from spacemesh-managed nodes[1], initiate a gossip message that include encrypt wanted smesher IDs with their public keys.
upon receiving such gossip message, a node will decrypt such message with its private key and check if it matches own smesher ID. if so, submit its log[2].

publish wanted smesher IDs in a spacemesh hosted page
spacemesh admin will sign a list of wanted smesher IDs and publish them in spacemesh hosted web page.
nodes will check such page periodically and check if its own log is requested and, if so, submit its log.

both proposals require smeshers to opt-in. proposal 2 require node config to include a spacemesh admin public key for verification, tho this is also required for #4041.
[1]: via admin API
[2]: currently smapp has a way to sumbit log to sentry. a CLI should be created for go-spacemesh to invoke.
@pigmej @dshulyak @lrettig @noamnelke

anything pending here? Can this be closed?

mystery still unsolved. no code change is made.

many bugs have since been fixed regarding malfeasance proofs. closing this and will open new one for new networks.


S3Mock 3.0.0

Description

Refactorings

Use various Java language features introduced between JDK 8 and JDK 17
Use new Spring Boot 3 features
Use new Spring Framework 6 features
Dependency cleanup
Code cleanup

Version updates

Bump spring-boot.version from 2.x to 3.x

This will update all Spring Boot dependencies as well, including Spring Framework 6.x

Bump java version from 8 to 17

This change is necessary, as Spring Framework 6 and Spring Boot 3 raise the baseline Java version from 8 to 17.

Related Issue
Fixes #1008
Tasks

[x] I have signed the CLA.
[x] I have written tests and verified that they fail without my change.

upgrade to Spring Boot 3.0.0 currently blocked because we are using Jetty (and can't replace it because the direct Java integration is based on Jetty), Spring Framework 6 depends on Servlet 6, but Jetty 11 supports Servlet 5.
It's possible to downgrade, but we are using @MockMVC to test the controllers, which currently uses Servlet 6 APIs only.
https://github.com/spring-projects/spring-boot/issues/33044

Migrated all controller tests to use a real web environment which works with Jetty 11 and servlet 5.

this PR was superseded by #1213


Add spotlights 002-step-probes and 004-xdsl

Week 2: August 15, 2024
Adding community spotlights from Georgios Varnavides and his stem-probes file contents.

Week 4: August 29, 2024
Added 004-xdsl related file contents


Colors are bad for Yes/No

What if i'm color blind? I have to mouse hover over each red/green ball. Not cool.

Hi @snobu, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. Real humans will now evaluate your PR.

TTYL, MSBOT;

@snobu : Thanks for your contribution to the Azure documentation! The author, @jimdial, has been notified to review your proposed change.

@snobu Thanks for the feedback. You're right, I'm accepting the change.
#Sign-off


[#150] added ability to chain transform functions together with trans…

…form.all() function in transform.py

LGTM +1 Thanks!


PnP API Part3: Bring in tests

Bring in test for updated PnP APIs.  Mostly just updating along with API changes; biggest test change is need to test the reported properties enumeration.  The core of the tests is what was previously existing in Fall/Winter 2020.
For process of this work:
Part1 brought in the header files.
Part2 brought in the .c files implementing the code.
Part3 is this current PR is bringing in the tests.
Part4 will bring in the samples. At that point we'll bring everything over to feature/iot_pnp.

/azp run c - client - ci


Gerrit plugin for IntelliJ running inside WSL 2 as a GUI app does not remember http credentials

What steps will reproduce the issue?
Microsoft Windows [Version 10.0.22000.493]
WSL 2 kernel version <IP_ADDRESS>
Ubuntu 20.04
IntelliJ 2021.3.2 running inside WSL 2 as a GUI app executed as a standalone (/opt/<idea-dir>/bin/idea.sh)
Installed the Gerrit plugin for IntelliJ

2. Set an http password for Gerrit. Click Test - connection is established successfully.
3. Close the IDE from File -> Exit
4. Open the IDE again (/opt/<idea-dir>/bin/idea.sh). Click Test button again - the credentials are no longer valid and you get http 401 unauthorized.
Seems the stored password is different.
What is the expected result?
Gerrit plugin should continue to work without having to re-set the password
What happens instead?
The Gerrit plugin no longer works and one has to manually re-set the password and click Apply.
Once the IDE is closed and opened again (doesn't matter if done immediately or after i.e. 5 hours) - the password setting is lost again.
Issue reproduced at around 13:30 in the logs
log.zip

@mdzhigarov: Can you please check our password settings in IntelliJ settings? Have you enabled persistent password storage?

Actually, that's exactly the issue. Thank you @uwolfer for the help!
I had no idea this thing existed


[DOCS] Add more video resources to the website

Change Logs
Describe context and summary for this change. Highlight if any code was copied.
Impact
Describe any public API or user-facing feature change or any performance impact.
Risk level (write none, low medium or high below)
If medium or high, explain what verification was done to mitigate the risks.
Documentation Update
Describe any necessary documentation update if there is any new feature, config, or user-facing change

The config description must be updated if new configs are added or the default value of the configs are changed
Any new feature or user-facing change requires updating the Hudi website. Please create a Jira ticket, attach the
ticket number here and follow the instruction to make
changes to the website.

Contributor's checklist

[ ] Read through contributor's guide
[ ] Change Logs and Impact were stated clearly
[ ] Adequate tests were added if applicable
[ ] CI passed

Tested locally to see all video links show up on the page.


How to use RMQ to style a Promotion table cell?

Hi guys!
Just started using RMQ a week ago (changed my life :+1: :+1: :+1:  !!!) and I was wondering if you guys had a gist or some type of example of how to style a promotion table cell with RMQ such as adding a rounded image , different text labels etc....
Much appreciated!

Hey elzggr, I don't have a gist, but this is what we're using: https://github.com/infinitered/redpotion
We haven't officially released RedPotion yet, but we will soon. The app in that repo has both a normal SDK table and a Promotion table example (plus there is a generator). We are using RedPotion for all of our projects right now.

@twerth thanks!


require('uxp').uxp.storage as suggested in localFileSystem.md is incorrect

Issue in /src/pages/uxp/reference-js/Modules/uxp/Persistent File Storage/localFileSystem.md
Getting access to the file system API should be changed from
require('uxp').uxp.storage.localFileSystem
to
require('uxp').storage.localFileSystem

I confirmed that this is still the case with the new update and am moving this issue to the appropriate repo.


How to build new agents based on own custom data?

The README mentions that this should be possible, but not sure how the process should look like.

In which format does the data need to be?
Any guidelines on what kind of data should be collected, and how?

key-value pairs, JSON

The kind of data should mirror scratch.json

Let me know if you run into any issues!


Add protocol version to response for client

Since convert_poll_message() does not set protocol version as
HTTP/2.0, responses client received always display version: HTTP/1.1.
This patch adds HTTP/2.0 to the response.
Fixes https://github.com/carllerche/h2/issues/204

Thanks. This looks good to me.
Unfortunately, CI is failing right now (due to another issue). I'll merge this once CI is fixed.


Debugger:[Unstable]Debugger will show threads as 'Running' when they are paused on breakpoint

Environment data
dotnet --info output:

VS Code version: 1.22.2
C# Extension version: 1.15.0-beta5
Steps to reproduce

Download and open attachment in VSCode: Thread.zip
Set a breakpoint at line of 34 in Program.cs
F5
Verify the work thread in Call Stack window

Expected  behavior
All threads are listed as 'Paused'.
Actual behavior
Sometimes, a few threads are ‘Running’.

Log
log.txt

This repros in the 1.14.0 version of the extension and is not a regression due to the .NET Core 2.1 work.

My guess is the threads are not running, but are in some initialization state and have not started running yet. We are just displaying this wrong. Adding a Thread.Sleep(2000) before the breakpoint causes this issue to go away.

This appears to be a VS Code issue. I have logged https://github.com/Microsoft/vscode/issues/48600


Use READING_ID as part of LoRa address. #65

From Discussion #65
In FDRS_Sensor the readings have a READING_ID in fdrs_sensor_config.h which is designed to be modified by end user for each sensor. However, there is also a LoRaAddress configured in fdrs_sensor.h which file is not designed to be modified by end user. Therefore each sensor would have the same LoRaAddress which is not desirable. Can we make READING_ID part of LoRaAddress?
This PR makes READING_ID part of LoRaAddress so that user does not have to change fdrs_sensor.h

This is cool for now. As I've mentioned, I want to disassociate READING_ID and network IDs in the future, partially because when we add functionality to change the READING_ID over-the-air, we'll run into a lot of confusion. Another type of UUID would be preferred, maybe even borrowing from the MAC address if it is an ESP.

I want to disassociate READING_ID and network IDs in the future, partially because when we add functionality to change the READING_ID over-the-air, we'll run into a lot of confusion. Another type of UUID would be preferred, maybe even borrowing from the MAC address if it is an ESP.

Sounds good, shouldn't be too difficult to separate when the time comes.


Update client-go to v8.0.0

Codecov Report

Merging #393 into master will decrease coverage by 0.12%.
The diff coverage is 24.13%.

@@            Coverage Diff            @@
##           master    #393      +/-   ##
=========================================
- Coverage    3.66%   3.54%   -0.13%
=========================================
  Files         123     123
  Lines       10657   10614      -43
=========================================
- Hits          391     376      -15
+ Misses      10214   10188      -26
+ Partials       52      50       -2

Impacted Files
Coverage Δ

pkg/cmds/server/start.go
0% <0%> (ø)
:arrow_up:

hack/gencrd/main.go
0% <0%> (ø)
:arrow_up:

pkg/registry/acknowledgement/acknowledgement.go
0% <0%> (ø)
:arrow_up:

apis/incidents/install/install.go
100% <100%> (+15.38%)
:arrow_up:

apis/monitoring/install/install.go
100% <100%> (+16.66%)
:arrow_up:

pkg/server/server.go
12.12% <16.66%> (+2.28%)
:arrow_up:

Continue to review full report at Codecov.

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


BXMSPROD-1447: links will not trigger any more a build

Thank you for submitting this pull request
JIRA: BXMSPROD-1447
@mareknovotny regex is working a kind of strange in Jenkins - with this change a PR build is not any more triggered when a link is edited into comments
referenced Pull Requests: (please edit the URLs of referenced pullrequests if they exist)

referenced pull request 1
referenced pull request 2
referenced pull request 2
etc.

How to retest a PR or trigger a specific build:

* a pull request please add comment: Jenkins retest this

is this tested somewhere @mbiarnes ?


Tracking system usage in the db

It would be ideal if we could track system usage in the db. This might be unfeasible pre-volition.
If system usage is tracked onchain then incentives can be distributed to the most used systems, creating a nice flywheel for builders within worlds.
This could be an optional setup per world.

this could be implemented as middleware in the executor and would be a cool dojo library

Revisiting this...
It would be great if a developer could just include an executor.cairo in their project, and at compilation, it would suck this file up rather than the cores.
This way we could create a library of custom executors, as business logic is unique to worlds
thoughts?


Function yaml file with build.shipwright cannot create Serverless Applications

Description
Function yaml file with build.shipwright cannot create Serverless Applications

Environmental

kubernetes version v1.21.14
OpenFunction version 0.8.1

To Reproduce
Steps to reproduce the behavior:
follow this

Run the following command.
kubectl get ClusterBuildStrategy buildah

If the buildah not found, create it by the following command.
kubectl apply -f https://raw.githubusercontent.com/OpenFunction/OpenFunction/main/config/strategy/build-strategy.yaml

Run the following command.
kubectl get ClusterBuildStrategy buildah

If the buildah not found, create it by the following command.
kubectl apply -f https://raw.githubusercontent.com/OpenFunction/OpenFunction/main/config/strategy/build-strategy.yaml

@wrongerror @wanjunlei This (buildah clusterBuildStrategy) is not included in v0.8.1 installation?

Included: https://github.com/OpenFunction/charts/blob/main/openfunction/templates/build-strategies/buildah.yaml

Configured with ClusterBuildStrategy build

@benjaminhuo

Take a look at the build logs:
kubectl logs builder-<xxx> -c step-create

Please paste the yaml file of the function sample-java-app2.

build logs:

the yaml file of the function sample-java-app2：
apiVersion: core.openfunction.io/v1beta1
kind: Function
metadata:
  name: sample-java-app2
  namespace: nocalhost
spec:
  version: "v1.0.0"
  image: "xxx/sample-java-app2:v1"
  imageCredentials:
    name: push-secret
  port: 8080 # default to 8080
  build:
    builder: openfunction/buildah:v1.23.1
    shipwright:
      strategy:
        name: buildah
        kind: ClusterBuildStrategy
    srcRepo:
      url: "https://github.com/OpenFunction/samples.git"
      sourceSubPath: "apps/buildah/java"
      revision: "main"
      credentials:
         name: xyiot-test-github-secret
  serving:
    annotations:
      openfunction.io/enable-dapr: "true"
    scaleOptions:
      minReplicas: 0
      maxReplicas: 5
    runtime: knative
    outputs:
      - name: target
        component: kafka-server
        operation: "create"
    bindings:
      kafka-server:
        type: bindings.kafka
        version: v1
        metadata:
          - name: brokers
            value: "<IP_ADDRESS>:9092"
          - name: authRequired
            value: "false"
          - name: publishTopic
            value: "sample-topic"
          - name: topics
            value: "sample-topic"
          - name: consumerGroup
            value: "function-front"
    template:
      containers:
        - name: function # DO NOT change this
          imagePullPolicy: IfNotPresent

describe builder

Name:         builder-nv2w4
Namespace:    nocalhost
Labels:       openfunction.io/function=sample-java-app2
Annotations:  <none>
API Version:  core.openfunction.io/v1beta1
Kind:         Builder
Metadata:
  Creation Timestamp:  2023-02-06T09:02:20Z
  Generate Name:       builder-
  Generation:          1
  Managed Fields:
    API Version:  core.openfunction.io/v1beta1
    Fields Type:  FieldsV1
    fieldsV1:
      f:metadata:
        f:generateName:
        f:labels:
          .:
          f:openfunction.io/function:
        f:ownerReferences:
          .:
          k:{"uid":"a84a12ab-fbaf-4405-9439-a725035fd4dc"}:
            .:
            f:apiVersion:
            f:blockOwnerDeletion:
            f:controller:
            f:kind:
            f:name:
            f:uid:
      f:spec:
        .:
        f:builder:
        f:image:
        f:imageCredentials:
          .:
          f:name:
        f:port:
        f:shipwright:
          .:
          f:strategy:
            .:
            f:kind:
            f:name:
        f:srcRepo:
          .:
          f:credentials:
            .:
            f:name:
          f:revision:
          f:sourceSubPath:
          f:url:
      f:status:
        .:
        f:phase:
        f:reason:
        f:resourceRef:
          .:
          f:shipwright.io/build:
          f:shipwright.io/buildRun:
        f:state:
    Manager:    openfunction
    Operation:  Update
    Time:       2023-02-06T09:02:21Z
  Owner References:
    API Version:           core.openfunction.io/v1beta1
    Block Owner Deletion:  true
    Controller:            true
    Kind:                  Function
    Name:                  sample-java-app2
    UID:                   a84a12ab-fbaf-4405-9439-a725035fd4dc
  Resource Version:        31756996
  UID:                     65f5e7e5-a98d-4f1c-80c3-2888c1a5963e
Spec:
  Builder:  openfunction/buildah:v1.23.1
  Image:    xxx/sample-java-app2:v1
  Image Credentials:
    Name:  push-secret
  Port:    8080
  Shipwright:
    Strategy:
      Kind:  ClusterBuildStrategy
      Name:  buildah
  Src Repo:
    Credentials:
      Name:           xyiot-test-github-secret
    Revision:         main
    Source Sub Path:  apps/buildah/java
    URL:              https://github.com/OpenFunction/samples.git
Status:
  Phase:   Build
  Reason:  UndefinedParameter
  Resource Ref:
    shipwright.io/build:     builder-nv2w4-build-ldff2
    shipwright.io/buildRun:  builder-nv2w4-buildrun-tq9wz
  State:                     Failed
Events:                      <none>

This is indeed a bug，please apply this yaml, then try again:
apiVersion: shipwright.io/v1alpha1
kind: ClusterBuildStrategy
metadata:
  annotations:
    meta.helm.sh/release-name: openfunction
    meta.helm.sh/release-namespace: openfunction
  labels:
    app.kubernetes.io/managed-by: Helm
  name: buildah
spec:
  buildSteps:
  - args:
    - -c
    - |
      set -euo pipefail

      # Parse parameters
      context=
      dockerfile=
      image=
      buildArgs=()
      inBuildArgs=false
      registriesBlock=""
      inRegistriesBlock=false
      registriesInsecure=""
      inRegistriesInsecure=false
      registriesSearch=""
      inRegistriesSearch=false
      tlsVerify=true
      while [[ $# -gt 0 ]]; do
        arg="$1"
        shift

        if [ "${arg}" == "--context" ]; then
          inBuildArgs=false
          inRegistriesBlock=false
          inRegistriesInsecure=false
          inRegistriesSearch=false
          context="$1"
          shift
        elif [ "${arg}" == "--dockerfile" ]; then
          inBuildArgs=false
          inRegistriesBlock=false
          inRegistriesInsecure=false
          inRegistriesSearch=false
          dockerfile="$1"
          shift
        elif [ "${arg}" == "--image" ]; then
          inBuildArgs=false
          inRegistriesBlock=false
          inRegistriesInsecure=false
          inRegistriesSearch=false
          image="$1"
          shift
        elif [ "${arg}" == "--build-args" ]; then
          inBuildArgs=true
          inRegistriesBlock=false
          inRegistriesInsecure=false
          inRegistriesSearch=false
        elif [ "${arg}" == "--registries-block" ]; then
          inRegistriesBlock=true
          inBuildArgs=false
          inRegistriesInsecure=false
          inRegistriesSearch=false
        elif [ "${arg}" == "--registries-insecure" ]; then
          inRegistriesInsecure=true
          inBuildArgs=false
          inRegistriesBlock=false
          inRegistriesSearch=false
        elif [ "${arg}" == "--registries-search" ]; then
          inRegistriesSearch=true
          inBuildArgs=false
          inRegistriesBlock=false
          inRegistriesInsecure=false
        elif [ "${inBuildArgs}" == "true" ]; then
          buildArgs+=("--build-arg" "${arg}")
        elif [ "${inRegistriesBlock}" == "true" ]; then
          registriesBlock="${registriesBlock}'${arg}', "
        elif [ "${inRegistriesInsecure}" == "true" ]; then
          registriesInsecure="${registriesInsecure}'${arg}', "

          # This assumes that the image is passed before the insecure registries which is fair in this context
          if [[ ${image} == ${arg}/* ]]; then
            tlsVerify=false
          fi
        elif [ "${inRegistriesSearch}" == "true" ]; then
          registriesSearch="${registriesSearch}'${arg}', "
        else
          echo "Invalid usage"
          exit 1
        fi
      done

      # Verify the existence of the context directory
      if [ ! -d "${context}" ]; then
        echo -e "The context directory '${context}' does not exist."
        echo -n "ContextDirNotFound" > '$(results.shp-error-reason.path)'
        echo -n "The context directory '${context}' does not exist." > '$(results.shp-error-message.path)'
        exit 1
      fi
      cd "${context}"

      # Verify the existence of the Dockerfile
      if [ ! -f "${dockerfile}" ]; then
        echo -e "The Dockerfile '${dockerfile}' does not exist."
        echo -n "DockerfileNotFound" > '$(results.shp-error-reason.path)'
        echo -n "The Dockerfile '${dockerfile}' does not exist." > '$(results.shp-error-message.path)'
        exit 1
      fi

      echo "[INFO] Creating registries config file..."
      if [ "${registriesSearch}" != "" ]; then
        cat <<EOF >>/tmp/registries.conf
      [registries.search]
      registries = [${registriesSearch::-2}]

      EOF
      fi
      if [ "${registriesInsecure}" != "" ]; then
        cat <<EOF >>/tmp/registries.conf
      [registries.insecure]
      registries = [${registriesInsecure::-2}]

      EOF
      fi
      if [ "${registriesBlock}" != "" ]; then
        cat <<EOF >>/tmp/registries.conf
      [registries.block]
      registries = [${registriesBlock::-2}]

      EOF
      fi

      # Building the image
      echo "[INFO] Building image ${image}"
      buildah bud "${buildArgs[@]}" \
        --registries-conf=/tmp/registries.conf \
        --tag="${image}" \
        --file="${dockerfile}" \
        .

      # Push the image
      echo "[INFO] Pushing image ${image}"
      buildah push \
        --digestfile='$(results.shp-image-digest.path)' \
        --tls-verify="${tlsVerify}" \
        "${image}" \
        "docker://${image}"
    - --
    - --context
    - $(params.shp-source-context)
    - --dockerfile
    - $(build.dockerfile)
    - --image
    - $(params.shp-output-image)
    - --build-args
    - $(params.build-args[*])
    - --registries-block
    - $(params.registries-block[*])
    - --registries-insecure
    - $(params.registries-insecure[*])
    - --registries-search
    - $(params.registries-search[*])
    command:
    - /bin/bash
    image: quay.io/containers/buildah:v1.28.0
    name: build-and-push
    resources:
      limits:
        cpu: "1"
        memory: 2Gi
      requests:
        cpu: 250m
        memory: 65Mi
    securityContext:
      privileged: true
    workingDir: $(params.shp-source-root)
  parameters:
  - defaults:
    - annotation=module.wasm.image/variant=compat-smart
    description: The values for the args in the Dockerfile. Values must be in the
      format KEY=VALUE.
    name: build-args
    type: array
  - defaults: []
    description: The registries that need to block pull access.
    name: registries-block
    type: array
  - defaults: []
    description: The fully-qualified name of insecure registries. An insecure registry
      is one that does not have a valid SSL certificate or only supports HTTP.
    name: registries-insecure
    type: array
  - defaults:
    - docker.io
    - quay.io
    description: The registries for searching short name images such as `golang:latest`.
    name: registries-search
    type: array
  - default: ""
    description: Environment variables to set during _build-time_. The formate is
      `key1=value1,key2=value2`.
    name: ENV_VARS

Name:         builder-nv2w4
Namespace:    nocalhost
Labels:       openfunction.io/function=sample-java-app2
Annotations:  <none>
API Version:  core.openfunction.io/v1beta1
Kind:         Builder
Metadata:
  Creation Timestamp:  2023-02-06T09:02:20Z
  Generate Name:       builder-
  Generation:          1
  Managed Fields:
    API Version:  core.openfunction.io/v1beta1
    Fields Type:  FieldsV1
    fieldsV1:
      f:metadata:
        f:generateName:
        f:labels:
          .:
          f:openfunction.io/function:
        f:ownerReferences:
          .:
          k:{"uid":"a84a12ab-fbaf-4405-9439-a725035fd4dc"}:
            .:
            f:apiVersion:
            f:blockOwnerDeletion:
            f:controller:
            f:kind:
            f:name:
            f:uid:
      f:spec:
        .:
        f:builder:
        f:image:
        f:imageCredentials:
          .:
          f:name:
        f:port:
        f:shipwright:
          .:
          f:strategy:
            .:
            f:kind:
            f:name:
        f:srcRepo:
          .:
          f:credentials:
            .:
            f:name:
          f:revision:
          f:sourceSubPath:
          f:url:
      f:status:
        .:
        f:phase:
        f:reason:
        f:resourceRef:
          .:
          f:shipwright.io/build:
          f:shipwright.io/buildRun:
        f:state:
    Manager:    openfunction
    Operation:  Update
    Time:       2023-02-06T09:02:21Z
  Owner References:
    API Version:           core.openfunction.io/v1beta1
    Block Owner Deletion:  true
    Controller:            true
    Kind:                  Function
    Name:                  sample-java-app2
    UID:                   a84a12ab-fbaf-4405-9439-a725035fd4dc
  Resource Version:        31756996
  UID:                     65f5e7e5-a98d-4f1c-80c3-2888c1a5963e
Spec:
  Builder:  openfunction/buildah:v1.23.1
  Image:    xxx/sample-java-app2:v1
  Image Credentials:
    Name:  push-secret
  Port:    8080
  Shipwright:
    Strategy:
      Kind:  ClusterBuildStrategy
      Name:  buildah
  Src Repo:
    Credentials:
      Name:           xyiot-test-github-secret
    Revision:         main
    Source Sub Path:  apps/buildah/java
    URL:              https://github.com/OpenFunction/samples.git
Status:
  Phase:   Build
  Reason:  UndefinedParameter
  Resource Ref:
    shipwright.io/build:     builder-nv2w4-build-ldff2
    shipwright.io/buildRun:  builder-nv2w4-buildrun-tq9wz
  State:                     Failed
Events:                      <none>

the yaml file of the function sample-java-app2：

The yaml you pasted is to define a function, and serverless app doesn't support binding/pubsub so far

This is indeed a bug，please apply this yaml, then try again:

What's missing?
Need another PR?

Thank you very much for your help. The problem has been solved!
@wrongerror  @benjaminhuo


Anyhow typed Errors?

I really like the debug context that the anyhow Result type provides, but it lacks the error type and having to unwrap/downcast is pretty clunky. Is it possible to have typed Errors just like the standard Result type?

The current implementation of Error is a mirror of Rust anyhow crate's Error type, where it makes sense for Dart https://docs.rs/anyhow/latest/anyhow/struct.Error.html . I do agree I wish it could be more ergonomic when you want to actually inspect the error. The way I see it, a typed Error is not a possibility since that would defeat the purpose of Error being generic and would require Result to take an additional type, which would color the code. Here is how I handle Errors today:
Result x;
if(x case Err(:final err)){
    switch(err.rootCause().downcast().unwrap()){
        case ..:
        case ..:
    }
}

You could also iterate through with chain.
I think we can improve this though. I been thinking about introducing a downcastUnchecked method. What that would allow you to do for this case is something like:
Result x;
if(x case Err(:final err)){
    switch(err.rootCause().downcastUnchecked()){
        case ..:
        case ..:
    }
}

Which may be a slight improvement.
That all said, I am open to suggestions on how to improve things.

Looking at this, could something like this method be added to the anyhow Result type?
void onType<T extends Object>(void Function(T error) f) {
    if (error is T) {
        f(error);
    }
}

Definitely useful if you want to inspect the root cause declaratively, but I'm struggling to think of an example of when you would want to do that. Usualy when I need to look at the root cause it is because I need to change my control flow based on the type of error, which I don't think that may be useful for. Do you have an example of when that could be useful?
I agree with most of what you said. I'd add though that I view anyhow as also allowing you to only care about the type of error when you want to, rather than coloring the code when you don't even know if you'll ever care about the type of error.

This might be useful.
Object? getRootCause() {
    if(x case Err(:final err)){
        return err.rootCause().downcast().unwrap()
    }
   return null
}

Used like
Result x;
switch(x.getRootCause()){ // or "if"

}

We'd be diverging from the original anyhow though, but I am open to it. Also, I don't like that name, so open to a better suggestion.

Tbh I just don't like this because I don't believe it's the purpose of anyhow. It should be used when you don't care about what the error is, just that you can handle it safely without exceptions, adding context to it and logging in a very digestable format. When you need to inspect the errors for something, like getting a value out of it, you should use the base type, no need to complicate it.
I am using the anyhow result especially for internal mobile stuff, like remote-config, where it doesnt matter for the user what error happened, so we just log in our crashlytics. When an error matters for the user, we use the base type with a message from the backend in it's fields to show the user. Using the anyhiw result for this is harmful, since you are adding uneeded complexity.

I think anyhow can be useful for situations like this.
Result<int,Exception1> func1();

Result<int,Exception2> func2();

Result<int,???> func3() => Result(($) {
    func1()[$];
    func2()[$];
});

Where func3 is not where I want to handle the error, but some parent of func3.
In an ideal world everything should be typed.

downcastUnchecked was Added. Closing due to lack of activity. Feel free to re-open if anything comes up.


Can't install next package in i686 nixos

When I try to install/pin the next browser package from master in my i686 nixos it won't install.

adding:

    (let newpkgs = import (fetchTarball https://github.com/NixOS/nixpkgs-channels/archive/nixos-unstable.tar.gz)	{};
    in
      newpkgs.next
    )

to my configuration.nix

run nixos-rebuild switch:

error: Package ‘next-1.3.1’ in /nix/store/yzp6fbwsrklmy433icw1zc4kasgprd84-source/pkgs/applications/
networking/browsers/next/default.nix:74 is not supported on ‘i686-linux’, refusing to evaluate.
a) For nixos-rebuild you can set
{ nixpkgs.config.allowUnsupportedSystem = true; }
in configuration.nix to override this.

I add this line to my config, but nothing changes, same message.

Metadata

system: "i686-linux"
host os: Linux 4.14.108, NixOS, 18.09.2394.2d656a97297 (Jellyfish)
multi-user?: yes
sandbox: yes
version: nix-env (Nix) 2.1.3
channels(root): "nixos-18.09.2574.a7e559a5504"
channels(black): ""
nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos

Btw side question when I try to upgrade to 19.03 I get the message no tarball found for architecture i686-linux?

when it was packaged, it was specifically added as a x86_64 package, it's to be building fine using the i686 overlay, when I have my desktop again, I'll see if it builds, if it does, then we can add that as a supported platform

That would be great, maybe you also can update the package also in the process current version is 1.3.4

unfortunately, it seems that the webkitgtk package fails to build for i686:
lib/libWTFGTK.a(lib/../Source/WTF/wtf/CMakeFiles/WTF.dir/MediaTime.cpp.o):MediaTime.cpp:function WTF::MediaTime::setTimeScale(unsigned int, WTF::MediaTime::RoundingFlags): error: undefined reference to '__mulodi4'
lib/libWTFGTK.a(lib/../Source/WTF/wtf/CMakeFiles/WTF.dir/MediaTime.cpp.o):MediaTime.cpp:function WTF::MediaTime::operator*(int) const: error: undefined reference to '__mulodi4'
lib/libWTFGTK.a(lib/../Source/WTF/wtf/CMakeFiles/WTF.dir/MediaTime.cpp.o):MediaTime.cpp:function WTF::MediaTime::operator*(int) const: error: undefined reference to '__mulodi4'
lib/libWTFGTK.a(lib/../Source/WTF/wtf/CMakeFiles/WTF.dir/MediaTime.cpp.o):MediaTime.cpp:function WTF::MediaTime::compare(WTF::MediaTime const&) const: error: undefined reference to '__mulodi4'
clang-7: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.
builder for '/nix/store/riigpncjzllb77s1syj0a580ylhwj6m5-webkitgtk-2.26.1.drv' failed with exit code 1
cannot build derivation '/nix/store/kbfwxz489yhbxl002k50m41s5y1k9m8l-next-gtk-webkit-1.3.4.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/akb1xi9rp9dlwczj4vzf16gfzjzdvl6w-next-1.3.4.drv': 1 dependencies couldn't be built
error: build of '/nix/store/akb1xi9rp9dlwczj4vzf16gfzjzdvl6w-next-1.3.4.drv' failed

I switched the netbook to guix otherwise I have no i686 cpus anymore.

doesn't seem to be relevant anymore


ServiceNotFoundException

I am trying to install the module without "php composer.phar" but getting the error.
Error : Uncaught exception 'Zend\ServiceManager\Exception\ServiceNotFoundException' with message 'Zend\ServiceManager\ServiceManager::get was unable to fetch or create an instance for EddieJaoude\Zf2Logger' in C:\Apache\htdocs\Zend\website\library\Zend\ServiceManager\ServiceManager.php:555
i copied all the files in vendor folder.
Waiting for reply.
Thanks
Sejal Gada

Sorry, but the project only supports installation with composer. I have not tested it manually. I strongly suggest using composer. The only suggestion I can offer is check how you are loading in files from the vendors directory & make sure they are included.

Thank you for your prompt reply. I am now using php composer and its working fine.
A suggestion to give provision to install this module manually in future.

Thank you for your prompt reply

No problem.

I am now using php composer and its working fine

Great :+1:

A suggestion to give provision to install this module manually in future.

Composer is the standard & recommended Dependency Management.  More information can be read here... http://www.phptherightway.com/#dependency_management


Polish DefaultExecOutput

Statically import SerializableLambdas.*

@bot-gradle test and merge

Your PR is queued. See the queue page for details.


Update mockito-scala-scalatest to 1.16.12

Updates org.mockito:mockito-scala-scalatest from 1.15.1 to 1.16.12.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.mockito", artifactId = "mockito-scala-scalatest" } ]

labels: library-update, semver-minor

Superseded by #566.

Superseded by #566.

Superseded by #566.

Superseded by #566.


Feature: @angular-devkit/build-angular:web-test-runner picks up the web test runner config

Command
test
Description
When testing angular code with the web test runner, I would like to configure the web test runner via its known api. My understanding of the web test runner is, that you provide a plugin which wraps the framework of your choice. The plugin takes care of building and testing your code specific to your framework and then reports the results to the web test runner.
I tried the @angular-devkit/build-angular:web-test-runner in a monorepo and I really like it so far, but I was confused that when provided a web-test-runner.config.mjs it was ignored. Other projects in my monorepo that use the web test runner are configured via the plugin option of the web test runner config when they needed to be build framework specific.
I would love to hear your thoughts on this one! :)
Describe the solution you'd like
Create a plugin which builds and tests angular code. Make @angular-devkit/build-angular:web-test-runner call the web test runner.
Using the web test runner config would also enable to launch multiple browsers with their playwright package:
// web-test-runner.config.mjs

export default {
// ...
plugins: [angular()],
browsers: [
      playwrightLauncher({ product: 'chromium' }),
      playwrightLauncher({ product: 'firefox' }),
      playwrightLauncher({ product: 'webkit' }),
    ]
}

Angular would not introduce a new api, a developer could just use the web test runner api.
// angular.json

"test": {
          "builder": "@angular-devkit/build-angular:web-test-runner",
          "options": {
            "wtrPath": "some/non/default/path"
          }
        }

Describe alternatives you've considered
Expose the web test runner api in the options of the test target in the angular.json.

FYI
If you want to try launching browsers with @web/test-runner-playwright, you can patch @angular-devkit/build-angular with something like this:
@@ -107,6 +107,9 @@ function extractZoneTesting(polyfills) {
 async function runTests(wtr, testDir, options) {
     const testPagePath = node_path_1.default.resolve(__dirname, 'test_page.html');
     const testPage = await promises_1.default.readFile(testPagePath, 'utf8');
+
+    const { playwrightLauncher } = require('@web/test-runner-playwright');
+
     const runner = await wtr.startTestRunner({
         config: {
             rootDir: testDir,
@@ -127,10 +130,16 @@ async function runTests(wtr, testDir, options) {
             port: 9876,
             watch: options.watch ?? false,
             testRunnerHtml: (_testFramework, _config) => testPage,
+            browsers: [
+                playwrightLauncher({ product: 'chromium' }),
+                playwrightLauncher({ product: 'firefox' }),
+                playwrightLauncher({ product: 'webkit' }),
+            ],
         },
         readCliArgs: false,
         readFileConfig: false,
         autoExitProcess: false,
+
     });
     if (!runner) {
         throw new Error('Failed to start Web Test Runner.');

in my case this outputs:
> nx run XYZ-angular-components-button:test-angular

The CJS build of Vite's Node API is deprecated. See https://vite.dev/guide/troubleshooting.html#vite-cjs-node-api-deprecated for more details.
NOTE: The Web Test Runner builder is currently EXPERIMENTAL and not ready for production use.
The 'inlineStyleLanguage' option is not yet supported by this builder.
The 'stylePreprocessorOptions' option is not yet supported by this builder.
The 'sourceMap' option is not yet supported by this builder.
The 'progress' option is not yet supported by this builder.
Initial chunk files | Names           |  Raw size
polyfills.js        | polyfills       | 936.76 kB |

                    | Initial total   | 936.76 kB

Lazy chunk files    | Names           |  Raw size
chunk-WDVB7UB7.js   | -               |   1.84 MB |
jasmine_runner.js   | jasmine_runner  | 286.17 kB |
jasmine.js          | jasmine         | 261.17 kB |
XYZ-button.spec.js  | XYZ-button-spec |  69.04 kB |
testing.js          | zone-testing    |  65.99 kB |
chunk-IKOPAYLZ.js   | -               |   1.86 kB |

Application bundle generation complete. [1.524 seconds]

dist/test-out/38883466-8230-4364-876e-caf512a70611/XYZ-button.spec.js:

 🚧 Browser logs:
      Tests passed!

Chromium: |██████████████████████████████| 1/1 test files | 79 passed, 0 failed
Firefox:  |██████████████████████████████| 1/1 test files | 79 passed, 0 failed
Webkit:   |██████████████████████████████| 1/1 test files | 79 passed, 0 failed

Finished running tests in 2.7s, all tests passed! 🎉


[Bug]: While deleting a Datasource "Delete" option is prompted again after we click on "Are you sure"

Is there an existing issue for this?

[X] I have searched the existing issues

Description
For any Datasource that has some actions using it once we click on Delete -> Are you sure?, we see the Delete option again while the datasource is getting deleted.
Ideally we should show the Delete option again after we get the Cannot delete datasource since it has 2 action(s) using it. message.
https://www.loom.com/share/64cfe152a1bd4e5a9c92d1e0542056e6
Steps To Reproduce

In the Show all Datasources page of any application try to delete a datasource that has some actions on it.
Notice that the Delete option appears again once you  click on Are you sure? even before an error message has appeared.

Public Sample App
No response
Version
Cloud

I cannot seem to replicate this bug. @shadabbuchh

I'm not really sure if we should say this is a bug.

I'm not really sure if we should say this is a bug.

@Irongade as per my understanding this will confuse the customer, as when the Delete option appears again before the error message is displayed the customer will try to click on it again. Hence making it a frustrating UX.
What are your thoughts on this?

The video shows both happening at the same time, I can't see a lag between the message and the delete changing so I'm closing this


run main.py with dataset hhar

@yhhhli  When using the dataset hhar, the following error message appears:
TypeError: ufunc 'isnan' not supported for the input types, and the inputs could not be safely coerced to any supported types according to the casting rule ''safe''
Please help me with this. Thank you

Have you fixed the problem? I am currently having the same problem. Thanks!

Thank you for your reply! @jiany-ctrl


x/sys/unix: fchmodat2 will handle flags in Linux 6.6

The current go implementation of Fchmodat has some workarounds since the flags argument on Linux is ignored:
flags can be 0 or AT_SYMLINK_NOFOLLOW for POSIX
func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) {
	// Linux fchmodat doesn't support the flags parameter. Mimick glibc's behavior
	// and check the flags. Otherwise the mode would be applied to the symlink
	// destination which is not what the user expects.
	if flags&^AT_SYMLINK_NOFOLLOW != 0 {
		return EINVAL
	} else if flags&AT_SYMLINK_NOFOLLOW != 0 {
		return EOPNOTSUPP
	}
	return fchmodat(dirfd, path, mode)
}

There is a proposed patch that creates a new version of this syscall (fchmodat2) that handles the posix flag AT_SYMLINK_NOFOLLOW properly at the kernel level.
When made accessible in the release kernel, library implementations will be able to utilize it for their fchmodat() implementation, circumventing the need for existing workarounds.

Related to #20130

(CC @tklauser)

@tklauser Would be happy to work on it, if you don't mind

I don't see how to do this safely.  Usually we can try the system call and do something else if it fails, but that doesn't seem to work here.  Do we have to look at the kernel version to see whether the flags argument is supported?

I'm not aware of another way to handle this as well. There is not much detail on this yet but I imagine we could somehow check if fchmodat2 is available and then use it or rely on the kernel version.

Presumably we could call fchmodat2, and if it returns EINVAL or ENOSYS we could fall back to fchmodat.
(Although we would probably also have to deal with bad container implementations that return some bogus error like EPERM for new or unrecognized syscalls. 😩)

Sorry, I missed that it was an entirely new system call.  We can handle that.

Presumably we could call fchmodat2, and if it returns EINVAL or ENOSYS we could fall back to fchmodat.

Another option would be to only call fchmodat2 if flags != 0, or even better if there are only valid flags, i.e. flags&(AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) != 0 and continue using fchmodat for flags==0, something like:
func Fchmodat(dirfd int, path string, mode uint32, flags int) error {
        // Linux fchmodat doesn't support the flags parameter, but fchmodat2 does. Try fchmodat2
        // first, but only if flags are specified. If fchmodat2 is not available, mimick glibc's
        // behavior and check the flags. Otherwise the mode would be applied to the symlink
        // destination which is not what the user expects.
        if flags&^(AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) != 0 {
                return EINVAL
        } else if flags&(AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) != 0 {
                return fchmodat2(dirfd, path, mode, flags)
        }
        return fchmodat(dirfd, path, mode)
}

(Although we would probably also have to deal with bad container implementations that return some bogus error like EPERM for new or unrecognized syscalls. 😩)

That way the caller would have to deal with the bogus errors. Or we could just keep returning EOPNOTSUPP for any fchmodat2 error :thinking:

@tklauser Thanks for sending a CL, I forgot to update here but after CL538378 was merged we now have access to SYS_FCHMODAT2 in x/sys.
Regarding the implementation, I agree with your solution, seems to handle the corner cases properly.
I also found this patch for glibc to use fchmodat2, maybe we can reason about it for the implementation details.
I was also unable to find any man pages for fchmodat2, not sure if it was deliberately ommited, or there is just no man pages for it in the man-pages project.

Adding a note for reference.

(Although we would probably also have to deal with bad container implementations that return some bogus error like EPERM for new or unrecognized syscalls. 😩)
That way the caller would have to deal with the bogus errors.

I happened to run into exactly this during earlier WIP iterations of the upcoming linux/arm LUCI builder, and the problem was that the caller was TestFchmodat in the tree, which was failing due to EPERM being returned instead of EOPNOTSUPP:
=== RUN   TestFchmodat
    syscall_unix_test.go:780: Fchmodat: unexpected error: operation not permitted
--- FAIL: TestFchmodat (0.00s)

Fortunately, it's viable for the container on that builder to run with --security-opt=seccomp=unconfined, the same approach we've used in #35547, and that is enough to get it to return the expected EOPNOTSUPP and have the test pass without introducing other problems.


Bug/Question: Flipt Provider: Uncaught TypeError: import_events.EventEmitter is not a constructor

From our Discord: https://discord.com/channels/960634591000014878/1227377993513439372/1227377993513439372
A user is trying to use the Flipt OpenFeature JS provider in their Vue2/Vite front-end code.
When they import the provider lib :
// main.js
// ... other imports
import { FliptProvider } from '@openfeature/flipt-provider'

and run Vite, they end up with the following error in their dev console:
@openfeature_flipt-p…r.js?v=ffb64f91:838 Uncaught TypeError: import_events.EventEmitter is not a constructor
    at new OpenFeatureEventEmitter (@openfeature_flipt-p…s?v=ffb64f91:838:41)
    at new _OpenFeatureAPI (@openfeature_flipt-p…s?v=ffb64f91:887:40)
    at _OpenFeatureAPI.getInstance (@openfeature_flipt-p…s?v=ffb64f91:903:22)
    at @openfeature_flipt-p…s?v=ffb64f91:966:34

node version: v18.20.0

dependencies installed:
    "@openfeature/flipt-provider": "^0.1.0",
    "@openfeature/server-sdk": "^1.13.4",

Did we not implement something correctly in the Flipt Server Provider?

hi everyone ! 🙂
Short follow up on the topic: it seems like the flipt provider is not built to be used on a "browser" environment (as it relies on open-feature/server-sdk).
My resulting question is the following one: Is it planned to have a provider version based on openfeature/web-sdk instead of open-feature/server-sdk ? This would probably solve my issue if it is the case.
Have a nice day!
Aviran

Hey @avi-ran, yes that's the issue. In this case, the web SDK has a polyfill that simulates the eventing library in Node. It's worth noting that the web and server SDKs work fundamentally differently. You can read about it here.
Perhaps @markphelps could speak on any plans of creating a web provider. Perhaps Flipt would also be interested in adding support for the OpenFeature Remote Evaluation Protocol.

Hey @beeme1mr ! Yes I think we can definitely create an openfeature/web-sdk now as we just released our browser SDK
@avi-ran would you be interested in helping us create ^? if not no worries, just figured it might be nice to have someone who knows javascript/typescript better than me ;)

Also, @beeme1mr . I'd love to chat with you about OFREP at some point as im not sure I fully understand it yet

@markphelps sure, that would be great. I think OFREP would work well in Flipt. In a nutshell, it's an open api definition and provider implementations. That means you wouldn't need to build and maintain providers to have great OpenFeature support. This is especially useful for web and mobile use cases.

@avi-ran i pushed up the initial scaffolding of the OF flipt-web provider here: https://github.com/flipt-io/js-sdk-contrib/compare/main...flipt-io:js-sdk-contrib:flipt-web?expand=1
Now just need to implement it ;)

@avi-ran I have a PR up for the open feature Flipt web provider here: https://github.com/open-feature/js-sdk-contrib/pull/879


Item List Editor improvements

Item List Editor used to edit items of MenuButton should deserve some attention as in current state, I would rather use code. The biggest issue is that we aren't able to reorder items so any future change is impossible without deleting items and adding them back. Here are my ideas how to improve the editor. Feel free to suggest more.

[ ] Drag & Drop support *1
[ ] Collapsable items *2
[ ] Selection aware Add button *3
[ ] Item naming *4
[ ] Deleting selected item by Delete key
[ ] Populated items from code in tool mode can leak to scene (TODO - create a bug)

User is able to reorder items by drag & drop
Items can be collapsed in order to save space. When editor is opened, all items are collapsed. When new item is added, it's uncollapsed.
When Add button is used, new item is added under the selected item. Not at the end of the list.
Items can be named so the user knows what is what when all items are collapsed. Names are only hints in editor with no relation to PopupMenu API. Another option is to add content of text property next to the id.

The Item List Editor also appears to not be able to add submenu items (like with the add_submenu_item method). Maybe this should be added as well?

The current implementation uses an EditorInspector to show the item list. This makes it difficult to add custom functionality as described in this issue.
Points 1 and 3: D&D: EditorInspector is not designed to drag and drop groups or sections, nor select them as far as I can tell.
Point 2: Very easy. EditorInspector supports folding so this is literally one line of code.
Point 4: Again, the implementation is heavily tied to EditorInspector. The naming of categories and groups is tied to the property definitions and not their values from what I can tell.
I feel to do this it would need to drop the usage of EditorInspector. Modifying it to include the desired functionality would be possible, but it is already a big class and this functionality would not be needed in other places it is used.

Closing in favor of https://github.com/godotengine/godot-proposals/issues/368, https://github.com/godotengine/godot-proposals/issues/1975, https://github.com/godotengine/godot-proposals/issues/2355 and https://github.com/godotengine/godot-proposals/issues/2356, as feature proposals are now tracked on the Godot proposals repository.


add md pages to gatsby config

Closes: #999
Description
Add's DappArchitectures and NFT-drop-styles to Gatsby site config
Depends on #996 and #995

For contributor use:

[ ] Targeted PR against master branch
[ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
[ ] Updated relevant documentation
[ ] Re-reviewed Files changed in the Github PR explorer
[ ] Added appropriate labels

Screenshot preview

:


APP closes immediately on android phone when using KivyMD

Description of the Bug
When I send this app to my phone, when I request the "dialog exit" the app closes
immediately because of KivyMD, apparently because of the "radius" instance.
I had the same problem on the computer, but this was resolved with:
python3 -m pip install --force-reinstall git+https://github.com/HeaTTheatR/KivyMD.git

But now it happens on the cell phone, what should I do? It looks like the buildozer doesn't have KivyMD complete...
main.py
from kivymd.app import MDApp
from kivymd.uix.dialog import MDDialog

class Builder(MDApp):
    def build(self, *args):
        self.theme_cls.theme_style = 'Dark'

    def dialog_exit(self):
        self.dialog = MDDialog(
            text="Você quer sair?",
            size_hint=(0.50, 0.40),
            radius=[20, 7, 20, 7],
            )
        self.dialog.open()

Builder().run()

# builder.kv ...

buildozer android logcat | grep python
TypeError: object.init() takes exactly one argument (the instance to initialize)
ValueError: MDBottomNavigationHeader.width is above the maximum bound (168)
buildozer.spec
[app]

# (str) Title of your application
title = bug example

# (str) Package name
package.name = bug

# (str) Package domain (needed for android/ios packaging)
package.domain = org.example

# (str) Source code where the main.py live
source.dir = .

# (list) Source files to include (let empty to include all the files)
source.include_exts = py,png,jpg,kv,atlas

# (list) List of inclusions using pattern matching
#source.include_patterns = assets/*,images/*.png

# (list) Source files to exclude (let empty to not exclude anything)
#source.exclude_exts = spec

# (list) List of directory to exclude (let empty to not exclude anything)
#source.exclude_dirs = tests, bin

# (list) List of exclusions using pattern matching
#source.exclude_patterns = license,images/*/*.jpg

# (str) Application versioning (method 1)
version = 0.1

# (str) Application versioning (method 2)
# version.regex = __version__ = ['"](.*)['"]
# version.filename = %(source.dir)s/main.py

# (list) Application requirements
# comma separated e.g. requirements = sqlite3,kivy
requirements = python3, kivy, kivymd

# (str) Custom source folders for requirements
# Sets custom source for any requirements with recipes
# requirements.source.kivy = ../../kivy

# (list) Garden requirements
#garden_requirements =

# (str) Presplash of the application
#presplash.filename = %(source.dir)s/Icon.png

# (str) Icon of the application
#icon.filename = %(source.dir)s/Icon.png

# (str) Supported orientation (one of landscape, sensorLandscape, portrait or all)
orientation = portrait

# (list) List of service to declare
#services = NAME:ENTRYPOINT_TO_PY,NAME2:ENTRYPOINT2_TO_PY

#
# OSX Specific
#

#
# author = © Copyright Info

# change the major version of python used by the app
osx.python_version = 3

# Kivy version to use
osx.kivy_version = 1.11.1

#
# Android specific
#

# (bool) Indicate if the application should be fullscreen or not
fullscreen = 1

# (string) Presplash background color (for new android toolchain)
# Supported formats are: #RRGGBB #AARRGGBB or one of the following names:
# red, blue, green, black, white, gray, cyan, magenta, yellow, lightgray,
# darkgray, grey, lightgrey, darkgrey, aqua, fuchsia, lime, maroon, navy,
# olive, purple, silver, teal.
#android.presplash_color = #FFFFFF

# (list) Permissions
#android.permissions = INTERNET

# (int) Target Android API, should be as high as possible.
android.api = 29

# (int) Minimum API your APK will support.
android.minapi = 21

# (int) Android SDK version to use
#android.sdk = 20

# (str) Android NDK version to use
android.ndk = r21

# (int) Android NDK API to use. This is the minimum API your app will support, it should usually match android.minapi.
#android.ndk_api = 21

# (bool) Use --private data storage (True) or --dir public storage (False)
#android.private_storage = True

# (str) Android NDK directory (if empty, it will be automatically downloaded.)
android.ndk_path = /Users/felipe/Documents/MyProject/paths/android-ndk-r21

# (str) Android SDK directory (if empty, it will be automatically downloaded.)
#android.sdk_path =

# (str) ANT directory (if empty, it will be automatically downloaded.)
#android.ant_path =

# (bool) If True, then skip trying to update the Android sdk
# This can be useful to avoid excess Internet downloads or save time
# when an update is due and you just want to test/build your package
# android.skip_update = False

# (bool) If True, then automatically accept SDK license
# agreements. This is intended for automation only. If set to False,
# the default, you will be shown the license when first running
# buildozer.
# android.accept_sdk_license = False

# (str) Android entry point, default is ok for Kivy-based app
#android.entrypoint = org.renpy.android.PythonActivity

# (str) Android app theme, default is ok for Kivy-based app
# android.apptheme = "@android:style/Theme.NoTitleBar"

# (list) Pattern to whitelist for the whole project
#android.whitelist =

# (str) Path to a custom whitelist file
#android.whitelist_src =

# (str) Path to a custom blacklist file
#android.blacklist_src =

# (list) List of Java .jar files to add to the libs so that pyjnius can access
# their classes. Don't add jars that you do not need, since extra jars can slow
# down the build process. Allows wildcards matching, for example:
# OUYA-ODK/libs/*.jar
#android.add_jars = foo.jar,bar.jar,path/to/more/*.jar

# (list) List of Java files to add to the android project (can be java or a
# directory containing the files)
#android.add_src =

# (list) Android AAR archives to add (currently works only with sdl2_gradle
# bootstrap)
#android.add_aars =

# (list) Gradle dependencies to add (currently works only with sdl2_gradle
# bootstrap)
#android.gradle_dependencies =

# (list) add java compile options
# this can for example be necessary when importing certain java libraries using the 'android.gradle_dependencies' option
# see https://developer.android.com/studio/write/java8-support for further information
# android.add_compile_options = "sourceCompatibility = 1.8", "targetCompatibility = 1.8"

# (list) Gradle repositories to add {can be necessary for some android.gradle_dependencies}
# please enclose in double quotes
# e.g. android.gradle_repositories = "maven { url 'https://kotlin.bintray.com/ktor' }"
#android.add_gradle_repositories =

# (list) packaging options to add
# see https://google.github.io/android-gradle-dsl/current/com.android.build.gradle.internal.dsl.PackagingOptions.html
# can be necessary to solve conflicts in gradle_dependencies
# please enclose in double quotes
# e.g. android.add_packaging_options = "exclude 'META-INF/common.kotlin_module'", "exclude 'META-INF/*.kotlin_module'"
#android.add_gradle_repositories =

# (list) Java classes to add as activities to the manifest.
#android.add_activities = com.example.ExampleActivity

# (str) OUYA Console category. Should be one of GAME or APP
# If you leave this blank, OUYA support will not be enabled
#android.ouya.category = GAME

# (str) Filename of OUYA Console icon. It must be a 732x412 png image.
#android.ouya.icon.filename = %(source.dir)s/data/ouya_icon.png

# (str) XML file to include as an intent filters in <activity> tag
#android.manifest.intent_filters =

# (str) launchMode to set for the main activity
#android.manifest.launch_mode = standard

# (list) Android additional libraries to copy into libs/armeabi
#android.add_libs_armeabi = libs/android/*.so
#android.add_libs_armeabi_v7a = libs/android-v7/*.so
#android.add_libs_arm64_v8a = libs/android-v8/*.so
#android.add_libs_x86 = libs/android-x86/*.so
#android.add_libs_mips = libs/android-mips/*.so

# (bool) Indicate whether the screen should stay on
# Don't forget to add the WAKE_LOCK permission if you set this to True
#android.wakelock = False

# (list) Android application meta-data to set (key=value format)
#android.meta_data =

# (list) Android library project to add (will be added in the
# project.properties automatically.)
#android.library_references =

# (list) Android shared libraries which will be added to AndroidManifest.xml using <uses-library> tag
#android.uses_library =

# (str) Android logcat filters to use
#android.logcat_filters = *:S python:D

# (bool) Copy library instead of making a libpymodules.so
#android.copy_libs = 1

# (str) The Android arch to build for, choices: armeabi-v7a, arm64-v8a, x86, x86_64
android.arch = armeabi-v7a

#
# Python for android (p4a) specific
#

# (str) python-for-android fork to use, defaults to upstream (kivy)
#p4a.fork = kivy

# (str) python-for-android branch to use, defaults to master
#p4a.branch = master

# (str) python-for-android git clone directory (if empty, it will be automatically cloned from github)
#p4a.source_dir =

# (str) The directory in which python-for-android should look for your own build recipes (if any)
#p4a.local_recipes =

# (str) Filename to the hook for p4a
#p4a.hook =

# (str) Bootstrap to use for android builds
# p4a.bootstrap = sdl2

# (int) port number to specify an explicit --port= p4a argument (eg for bootstrap flask)
#p4a.port =

#
# iOS specific
#

# (str) Path to a custom kivy-ios folder
#ios.kivy_ios_dir = ../kivy-ios
# Alternately, specify the URL and branch of a git checkout:
ios.kivy_ios_url = https://github.com/kivy/kivy-ios
ios.kivy_ios_branch = master

# Another platform dependency: ios-deploy
# Uncomment to use a custom checkout
#ios.ios_deploy_dir = ../ios_deploy
# Or specify URL and branch
ios.ios_deploy_url = https://github.com/phonegap/ios-deploy
ios.ios_deploy_branch = 1.7.0

# (str) Name of the certificate to use for signing the debug version
# Get a list of available identities: buildozer ios list_identities
#ios.codesign.debug = "iPhone Developer: <lastname> <firstname> (<hexstring>)"

# (str) Name of the certificate to use for signing the release version
#ios.codesign.release = %(ios.codesign.debug)s

[buildozer]

# (int) Log level (0 = error only, 1 = info, 2 = debug (with command output))
log_level = 2

# (int) Display warning if buildozer is run as root (0 = False, 1 = True)
warn_on_root = 1

# (str) Path to build artifact storage, absolute or relative to spec file
# build_dir = ./.buildozer

# (str) Path to build output (i.e. .apk, .ipa) storage
# bin_dir = ./bin

#    -----------------------------------------------------------------------------
#    List as sections
#
#    You can define all the "list" as [section:key].
#    Each line will be considered as a option to the list.
#    Let's take [app] / source.exclude_patterns.
#    Instead of doing:
#
#[app]
#source.exclude_patterns = license,data/audio/*.wav,data/images/original/*
#
#    This can be translated into:
#
#[app:source.exclude_patterns]
#license
#data/audio/*.wav
#data/images/original/*
#

#    -----------------------------------------------------------------------------
#    Profiles
#
#    You can extend section / key with a profile
#    For example, you want to deploy a demo version of your application without
#    HD content. You could first change the title to add "(demo)" in the name
#    and extend the excluded directories to remove the HD content.
#
#[app@demo]
#title = My Application (demo)
#
#[app:source.exclude_patterns@demo]
#images/hd/*
#
#    Then, invoke the command line with the "demo" profile:
#
#buildozer --profile demo android debug

Versions

OS: Mac High Sierra 10.13.6
Python: 3.7.6
Kivy: 1.11.1
KivyMD: 0.104.0

@Felipe738743872 requirements = kivy==1.11.1, git+https://github.com/HeaTTheatR/KivyMD.git

That's right? It takes a long time to create the apk and the apk is very heavy, when sending to the phone it also takes a long time.

Is there another faster and lighter method? Using:
requirements = git+https://github.com/HeaTTheatR/KivyMD.git

It takes a LOT of time to create the apk and send it to the phone :(

@Felipe738743872 I don’t understand how KivyMD relates to what you write.

requirements = git+https://github.com/HeaTTheatR/KivyMD.git it takes a long time to create the apk and it takes much longer to send to the phone ...
Is there another way to make the full KivyMD work on the phone?

@Felipe738743872 KivyMD is a Kivy. Therefore, the question you ask about the speed of creating the application is not related to KivyMD.

Okay, but why isn't requirements = kivymd sufficient?

@Felipe738743872 Because in the first case, you install the package from PyPi, and in the second, you download the repository.

When you use requirements = git + https: //github.com/HeaTTheatR/KivyMD.git it takes how long for you to create the apk? And to send?

30-40 min

Using requirements = python3, kivy, kivymd, plyer
create apk debug = 45:14 minutes
buildozer deploy run = 11 seconds
################
Using requirements = python3, kivy, kivymd, plyer<EMAIL_ADDRESS>create apk debug = 01:06:090 hour
buildozer deploy run = 19:37 minutes
################
I'm sure this is not normal, now you understand?
What would you do?

I think it's important to say that the problem is not the internet, nor the size of the application, I don't understand why your KivyMD takes so long.

The question is closed!

I think the work u guys are doing is very difficult but for the app to be popular try fixing a lot of bugs like track.js or kotlin

It happen to me too😔


Wrong largest city name for some locations

    console.log(worldcities.getNearestLargeCity(44.429, 26.148));

This prints:
City {
  latitude: 44.4234,
  longitude: 26.16874,
  name: 'Sector 3',
  population: 385439,
  timezone: 'Europe/Bucharest',
  country: Country {
    areaSquareMeters: 237500,
    callingCode: '40',
    capital: 'Bucharest',
    continent: 'EU',
    countryCode: 'RO',
    countryCode3: 'ROU',
    currencyCode: 'RON',
    currencyName: 'Leu',
    languages: [ 'ro', 'hu', 'rom' ],
    name: 'Romania',
    neighbors: [ 'MD', 'HU', 'UA', 'BG', 'RS' ],
    population: 19473936,
    postalCodeRegExp: '^(\\d{6})$',
    tld: '.ro',
    wikipedia: 'Romania',
    geoJSON: undefined,
    flagSVG: undefined
  }
}

However, "Sector 3" is not a city but a district within Bucharest (a division of the city - there are Sectors between 1-6).
The granularity is good, it's nice that it goes that deep within the city. But I wonder if it's possible to also return that it's part of Bucharest somehow.

Oh wow, interesting find, thanks! That is how it is labelled in the underlying datasets from GeoNames.
Given there may be more cases like this, I think it makes sense to add an additional step to the build process, right now it is:
Pull Data -> Parse -> Convert -> Export
I will add a step so that it's like this:
Pull Data -> Parse -> Convert -> Apply Corrections -> Export
Would it work to change these labels so the city name is "Bucharest", and add an additional, optional key like
"district": "Sector 3"
?

Well, I noticed that the population is also that of Sector 3 (as Bucharest has 2 million+).
So maybe something like this would be better:
name: "Bucharest",
population: 12345678,
district: {
  name: "Sector 3",
  population: 385439
}

Good call, I'll whip up a change to handle these cases.


Cannot create attestation for future slot errors

Description
Investigate why the beacon node time updates lag behind sometimes and cause attestation failures with "Cannot create attestation for future slot" error messages.

I am getting about 5 of these every day now

Worth noting here that the most common causes of this are 1) having a -Xmx set too low which causes Java to spend most of it's time running GC (-Xmx5g is generally recommended but feel free to ask for advice on discord for your specific setup), or 2) having contention on disk IO - particularly common with the merge coming up and a lot of people syncing an EL on the same machine.
So one part of reducing this is moving to async storage updates (#1934) which work is in progress on. There are likely other areas that could be optimised as well. Would be good to get multiple parallel investigations going into the different aspects of this.

Also saw this post-merge. I'm running Besu, Teku BN and Teku Validator as separate processes. BN has -Xmx6g, no old-gen gcs or cpu spikes showing in prometheus monitoring for any of the processes and it's running on a NVMe drive so there shouldn't be IO issues (in theory). There's various discussion with logs and screenshots in Discord at around 15th Sept 09:55 UTC.  Is there a way of gathering useful debug logs from leveldb2, if that is the likely contender for I/O spikes?

This is happening to me constantly post-merge (but didn't happen at all pre). Happy to provide any logs necessary to help rectify!

This is happening to me constantly post-merge (but didn't happen at all pre). Happy to provide any logs necessary to help rectify!

@EvilJordan A user reporting similar situation seemed to solve by deleting the db and starting from a checkpoint sync.
Can you do that? let us know if you need instructions.

Deleting Teku's db, right? Would love some expert-guidance so I don't screw it up!

@EvilJordan https://discord.com/channels/697535391594446898/697539289042649190
reach me out on discord: tbenr#2593

I'd be somewhat cautious about starting from a fresh checkpoint sync for a couple of reasons. It will need to download the historic blocks in the background which increases disk IO (and load on other peers in the network which can add up if a lot of nodes do this resync at once).  It also means that initially you'll have a much smaller database but it will gradually grow to the same size again so it may be a temporary solution and then actually make things worse as the database gets close to full size but the historic blocks are still being downloaded.

Running into the same problem, post merge. No Issues prior.

This is happening to me constantly post-merge (but didn't happen at all pre). Happy to provide any logs necessary to help rectify!

So, post db-re-do and adding: -eth1-deposit-contract-max-request-size=1000 to the teku configs, this particular issue has gone away. Not sure if, like Adrian says, it's a temporary fix until the db grows, though.
I have a host of other issues, all stemming from Besu, however, that the team is aware of (timeouts and empty blocks).

Not seeing any of the future slot logs nor any other warnings but am seeing reduced attestation performance.

Tried -eth1-deposit-contract-max-request-size=1000 as above and it made the problem MUCH worse, more than half of attestations "future slot" issue

@back-87 If you really want to live dangerously, and since you're already running HEAD, we have been working on an optimisation to take database updates off of the critical path and we're in the process of evaluating if that will help in this case.  You can enable it with --Xdata-storage-async-enabled.  Please make sure you have slashing protection enabled - by not waiting for database updates to be written to disk it's possible that after an unclean shutdown you'll start up with the beacon chain having effectively rolled back a few blocks and that may lead to surround votes. Slashing protection will keep you safe and is definitely always required but it's just that tiny bit more likely to be required with this flag enabled.
And for anyone reading on, this is definitely not a recommended thing to do unless you're confident in your ability to rollback Teku and potentially do a fresh resync of the database (checkpoint sync is fine).  But if you do try it please do let us know how it works for you.

@ajsutton
have Xdata-storage-async-enabled: true    in the yaml. Didn't see anything logged to indicate it's active, but assuming it is.
Will let you know if I see any more misses due to "future epoch".
I certainly do have slashing protection enabled.

@ajsutton 3 hours and not a single instance, I was getting misses due to this error more regularly than that before enabling Xdata-storage-async-enabled. I'll update in the morning (ET) to be certain.

Great to hear. Thank you for your help testing. We've been seeing good results on our nodes too and have a couple of other improvements we've just merged as well. Continuing to monitor as we don't want to rush something out that then causes people more issues.

@ajsutton Confirmed, over 12 hours and not a single "future slot" exception. That arg certainly makes a significant positive difference for this issue. I'll leave it active until this issue is resolved and I've updated to a commit containing the fix for it.
Thanks for all the hard work from the Teku team!

@ajsutton I know a fix is in the RC, but just to increase confidence: 24 hours now not a single miss due to "future slot" exception. The hypothesis is on point.
I'm thinking of recompiling from HEAD and removing that arg (sounds like RC has the fix based on discord messages).
Well done!

Yep the latest head has that arg defaulted to on (arg still exists so it can be toggled off if need be but we'll remove it soon).
Thanks for your help testing this and giving feedback. Very glad it's helping.

This solved my missed attestations as well. Thanks!

closing since most of the problems has been solved by async storage


✨ Timer

Summary
Adds a timer class
Motivation
There are multiple instances in the codebase where a timeout is used. For example, the PID exit conditions and movement timeouts. Having to implement timer-like logic every time makes the code less readable and harder to maintain.
Test Plan

[X] test all Timer member functions on a robot

Tested. LGTM


sh: 1: nodemon: not found?

i already run npm install, and it success.
then,cd todo and npm run dev.
but i got this:
sh: 1: nodemon: not found
npm ERR!   This is most likely a problem with the flux-example-todo package,
npm ERR! not with npm itself.
npm ERR!  You can get their info via:
npm ERR!     npm owner ls flux-example-todo
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:
npm ERR!     /home/jc/project/flux-examples/todo/npm-debug.log

ubuntu 12.04,x64.
node v4.0.0

use npm install nodemon --save


Provide access to endpoint in zafira-client to add known issues (JIRA)

We have a case where we would like to add issues during test execution. For example, if some assertion fails --> create ticket in Jira via code --> and attach as known issue.

Moved the issue to zafira-client https://github.com/qaprosoft/zafira-client/issues/11


Add composer plugins to installation guide

Package required composer/installers and oomphinc/composer-installers-extender plugins

Does it worth doing so? In application templates we have these and in case of interactive installation, it's being asked about by composer itself.

@samdark Yes, simply here https://github.com/yiisoft/yii-bootstrap5/pull/128 ?

For me, this solves the problem.


optionsBuilder UseSqlite

Please can I use optionsBuilder.UseSqlite with password.

The official build of SQLite doesn't support passwords or encryption. They require a custom build.
You should still be able to use passwords by issuing PRAGMA key = 'P@ssw0rd'


Infer repoUri from current repo

Currently you need to provide an repoUri, which is cloned, changed, committed, and pushed back to the remote.
Would it be possible to do all this, locally, based on the local repository the gradle build is executed in. Maybe separating the generating from the publishing of the gh-pages branch.
How would I (want) to see this work?

Make repoUri optional, which by-default uses the local repository directory
Add a new task named something like generateGhPages or buildGhPages, which only:

Clone the repository from local to workingPath (like it currently does with the clone from repoUri, but then from local)
Creates the wanted targetBranch
Executes the pages CopySpec to generate/build the targetBranch content

Change the current publishGhPages task to:

Depend on the generateGhPages task
To only publish to the remote repo
To infer the remote repo from the local repository' origin remote config

Maybe an inferRepoUri or useLocalRepo option would be useful and/or less magical for users.

This would make the plugin:

even easier to use (less to configure == easier :smile:)
not bind the gradle configuration to the github repository, which possibly interfere' with forking. As forker it would be nice to be able to test the *ghPages tasks without needing push access on the upstream remote repository

Or is there a technical reason that the repoUri is currently not optional and/or inferred?

I haven't tried either of these, but I think there are a couple complications:

Cloning from local is fine for testing, but it would cause problems if it was part of the general process. If your local gh-pages branch is up to date with the remote, your push would fail.
Inferring the remote either needs to make assumptions about where the local repository is in your project or ask for that location.

I like the general idea, particularly breaking this into two tasks. Even if you didn't do the local piece, you could just run generateGhPages (maybe prepareGhPages?) and inspect that repository's status. If that would be common enough of a use case, there could be a task to print out the status of that repo after the generateGhPages. I definitely think the plugin should infer the remote, but that might fit better into a broader redesign of the gh-pages plugin.
What do you think?

Sounds good, keep changes small. This would make the following steps:

Split publishGhPages into two tasks, prepareGhPages and publishGhPages
Implement cloning from local, for testing purposes. dryRun?
Try to implement remote infer from origin without broader redesign of the gh-pages plugin. As origin is probably the most common use-case. And let see how that works

I will try to get this implemented

For each of those steps:

Yep.
Do you need a standard "clone from local" option if you could just run generateGhPages and see what you changed in the branch? This could run against the remote and wouldn't be able to break anything since the push didn't happen yet. Maybe a dryRunGhPages that runs generateGhPages and then prints out the status of the repo if more info is needed?
It might be worth coming up with some interface ideas for this one before spending too much time on it. Inference has the danger of making too many assumptions and/or not being flexible enough.

Thanks for contributing!

@ajoberstar in 2a8f579 I've started implementing this. I've started with the splitting of the prepareGhPages and publishGhPages. This is all good and well, it works, but somehow I don't see the prepareGhPages task in the tasks list...
Do you have an idea why the prepareGhPages task is not shown in the tasks list of a project using this version of the plugin? Running gradlew -m publishGhPages does show the prepareGhPages task as to-be-executed before the publishGhPages task.
Any clue is appreciated :smile:

Have you tried gradlew tasks --all? I think Gradle hides some tasks by default.

A correct, thanks. Came across the following, where Peter explains the logic:
http://forums.gradle.org/gradle/topics/getting_custom_plugin_tasks_to_be_listed_when_gradle_tasks_is_called#reply_8122281

The logic is the same for all tasks, whether they are declared in a build script or added by a plugin. A task will show up in gradle tasks if no other task depends on it or the task has a value set for its group property. gradle tasks --all will show all tasks.

Cool, then step 1 is fully implemented now :smile:

Split publishGhPages into two tasks, prepareGhPages and publishGhPages

@ajoberstar How do you want to do this? A PR for each step? Or all at once?

Let's go with separate PRs.

ok, then this is the PR for step 1 :smile:
@ajoberstar Can you review?

Hmm.. not seeing any active PRs. Let me know when its up and I can take a look.

@ajoberstar sorry, must have been sleepy. The PR is now created as #109

Hey @pvdissel, since there hasn't been any activity on this, I'm going to close it for now. Feel free to reopen if you want to pursue any other aspects of this issue.

Hmm, sorry. I've totally forgotten about this one. Will reopen it again when I come to it


fix | android overlay component does not cover statusbar

Summary
When the modal and the overlay component were shown, the background did not cover the status bar. Suppose the status bar color is white. It looks a little ugly.
Changelog

[General] [Fixed] - Fix android overlay component does not cover statusbar
Test Plan

Hi @helloworld-Andrew, Thanks for your contribution ❤