Extra rows are being considered while decoding the range.

Hi,
Schedule 4_EN.xlsx
After execution of the following statement : var range = XLSX.utils.decode_range(sheet['!ref']); , I am getting range.e.r as 1312 whereas I have filled only two rows. Could anyone please explain how can I count the numbers of rows only in which the data is filled and not the extra rows.
Thanks

Hi,
Can someone please help me out with this? This has been a blocker for my application.
Please Help.

I got same issue, I was uploading a xlsx file with 5 rows, then I edited cause I wanted upload only 2 rows (I erased manually the others cells) but I was getting a json object with empty propertys of those old rows.

Have the same issue. XLSX file with 5 rows and 15 columns but ref! is defined as A1:AMJ1048576. XLSX.utils.sheet_to_json() executes until app runs out of memory :(

Hi,
I looked at your example excel file and it looks like you're working on parsing the same excel file as me. In my case, it was a case where I wanted to import an Excel file as a column rather than a row and put it in an array. I was able to solve it this way. I hope my code helps!
`const file = event.target.files[0];
const reader = new FileReader();
reader.onload = () => {
const data = reader.result;
const workBook = XLSX.read(data, { type: "binary" });
workBook.SheetNames.forEach(sheetName => {
const row = XLSX.utils.sheet_to_json(workBook.Sheets[sheetName], {
header: 1
});
      const result = row.filter(el => el.length > 0);

      this.xlsxData = row.slice(1, result.length);

      this.xlsxData.map((obj, id, key) => {
      // number of rows
        for (let i = 0; i < 5; i++) {
          if (obj[i]) {
            this.categoryStock.push(
              Object.assign({
                in your code: obj[i]
              })
            );
          }
        }
      });
    });
  };

`

There are stub cells in later rows.  For example row 431 XML is
    <row r="431" spans="1:6" customFormat="1" x14ac:dyDescent="0.25">
      <c r="A431" s="2"/>
      <c r="B431" s="2"/>
      <c r="C431" s="2"/>
      <c r="D431" s="2"/>
      <c r="E431" s="2"/>
      <c r="F431" s="3"/>
    </row>

If you want to count the rows that have data, @9bin08 has the right idea (scan the worksheet for the rows of interest).
@jannolii That is a different issue, please follow #1601 for updates

Hello,
It seems that I'm having the same issue.
The worksheet I'm having trouble with is only composed of 5 rows.
However it seems that they that are hundred of thousands of empty rows/cells.
I've found a workaround to clean the spreadsheet manually using [](https://www.libreofficehelp.com/how-to-delete-blank-rows-in-libreoffice-calc-sheet/
However, I can't find another way to it programmatically

The range is A1:D1048576.  You can programmatically write back by editing the worksheet range .e.r key and then setting the worksheet range in reverse:
worksheetRange.e.r = 4; // SheetJS 4 = Excel 5
worksheet["!ref"] = XLSX.utils.encode_range(worksheetRange);

The more general question is in issue #1601


Block policy is not enforcing as expected

Bug Report

General Information

Environment: GKE
Kernel version (run uname -a):

Linux cs-891809400264-default-boost-p5lbm 5.10.68+ #1 SMP Wed Dec 1 10:07:21 UTC 2021 x86_64 GNU/Linux

Orchestration system version in use (e.g. kubectl version, ...)

Server Version: version.Info{Major:"1", Minor:"21", GitVersion:"v1.21.5-gke.1302", GitCommit:"639f3a74abf258418493e9b75f2f98a08da29733", GitTreeState:"clean", BuildDate:"2021-10-21T21:35:48Z", GoVersion:"go1.16.7b7", Compiler:"gc", Platform:"linux/amd64"}

Target : pods

To Reproduce

Deploy Sample Application

kubectl apply -f https://raw.githubusercontent.com/accuknox/microservices-demo/main/release/kubernetes-manifests.yaml

Apply Policy to block access to /etc/passwd of frontend pod from server

apiVersion: security.kubearmor.com/v1
kind: KubeArmorPolicy
metadata:
  name: block-passwd-frontend
  namespace: default # Change your namespace
spec:
  message: "Accessed passwd file using web"
  selector:
    matchLabels:
      app: frontend # use your own labels
  file:
    severity: 5
    matchPaths:
    - path: /etc/passwd
      fromSource:
      - path: /src/server # change with your frontend entrypoint
    action: Block

Goto External_IP/lfi?file=/../../../etc/passwd

$ kubectl get svc | grep frontend
frontend                ClusterIP      <IP_ADDRESS>    <none>          80/TCP                        48s
frontend-external       LoadBalancer   <IP_ADDRESS>   <IP_ADDRESS>   80:32383/TCP,8080:31393/TCP   47s

URL
http://<IP_ADDRESS>/lfi?file=/../../../etc/passwd

Expected behavior
Permission Denied Shown in UI
Action: Block and Result: Permission Denied in kubearmor logs
Current behavior
/etc/passwd file shown in UI
Action: Block and Result: Passed in kubearmor logs
Logs
karmor log
== Alert / 2021-12-27 06:42:29.799162 ==
Cluster Name: Default
Host Name: gke-cluster-1-default-pool-840bc104-8fr7
Namespace Name: default
Pod Name: frontend-7556575bcc-5rwqg
Container ID: 7feac4cd3fb82558a547232a9d8d6940e3608cfe7d624cab5377b93af7a90820
Container Name: server
Policy Name: block-passwd-frontend
Severity: 5
Message: Accessed passwd file using web
Type: MatchedPolicy
Source: server
Operation: File
Resource: /etc/passwd
Data: syscall=SYS_OPENAT fd=-100 flags=/../../../etc/passwd
Action: Block
Result: Passed

karmor sysdump

I think the problem here is relative file access of /etc/passwd ... In the policy there is absolute file path specified but when the access is attempted, a relative path is used. This is a problem. CC @nam-jaehyun

So it is auditing file access from UI(server) correctly. Like I m getting logs only when the file access occurred from the web(server).
Yes. If I enforce a rule like this.
file:
    severity: 5
    matchPaths:
    - path: /etc/passwd
#      fromSource:
#      - path: /src/server # change with your frontend entrypoint
    action: Block

Then I m getting the result. Here it also blocks relative file access.

root@frontend-7556575bcc-xrwkf:/src# cat /etc/passwd
cat: /etc/passwd: Permission denied
root@frontend-7556575bcc-xrwkf:/src#

@salman-accuknox it means that /src/server may not be the subject that accesses /etc/passwd.
/src/server may just receives some outputs from other processes (e.g., shells).

@nam-jaehyun Okay. But /src/server is initiating that right? Also, I m getting server in the source field also.

This seems to be an invalid issue. Closing it since it has been dormant for long.


feat: add TLS integration to the NMS

Description
After integrating with TLS certificates interface, the NMS is served on https. This PR updates the address used to reach the NMS on the integration tests.
Checklist:

[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have made corresponding changes to the documentation
[ ] I have added tests that validate the behaviour of the software
[ ] I validated that new and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules
[ ] I have bumped the version of the library

Pydantic validation errors happens:
unit-self-signed-certificates-0: 2024-11-19 09:16:30 DEBUG jujuc running hook tool "relation-ids" for self-signed-certificates/0-certificates-relation-changed-0b9e87ce7834d07361adc929de957e94
unit-nms-0: 2024-11-19 09:16:30 DEBUG jujuc running hook tool "juju-log" for nms/0-auth_database-relation-joined-b049f3e28dbfe4ea50140b82abea5be6
unit-nms-0: 2024-11-19 09:16:30 DEBUG unit.nms/0.juju-log auth_database:31: Emitting Juju event auth_database_relation_joined.
unit-traefik-0: 2024-11-19 09:16:30 DEBUG jujuc running hook tool "juju-log" for traefik/0-ingress-relation-created-2939c7cf43e87b8f1e01b821055e9525
unit-traefik-0: 2024-11-19 09:16:30 ERROR unit.traefik/0.juju-log ingress:44: Uncaught exception while in charm code:
Traceback (most recent call last):
  File "./src/charm.py", line 1199, in <module>
    main(TraefikIngressCharm, use_juju_for_storage=True)
  File "/var/lib/juju/agents/unit-traefik-0/charm/venv/ops/main.py", line 548, in main
    manager.run()
  File "/var/lib/juju/agents/unit-traefik-0/charm/venv/ops/main.py", line 527, in run
    self._emit()
  File "/var/lib/juju/agents/unit-traefik-0/charm/venv/ops/main.py", line 516, in _emit
    _emit_charm_event(self.charm, self.dispatcher.event_name)
  File "/var/lib/juju/agents/unit-traefik-0/charm/venv/ops/main.py", line 147, in _emit_charm_event
    event_to_emit.emit(*args, **kwargs)
  File "/var/lib/juju/agents/unit-traefik-0/charm/venv/ops/framework.py", line 348, in emit
    framework._emit(event)
  File "/var/lib/juju/agents/unit-traefik-0/charm/venv/ops/framework.py", line 860, in _emit
    self._reemit(event_path)
  File "/var/lib/juju/agents/unit-traefik-0/charm/venv/ops/framework.py", line 950, in _reemit
    custom_handler(event)
  File "/var/lib/juju/agents/unit-traefik-0/charm/lib/charms/tempo_k8s/v1/charm_tracing.py", line 548, in wrapped_function
    return callable(*args, **kwargs)  # type: ignore
  File "/var/lib/juju/agents/unit-traefik-0/charm/lib/charms/traefik_k8s/v2/ingress.py", line 461, in _handle_relation
    self.on.data_provided.emit(  # type: ignore
  File "/var/lib/juju/agents/unit-traefik-0/charm/venv/ops/framework.py", line 348, in emit
    framework._emit(event)
  File "/var/lib/juju/agents/unit-traefik-0/charm/venv/ops/framework.py", line 860, in _emit
    self._reemit(event_path)
  File "/var/lib/juju/agents/unit-traefik-0/charm/venv/ops/framework.py", line 950, in _reemit
    custom_handler(event)
  File "/var/lib/juju/agents/unit-traefik-0/charm/lib/charms/tempo_k8s/v1/charm_tracing.py", line 548, in wrapped_function
    return callable(*args, **kwargs)  # type: ignore
  File "./src/charm.py", line 675, in _handle_ingress_data_provided
    self._process_ingress_relation(event.relation)
  File "/var/lib/juju/agents/unit-traefik-0/charm/lib/charms/tempo_k8s/v1/charm_tracing.py", line 548, in wrapped_function
    return callable(*args, **kwargs)  # type: ignore
  File "./src/charm.py", line 754, in _process_ingress_relation
    self._provide_ingress(relation, provider)  # type: ignore
  File "/var/lib/juju/agents/unit-traefik-0/charm/lib/charms/tempo_k8s/v1/charm_tracing.py", line 548, in wrapped_function
    return callable(*args, **kwargs)  # type: ignore
  File "./src/charm.py", line 878, in _provide_ingress
    config = config_getter(relation)
  File "/var/lib/juju/agents/unit-traefik-0/charm/lib/charms/tempo_k8s/v1/charm_tracing.py", line 548, in wrapped_function
    return callable(*args, **kwargs)  # type: ignore
  File "./src/charm.py", line 942, in _get_configs_per_app
    ipa.publish_url(relation, external_url)
  File "/var/lib/juju/agents/unit-traefik-0/charm/lib/charms/tempo_k8s/v1/charm_tracing.py", line 548, in wrapped_function
    return callable(*args, **kwargs)  # type: ignore
  File "/var/lib/juju/agents/unit-traefik-0/charm/lib/charms/traefik_k8s/v2/ingress.py", line 552, in publish_url
    IngressProviderAppData(ingress=ingress_url).dump(relation.data[self.app])  # type: ignore
  File "/var/lib/juju/agents/unit-traefik-0/charm/venv/pydantic/main.py", line 176, in __init__
    self.__pydantic_validator__.validate_python(data, self_instance=self)
pydantic_core._pydantic_core.ValidationError: 1 validation error for IngressProviderAppData
ingress.url
  Input should be a valid URL, invalid IPv4 address [type=url_parsing, input_value='http://sdcore-nms.<IP_ADDRESS>/', input_type=str]
    For further information visit https://errors.pydantic.dev/2.7/v/url_parsing
unit-self-signed-certificates-0: 2024-11-19 09:16:30 DEBUG jujuc running hook tool "relation-list" for self-signed-certificates/0-certificates-relation-changed-0b9e87ce7834d07361adc929de957e94

It's unrelated. That's just Traefik. It's supposed to be fixed in the new release, but it's not yet in stable.


Update PPP and User docs

Codecov Report

Merging #256 (8199cd9) into master (88428b0) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #256   +/-   ##
=========================================
  Coverage     76.62%   76.62%
  Complexity      993      993
=========================================
  Files           140      140
  Lines          2648     2648
  Branches        356      356
=========================================
  Hits           2029     2029
  Misses          535      535
  Partials         84       84

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 88428b0...8199cd9. Read the comment docs.

LGTM

i think you might need to change the ppp file name to your_github_username.md


Unavailable secondary objects

list_status and ranking objects are unavailable in their respective functions, only AnimeObject, MangaObject or Node are parsed

Both list_status and ranking are now visible as attributes of Manga and Anime classes


Add example of lit query adapter

This is just a draft PR to follow up on the discussion I started a while ago here: https://github.com/TanStack/query/discussions/6390

Hello! Thanks a lot for attempting to bridge Lit and Tanstack Query.
I tried to make this works locally, just to see.
Small PR for fixing build: https://github.com/Gabswim/query/pull/1
And some whitespace tests issues:
 ✓ |@tanstack/lit-query| src/__tests__/queryClientHelper.test.ts (4)
 ❯ |@tanstack/lit-query| src/__tests__/QueryController.test.ts (4)
   ❯ QueryController (4)
     ✓ pending (1)
     ✓ error (1)
     ❯ success (1)
       × should set into success state (retry x3)
     ❯ success with different todoId (1)
       × should set new todo when property is updated (retry x3)

⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Failed Tests 2 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯

 FAIL  |@tanstack/lit-query| src/__tests__/QueryController.test.ts > QueryController > success > should set into success state
 FAIL  |@tanstack/lit-query| src/__tests__/QueryController.test.ts > QueryController > success > should set into success state
 FAIL  |@tanstack/lit-query| src/__tests__/QueryController.test.ts > QueryController > success > should set into success state
 FAIL  |@tanstack/lit-query| src/__tests__/QueryController.test.ts > QueryController > success > should set into success state
AssertionError: expected '\n      userId: 1, id: 1, title: My f…' to be 'userId: 1, id: 1, title: My first tod…' // Object.is equality

- Expected
+ Received

- userId: 1, id: 1, title: My first todo, completed: false
+
+       userId: 1, id: 1, title: My first todo, completed: false
+

 ❯ src/__tests__/QueryController.test.ts:51:49
     49|
     50|       const { userId, id, title, completed } = A_TODO
     51|       expect(getNodeFor('div', el).textContent).toBe(
       |                                                 ^
     52|         `userId: ${userId}, id: ${id}, title: ${title}, completed: ${complete…
     53|       )

⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/8]⎯

 FAIL  |@tanstack/lit-query| src/__tests__/QueryController.test.ts > QueryController > success with different todoId > should set new todo when property is updated
 FAIL  |@tanstack/lit-query| src/__tests__/QueryController.test.ts > QueryController > success with different todoId > should set new todo when property is updated
 FAIL  |@tanstack/lit-query| src/__tests__/QueryController.test.ts > QueryController > success with different todoId > should set new todo when property is updated
 FAIL  |@tanstack/lit-query| src/__tests__/QueryController.test.ts > QueryController > success with different todoId > should set new todo when property is updated
AssertionError: expected '\n      userId: 1, id: 1, title: My f…' to be 'userId: 1, id: 1, title: My first tod…' // Object.is equality

- Expected
+ Received

- userId: 1, id: 1, title: My first todo, completed: false
+
+       userId: 1, id: 1, title: My first todo, completed: false
+

 ❯ src/__tests__/QueryController.test.ts:69:49
     67|
     68|       const { userId, id, title, completed } = A_TODO
     69|       expect(getNodeFor('div', el).textContent).toBe(
       |                                                 ^
     70|         `userId: ${userId}, id: ${id}, title: ${title}, completed: ${complete…
     71|       )

⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[2/8]⎯

 Test Files  1 failed | 1 passed (2)
      Tests  2 failed | 6 passed (8)
Type Errors  no errors
   Start at  16:14:19
   Duration  1.94s (transform 381ms, setup 521ms, collect 540ms, tests 89ms, environment 1.59s, prepare 234ms)

I'll try to make more real world tests, too.
Cya

Hello! Thanks a lot for attempting to bridge Lit and Tanstack Query.
I tried to make this works locally, just to see.
Small, ongoing PR for fixing build, adding a mutation controller, example(s)…: Gabswim#1

@JulianCataldo Nice to have you onboard! I've made some additions with a context provider also. https://github.com/Gabswim/query/pull/2 Feel free to try it out.

Context provider is a huge addition. I'll try this as soon as I can :)
IDK if @Gabswim viewed my PR, I wish to go on helping while avoiding duplicating efforts ^^.
I can add more examples, WDYT? And try to do achieve tests for MutationController, also.
Tell me, and I try to help with the best I can achieve.
Ty!

Thank you for your contributions @JulianCataldo ! I saw your PR, but I’ve been more focused on the one for the context provider by @klasjersevi .
Before going any further, I think it would be good to get some feedback from @TkDodo, justinfagnani, just to make sure we're all aligned.
One challenge, which I believe has no workaround with Lit’s context, is its asynchronous flow. This issue doesn't seem to exist in other packages, as seen in these implementations:
Svelte: getContext
SolidJS: useContext

One challenge, which I believe has no workaround with Lit’s context, is its asynchronous flow. This issue doesn't seem to exist in other packages, as seen in these implementations:
Svelte: getContext SolidJS: useContext

Just to explain for anyone who is not familiar with Lit Context:
Lit context is an event-based protocol between web components based on the Context Community Protocol by the W3C's Web Components Community Group. Normally this happens synchronously as long as the context provider (parent node) is defined before the context consumer is defined. In some cases this can happen in a different order or if the provider is not yet available for any reason. So the context might be available directly or it might be available at a later point. To overcome some of the challenges with this lit provides a ContextRoot that can take care of requests until the context provider is available.
Many other context api:s in other frameworks are synchronous, which instead throws errors instantly if a context isn't available directly.

I think we had some good progress with an initial example that should be quite usable. I will soon try to replace some of our custom (very similar) Lit Query controllers with these and see how it works out. It would be great if more people could try these out, so we would know how to proceed moving this forward.


ability to run your own seashells server

it would be extremely useful to be able to run run my own seashell server as this would allow custom expire times and ability to unpublished documents in case some private information got logged by mistake.
Probably the best way to do this would be by publishing a container as this would make installation and upgrade much easier, also avoiding an endless number of packaging solutions for each platform.

Seashells server code is not open-source; see #2

Closing as a duplicate of #2. The plan is to open-source the server code "soon" (hopefully within a week or two).

The seashells server was open-sourced some time ago: https://github.com/anishathalye/seashells-server


[Completion] Fix crash for completion on identifier at the start of file

Depends on #14. Only the second commit is relevant.
Crash if a code completion is triggered on an identifier at the start of file.
Fatal error: Can't move before startIndex caused by snapshot.text.index(before: loc).

Sorry, I completely forgot about this PR. Added test cases.


Logging dataset timestamp after it downloads dataset from figshare

Otherwise, the user needs to show the timestamp every time
Then if the user forgets it, in the presentation, the user needs to run it again

logging level depends on user's settings, so I've decided to put dataset.database_snapshot on the sample code like here https://github.com/starrydata-battery/notebooks/blob/main/number_of_graphs_by_major_battery_materials.ipynb


Add more examples and use them as test cases

The pre-made examples in the examples/ directory are great for getting started quickly, copying pasting and modifying as needed. Probably there should be a few more to show off certain key or useful features.
After putting in that effort, hopefully we could also get the added benefit of using those examples for testing:
Each example has a common build.sh script, which either uses the CLI directly or it calls into a custom build.py script. We could compare the output against the expected output. IDK how to deal with the file IO, if that needs to be mocked out, or if this should just be treated as an E2E test.

This was implemented in https://github.com/staticjinja/staticjinja/commits/main. 🎸

This was implemented in https://github.com/staticjinja/staticjinja/commits/main. 🎸


feat(moac): k8s client lib - pull from upstream

The hard work has been done in jkryl/javascript repo on github.
Here we only update to the new version of the package. Follow
up work is to try to upstream the fix (in progress with unsure outcome).

bors merge

bors merge

bors retry

bors retry


Specifying Rust version does not seem to have an effect

The version set currently in Dockerfile.template is 1.29.2.
In the logs I'm seeing
[Info]     Starting build for raspi, user gh_cyplo
[Info]     Dashboard link: https://dashboard.resin.io/apps/1277499/devices
[Info]     Building on arm02
[Info]     Pulling previous images for caching purposes...
[Success]  Successfully pulled cache images
[main]     Step 1/27 : ARG rust_revision="1.29.1"

1.29.1 is the previous version - is this expected ?
Then in the logs much later:
curl -sSf https://static.rust-lang.org/rustup.sh | sh -s -- -y --revision=${rust_revision}
[main]      ---> Running in 279ebc163fe4
[main]     rustup: gpg available. signatures will be verified
[main]     rustup: downloading manifest for 'stable'
[main]     rustup: downloading toolchain for 'stable'

it should be 1.29.2 instead of stable - it seems to be ignoring the version number altogether maybe ?

cc @majorz

It is very strange that you see ARG rust_revision="1.29.1" reported on push. Let's try to find out more about this as this would be a bigger issue I think.

@cyplo I am not reproducing that behavior. Could it be that you had a Dockerfile.armv7hf that was used instead in the same folder?

Not sure - I saw this behavior when testing #13 - did a singular git push to a repository of an application that already contained the previous version of the example. Could it be the cause ? E.g. some cache being spoiled @majorz ?

I spent almost 2 days with the caching and I've found that it's hard to make it working when I constantly change Dockerfile, etc. I ended up testing it via new app id & project every single time I made bigger changes to avoid any backend issues. It worked. This leads to an idea that smth can be wrong much deeper. Just thinking aloud.

Oh, I wrote a message here, but now I see I did not post it and is lost :/
I think the Rust caching should not be an issue. It looks quite solid and shrinks the downloaded image on the device very nicely + does the dependency caching which is really nice!
It looks like we are using an older rustup link and also the argument is now different. That should at least solve the reported problem.

I would like to take a look into this as a part of the Friday project.

I'm playing with possible solutions right now - thinking of showcasing standard rust-toolchain file usage in the example.

@cyplo go with rust-toolchain. I'd like to see it everywhere if specific Rust version is required.


Initial documentation

Added a section on Kubernetes to the docs.

Wrong comparison branch... will close and open properly


Project structure

Define a sample sbt project and hook it up to Travis CI.

This has been resolved. Please beware the necessary rebase master followed by a push -f. You might need to repair your local dev branch. I'm sorry for this.


Please add support for Crashlytics

In #9592 there's a request for adding Crashlytics, but it was blocked by an absence of crash reporting support in Flutter. Now that there are ways to intercept errors, it should be possible to add Crashlytics / Firebase error reporting.

Did you close this issue by mistake @kroikie?

@daohoangson @MisterJimson
There is support for Crashlytics on Flutter, which is why this issue has been marked as closed.
Fatal error submission is not yet available, we are using https://github.com/FirebaseExtended/flutterfire/issues/398 to track that particular feature.


cmd/compile: f.NamedValue entry for reg param causes register allocator miscompile

What version of Go are you using (go version)?

$ go version
go version devel go1.17-831573cd21 Fri May 21 03:21:56 2021 +0000 linux/amd64

Does this issue reproduce with the latest release?
This is a problem on tip, not in previous releases.
What operating system and processor architecture are you using (go env)?
linux/amd64
What did you do?
Run this program:
https://play.golang.org/p/spT4IJFC6_n
What did you expect to see?
Program should print "anew" and terminate.
What did you see instead?
panic: runtime error: index out of range [0] with length 0
goroutine 1 [running]:
main.(*M).walkOp(0xc0000f0e08, 0xc0000f4000)
/tmp/repro.go:50 +0x29c
main.main()
/tmp/repro.go:63 +0x145
exit status 2
Bisection identifies this commit as the problem:
https://go.googlesource.com/go/+/f62739b8611a0f1c96e59eb6574422562bb46233
which corresponds to the CL https://go-review.googlesource.com/c/go/+/316890.

The CL in question (which I wrote) was intended to improve the debugging experience: in cases where you have an incoming parameter that is passed in a single register, it adds the corresponding SSA value to the function's NamedValues table. This table is used later on in the compile to generate DWARF location expressions; by recording the association between the name + the SSA value, we get much better DWARF.
At the time I wrote the CL, I had been under the impression that f.NamedValues was used only for debug/DWARF generation. Turns out this is actually not the case; the register allocator uses f.NamedValues as a way to pick the spill location for an SSA value if it needs to be written to memory.  So, a pretty major oversight on my part there.
Here's a portion of the code from the repro testcase:
L26:   func (w *M) walkOp(op *Op) *Op {
L27:	if op == nil {
L28:		return nil
L29:	}
L30:
L31:	orig := op
L32:	cloned := false
L33:	clone := func() {
L34:		if !cloned {
L35:			cloned = true
L36:			op = &Op{}
L37:			*op = *orig
L38:		}
L39:	}

The compiler emits code for the closure at line 33 that copies the values of "&op" and "orig" into the closure object. At an early stage in the compile this code looks something like
  b2: <- b1
    v16 = Copy <mem> v9
    v17 = Load <*Op> v5 v16 (orig[*Op])
    v19 = VarDef <mem> {cloned} v16
    v20 = LocalAddr <*bool> {cloned} v2 v19
    v21 = Store <mem> {bool} v20 v18 v19
    v26 = VarDef <mem> {.autotmp_12} v21
    v27 = LocalAddr <*struct { F uintptr; cloned *bool; op **Op; orig *Op }> {.autotmp_12} v2 v26
    v28 = Store <mem> {struct { F uintptr; cloned *bool; op **Op; orig *Op }} v27 v22 v26
    v29 = LocalAddr <*struct { F uintptr; cloned *bool; op **Op; orig *Op }> {.autotmp_12} v2 v28
    v31 = NilCheck <void> v29 v28
    v32 = OffPtr <*uintptr> [0] v29
    v33 = Store <mem> {uintptr} v32 v30 v28
    v34 = LocalAddr <*bool> {cloned} v2 v33
    v35 = NilCheck <void> v29 v33
    v36 = OffPtr <**bool> [8] v29
    v37 = Store <mem> {*bool} v36 v34 v33
    v38 = NilCheck <void> v29 v37
    v39 = OffPtr <***Op> [16] v29
    v40 = Store <mem> {**Op} v39 v5 v37
    v41 = NilCheck <void> v29 v40
    v42 = OffPtr <**Op> [24] v29
    v43 = Store <mem> {*Op} v42 v17 v40
    v44 = Copy <func()> v29 (clone[func()]) DEAD
    v46 = Load <*Op> v5 v43
    v47 = NilCheck <void> v46 v43
    v48 = OffPtr <*[]P> [200] v46
    v49 = Load <[]P> v48 v43
    v50 = SliceLen <int> v49

All of this code winds up getting optimized away however (since the function literal "clone" is inlined), and instead at a later point in the compile what we have is the following (this is before register allocation). In the entry block:
(*M).walkOp method(*M) func(*Op) *Op
  b1:
    v137 = ArgIntReg <*Op> {op+0} [1] (op[*Op])
    v138 = ArgIntReg <*M> {w+0} [0] (w[*M])
    v1 = InitMem <mem>
    ...

then in the inlined body of "clone" atht eline 46 callsite we get the following:
v94 = CALLstatic <*Op,mem> {AuxCall{runtime.newobject}} [16] v93 v62
    v96 = SelectN <*Op> [0] v94
    v95 = SelectN <mem> [1] v94
    v99 = VarDef <mem> {op} v95
    v75 = MOVQstore <mem> {op} v2 v96 v99
    v171 = CMPLconstload <flags> {runtime.writeBarrier} [val=0,off=0] v3 v75
    NE v171 -> b16 b10 (unlikely)
  b10: <- b17
    v34 = DUFFCOPY <mem> [224] v96 v137 v75
    Plain -> b21
  b16: <- b17

Note the reference to v137 in the call to duffcopy. This is a direct reference to the ArgIntReg defined in the entry; it corresponds to the original user variable "orig" (which has been optimized away).
During register allocation, regalloc decides that it is going to spill v137 (a very logical spill candidate, since in b2 all of its uses are far in the future). As a result we get the following in b2:
b2: <- b1
    v29 = StoreReg <*Op> v137 : op[*Op]
    v116 = StoreReg <*M> v138 : w[*M]
    ...

and in the inlined body we now have:
    v94 = CALLstatic <*Op,mem> {AuxCall{runtime.newobject}} [16] v121 v62 : <AX>
    v96 = SelectN <*Op> [0] v94 : AX
    v95 = SelectN <mem> [1] v94
    v99 = VarDef <mem> {op} v95
    v75 = MOVQstore <mem> {op} v2 v96 v99
    v171 = CMPLconstload <flags> {runtime.writeBarrier} [val=0,off=0] v3 v75
    NE v171 -> b16 b10 (unlikely)
  b10: <- b17
    v12 = Copy <*Op> v96 : DI
    v133 = LoadReg <*Op> v29 : SI
    v34 = DUFFCOPY <mem> [224] v12 v133 v75

Because there is an entry in the f.NamedValues map for v137, we store the value to its home slot. The problem here is that "op" is redefined -- the store v75 writes the new value of op to its home location, meaning that the result of the call to newObject overwrites the saved (spilled) value of 137. This means that the LoadReg at v133 is loading up not the saved value, but the new value just assigned to "op".
This means that the "src" argument when invoking duffcopy is the same as the destination, so the effect is that instead of copying "*op" we wind up with a zero value object instead. This is what triggers the crash.
I think it is pretty clear from this that https://go-review.googlesource.com/c/go/+/316890 needs to be reverted.
The more interesting question is what we should do to restore a better debugging experience for functions with register parameters-- it seems a shame that we cna't find some way to report to the user that "op" is in RBX at the start of this function.


LogLevel doc improvements

Do end-users use this type or just loggers?
Add link to LogLevelFilter

#157 Fixes this!


Fixed an issue where remaining slipdays would not reach the frontend

Fixes #751.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

3 of 5 (60.0%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.02%) to 24.945%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

database/gormdb_course.go
0
1
0.0%

database/gormdb_enrollment.go
3
4
75.0%

Totals

Change from base Build<PHONE_NUMBER>:
-0.02%

Covered Lines:
2630

Relevant Lines:
10543

💛  - Coveralls

Codecov Report

Merging #773 (fa52acc) into master (c6caebc) will increase coverage by 0.01%.
The diff coverage is 33.33%.

@@            Coverage Diff             @@
##           master     #773      +/-   ##
==========================================
+ Coverage   22.84%   22.86%   +0.01%
==========================================
  Files          84       84
  Lines       10137    10091      -46
==========================================
- Hits         2316     2307       -9
+ Misses       7542     7512      -30
+ Partials      279      272       -7

Flag
Coverage Δ

unittests
22.86% <33.33%> (+0.01%)
:arrow_up:

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

Impacted Files
Coverage Δ

database/gormdb_course.go
52.23% <0.00%> (-3.32%)
:arrow_down:

qf/course.go
0.00% <ø> (ø)

qf/group.go
24.13% <ø> (+2.92%)
:arrow_up:

qf/user.go
0.00% <ø> (ø)

web/courses.go
44.51% <ø> (-0.82%)
:arrow_down:

web/groups.go
45.62% <ø> (-0.34%)
:arrow_down:

web/quickfeed_service.go
31.95% <ø> (+1.10%)
:arrow_up:

database/gormdb_enrollment.go
67.10% <100.00%> (+1.82%)
:arrow_up:

web/interceptor/user_auth.go
73.91% <0.00%> (-1.09%)
:arrow_down:

web/auth/jwt.go
43.84% <0.00%> (-0.69%)
:arrow_down:

... and 2 more

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


Nginx reverse proxy no longer working on update

I've made no changes but my logs are no longer working. I've always had my url option enabled
server {
    listen: 80;
    listen 443;
    server_name site.thing.com ;

    ssl_certificate /etc/letsencrypt/live/site.thing.com /fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/site.thing.com /privkey.pem;
    include /etc/letsencrypt/options-ssl-nginx.conf;
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
    add_header Strict-Transport-Security "max-age=31536000" always;
    ssl_trusted_certificate /etc/letsencrypt/live/site.thing.com /chain.pem;
    ssl_stapling on;
    ssl_stapling_verify on;

    location / {
        proxy_set_header   X-Forwarded-For $remote_addr;
        proxy_set_header   Host $http_host;
        proxy_pass         http://<IP_ADDRESS>:8890;
    }
}

What error is it giving you?


Scrub timeline

How do I scrub through a timeline in Unity?

We don't expose this directly Unity. We currently only expose state machines which control animations (timelines). You could create a state machine that scrubs to certain times and control inputs to drive from Unity.
We can also expose the ability to drive animations manually from Unity which would let you manually scrub timelines.
Can you share more details about what you're trying to do?

Can you share more details about what you're trying to do?

I am making a technical training app (featuring an aircraft display). It is essential that I can set an animation timeline location directly without using a state machine to set the exact location of a complex animation. Although it is possible to use a blend state machine to set the exact location of an animation, this only works well with simple timelines and is cumbersome and not intuitive to set up. It would be much easier and less restrictive if a timeline location could be set directly using a scrub feature in code.
For example, instead of setting the speed, try setting the altitude of this aircraft display to the exact altitude of 7865.3 ft, or any other precise number.
https://rive.app/community/6819-13114-altitude-rolling-numbers/
That is currently not possible either with a state machine nor in code in Unity.

We have a similar use case which requires the use of Unity Timeline to allow the user to scrub through short cutscenes created within our app. We'd like to try using Rive to handle character animations, but would need this frame-level control. Is this on your roadmap?


Dedicated bearer tests - WIP

Tests for dedicated bearers.  Based off the ServiceRequest tests that get the UE into a known state, then create bearers.  Deactivation of bearers is not complete yet because there are a few cases to take care of.

Can one of the admins verify this patch?

Can one of the admins verify this patch?

at Gabriel's request


Crash if wallet disabled

New dev version seems won't start and go into traceback if wallet is disabled with error
JSONRPCException: -32601: Method not found (disabled)
Same goes if you try to connect to early and will tracebacks with
bitcoinrpc.authproxy.JSONRPCException: -28: Loading block index...
and later
bitcoinrpc.authproxy.JSONRPCException: -28: Verifying blocks...
This probably could be improved later on, to show these messages on splash screen.

I'm getting
Traceback (most recent call last):
File "bitcoind-ncurses/main.py", line 11, in
from gevent import monkey
ImportError: No module named gevent

That's unrelated, you need python-gevent package installed if you are using debian

Is that new? Can i install it with pip?

Yes that's new dependency according to code, i didn't tried with pip, but it should work pip install gevent

                                                        [ v0.1.0-dev ]Traceback (most recent call last):
                                                                                File "/usr/local/lib/python2.7/dist-packages/gevent/greenlet.py", line 534, in run
                                                                   result = self._run(*self.args, **self.kwargs)
                                                                                File "/root/bitcoind-ncurses/rpc2.py", line 65, in run
                                               resp = self._call(req)
                                                                       File "/root/bitcoind-ncurses/rpc2.py", line 42, in _call
      result = getattr(self._handle, req.method)(*req.params)
                                                               File "/usr/local/lib/python2.7/dist-packages/bitcoinrpc/authproxy.py", line 116, in __call__
                                  raise JSONRPCException(response['error'])
                                                                           JSONRPCException
                                                                                <Greenlet at 0x7f14fcecba50: <bound method BitcoinRPCClient.run of <rpc2.BitcoinRPCClient object at 0x7f14fc60b0d0>>> failed with JSONRPCException

You sure this all error message? Seems JSONRPCException miss text of exception, check my first message, do you have wallet disabled in bitcoin.conf? Enabling will solve issue.

This is all I get http://i.imgur.com/Vxv2mZU.png
Yes it's disabled. I can't try enabling because I'm pruning.

You can have wallet enabled with pruning, using 0.12 and later version of bitcoind

I had to reindex, but yes it works with wallet enabled. Idk why my error message was cut off

Hello!
The development version is broken. It's nowhere near finished. Apologies for the hassle.
Check out tag 'v0.0.23' and use that.
Going forward I would expect master to be subject to breaking changes - I'll tag a new release when I think it's stable.

The latest version adds an obvious yellow bar that indicates the development version is subject to breakage (currently undergoing a major refactor).
Latest 'stable' version: https://github.com/esotericnonsense/bitcoind-ncurses/releases/tag/v0.0.23
Closing for now.

After a bit of a blitz the development version should be back to some sense of stability.
A few features are disabled for now, but nothing too major. Monitor mode works fine.

Perfect


customer update slow

What is the location of your example repository?
0
Which package or tool is having this issue?
Hydrogen
What version of that package or tool are you using?
0
What version of Remix are you using?
0
Steps to Reproduce
Try to edit customer firstname, it's not reflected on the frontend right away when you view customer details.
Expected Behavior
Reflect the new changes.
Actual Behavior
Not reflecting new updates.

This might be something with cache? Since even after calling
const data = await context.storefront.mutate<{
      customerUpdate: CustomerUpdatePayload;
    }>(CUSTOMER_UPDATE_MUTATION, {
      variables: {
        customerAccessToken,
        customer,
      },
    });

I wait couple of sec, and first load still get the old customer data.

Okay I figure it out, their was cache on the storefront query, I reset it like this.
const data = await storefront.query<{
    customer: Customer;
  }>(CUSTOMER_QUERY, {
    variables: {
      customerAccessToken,
      country: context.storefront.i18n.country,
      language: context.storefront.i18n.language,
    },
    cache: {
      mode: '',
    },
  });

@jamalsoueidan I recommend using storefront.CacheNone() or storefront.CacheShort() instead:
const data = await storefront.query<{
    customer: Customer;
  }>(CUSTOMER_QUERY, {
    variables: {
      customerAccessToken,
      country: context.storefront.i18n.country,
      language: context.storefront.i18n.language,
    },
    cache: storefront.CacheNone(),
  });


[stable/prometheus-operator] - Fix err msg "found duplicate series for the match group"

Signed-off-by: Lord-Y<EMAIL_ADDRESS>What this PR does / why we need it:
Fix err msg found duplicate series for the match group for KubePodNotReady alert. Here is my stack trace:
Error executing query: found duplicate series for the match group {namespace="default", pod="nginx-dbddb74b8-vks5q"} on the right hand-side of the operation: [{__name__="kube_pod_owner", endpoint="http", instance="X.X.X.X:8080", job="kube-state-metrics", namespace="default", owner_is_controller="true", owner_kind="ReplicaSet", owner_name="nginx-dbddb74b8", pod="nginx-dbddb74b8-vks5q", service="prometheus-operator-kube-state-metrics"}, {__name__="kube_pod_owner", app_kubernetes_io_instance="prometheus-operator", app_kubernetes_io_managed_by="Tiller", app_kubernetes_io_name="kube-state-metrics", helm_sh_chart="kube-state-metrics-2.4.1", instance="X.X.X.X:8080", job="kubernetes-service-endpoints", kubernetes_name="prometheus-operator-kube-state-metrics", kubernetes_namespace="prometheus-operator", kubernetes_node="XXXXXX-b6b5a477-zq60", namespace="default", owner_is_controller="true", owner_kind="ReplicaSet", owner_name="nginx-dbddb74b8", pod="nginx-dbddb74b8-vks5q"}];many-to-many matching not allowed: matching labels must be unique on one side
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md
[x] Title of the PR starts with chart name (e.g. [stable/mychartname])

@bismarck @gianrubio Hello guys, can you have a look on my PR :)

@Lord-Y
Would you mind to resolve chart conflict please? Thank you.
stable/prometheus-operator/Chart.yaml

@zanhsieh I fixed it

/ok-to-test

@bismarck @gianrubio Can you guys approve the merge?

@Lord-Y It is not the goal of this chart to maintain alerts and dashboards - these are sourced from upstream repositories and synced using python scripts. Please submit your changes there.
/hold

@Lord-Y Here's the upstream repository for alerts and dashboards: https://github.com/kubernetes-monitoring/kubernetes-mixin

@Lord-Y DId you find a way to pull this update through to the helm chart? Hitting the same issue here.

@eperdeme I updated the source repository. I must be merged later for next release of prometheus-operator. Maybe @vsliouniaev can tell us more about when.

@Lord-Y @eperdeme  There seems to be some additional work which needs to be done as documented here: https://github.com/helm/charts/tree/master/stable/prometheus-operator/hack
I already tried to follow the instructions, but I am not able to perform the import


CASMINST-5103 Better LVM logging

Summary and Scope

Relates to: CASMINST-5103

Issue Type

RFE Pull Request

CASMINST-5103 was difficult to debug because at the moment of failure there was no logging output available. Had the node booted in rd.debug or rd.info mode there might've been more. However we need to see more during the initial boot, and that boot does not run in rd.debug nor rd.info mode.
This change adds discovered volume groups and removed items to the
console, which would be very helpful to see if CASMINST-5103 were to occur again.
[   17.848377] dracut-initqueue[1490]:   Found volume group "metalvg0" using metadata type lvm2
[   17.908682] dracut-initqueue[1491]:   VG       #PV #LV #SN Attr   VSize   VFree
[   17.923919] dracut-initqueue[1491]:   metalvg0   1   3   0 wz--n- 279.14g 149.14g
[   17.944605] dracut-initqueue[1441]: Warning: removing all volume groups of name [vg_name=~ceph*]
[   17.964166] dracut-initqueue[1492]:   Failed to clear hint file.
[   18.028993] dracut-initqueue[1441]: Warning: removing all volume groups of name [vg_name=~metal*]
[   18.048173] dracut-initqueue[1514]:   Failed to clear hint file.
[   18.068130] dracut-initqueue[1514]:   Logical volume "CEPHETC" successfully removed
[   18.084107] dracut-initqueue[1514]:   Logical volume "CEPHVAR" successfully removed
[   18.104005] dracut-initqueue[1514]:   Logical volume "CONTAIN" successfully removed
[   18.120106] dracut-initqueue[1514]:   Volume group "metalvg0" successfully removed

Prerequisites

[ ] I have included documentation in my PR (or it is not required)
[x] I tested this on internal system (if yes, please include results or a description of the test)
[ ] I tested this on a vshasta system (if yes, please include results or a description of the test)

Idempotency

Risks and Mitigations

This could change to also fail out and link to the wipe document if volume groups still exist.
Maybe even just trigger the emergency shell with directions for continuing the boot afterwards.. but that's fancy.

This could change to also fail out and link to the wipe document if volume groups still exist.

Might be worth it.  Otherwise, it'll continue to boot and the problem won't be obvious?

I tested the failure commands on two nodes that were already booted:

One node had the volume groups, and the if conditional correctly stated that they exist.
One node had 0 volume groups, and the if conditional correctly evaluated to false and moved on.


Cipher suite configuration per SNI?

Does it make sense to be able to have cipher suites per SNI? (Today, you can specify TLS versions, but not cipher suites.)

Yes, that does make sense.  Just never got around to it.  A pressing need has not come up yet for us, bit it should not be too hard to add.  Need to ensure that the appropriate openssl API exists for that.  I'll go do some research on that.


Automated cherry pick of #2189: Cleanup the TODO in the integration test

Cherry pick of #2189 on release-0.6.
#2189: Cleanup the TODO in the integration test
For details on the cherry pick process, see the cherry pick requests page.

/assign @tenzen-y

/release-note-none


Flutter FFI same app fails to open dynamic library in windows sandbox but works normally outside sandbox

Steps to Reproduce

Clone the dev branch at https://github.com/Haidar0096/image_magick_ffi (sorry, even building a reproducible sample will be very big project, so just use the current project that is causing problems directly)
run the project on windows, just pick an image on your pc, an output directoy, and press "resizeImage" (the code will just rewrite the same file into the output directory, this is just a demo, the problem is with the dll loading and not the code itself.)
This step must work with no issues and the image must be rewritten where you have chosen
now run flutter build windows --release and copy the Release folder into a windows sandbox, and run the app's .exe. First time it will not open, see what dlls it needs and copy them from your system32 folder in C:/windows/system32 into the same path as the executable, then run it again, it will open normally now. So now choose an image and output directory just as before, and press resize, but this time nothing will happen and no image will be rewritten, because the FFI's dll library fails to load (I confirmed this by putting a try/catch around the code that invokes the ffi and writing the error into a widget and I got this error below).

Expected results:
The ffi app works correctly in both enviroments: my pc and windows sandbox
Actual results:
on my pc. the FFI's dll loads correctly and everything is good, but in windows sandbox, the same app fails to load the FFI's dll

This is the erroneous code that is used to open the dll library, I didn't write it, I used it as it is bcz it was generated by the flutter create ffi template command:
if (Platform.isWindows) {
  return ffi.DynamicLibrary.open('$_libName.dll');
}

This code works correctly on my windows 11 environment, but does not work in the sandbox.

(sorry, even building a reproducible sample will be very big project, so just use the current project that is causing problems directly)

This code works correctly on my windows 11 environment, but does not work in the sandbox.

The flutter create --template=ffi_plugin --platform=windows does work in the sandbox?
If it doesn't work we should fix the template.

3. First time it will not open, see what dlls it needs and copy them from your system32 folder in C:/windows/system32 into the same path as the executable, then run it again, it will open normally now.

This sounds fishy, do you do that copying? Or does Flutter or Windows?
I don't know too much about the sandbox, but one should be able to open system libraries without copying them into the sandbox. If this is disallowed by the sandbox this should be fixed.

but does not work in the sandbox.

What is the error message?
Without an error message it is hard to diagnose why your dll won't open.

path outside the sandbox
dynamic dependencies with paths outside the sandbox
or another reason

This is the erroneous code that is used to open the dll library, I didn't write it, I used it as it is bcz it was generated by the flutter create ffi template command:

You can modify this code if you need. (And if it is required for the sandbox, we should modify the template.)

@dcharkes

This sounds fishy, do you do that copying? Or does Flutter or Windows?
Maybe you misunderstood me, when I say copy the dlls, I mean the dlls like msvc, vcruntime, and other dlls that are not present in the sandbox by default, nothing fishy or creepy here, and I am not trying to promote anything or any code. And to answer you, the dlls  in the CMake files are automatically bundled inside the Release folder, but the other dlls from system32 folder, yes I copy them manually.

What is the error message?
I mentioned in the post above that I printed it into a widget, if you look at the picture above, it is on the last line. It is explicitly saying it couldn't open the dynamic library, although the dynamic library is in the same path as the executable.

The flutter create --template=ffi_plugin --platform=windows does work in the sandbox?
So I created a plugin using this command, cd to the example folder, ran flutter build windows --release, and then copied the Release folder that contains the executable into the sandbox, and see for yourself that it complains first about system32 dlls:

Now I will copy the dlls and run the app again:

Ok so it worked with the template app, but only after copying the system dlls, but anyway, this only solves a small problem, which is that I must copy system libraries manually into the sandbox. The other most important problem, which is the error (Failed to load dynamic library 'image_magick_ffi.dll': error code 126) is still not solved. This dll is my plugin's native code's dll and it load normally outside the sandbox and using the original loading code of the template, so why won't it work within the sandbox??
Also I know that I can change the code, but couldn't figure out what type of path is it expecting??

Ok so it worked with the template app, but only after copying the system dlls, but anyway, this only solves a small problem, which is that I must copy system libraries manually into the sandbox.

This is something that should be fixed.

https://github.com/flutter/flutter/issues/114676

Failed to load dynamic library 'image_magick_ffi.dll': error code 126

ERROR_MOD_NOT_FOUND
126 (0x7E)
The specified module could not be found.

https://learn.microsoft.com/en-us/windows/win32/debug/system-error-codes--0-499-
Previous issues with 126

https://github.com/flutter/flutter/issues/58079
https://github.com/flutter/flutter/issues/108344
https://stackoverflow.com/questions/66841982/flutter-desktop-sqflite-ffi-throwing-error-on-release-mode

Could you print the argument to ffi.DynamicLibrary.open('$_libName.dll') right before the call?

@dcharkes
On my windows environment, it prints: [+15489 ms] flutter: library name is image_magick_ffi.dll
On the sandbox: flutter: library name is image_magick_ffi.dll

Hm, then I would suspect it's dynamic dependencies it tries to load at runtime
You can open the dll in the app from https://www.dependencywalker.com/ to inspect it.
I suspect we have to copy some more dependencies into the folder.

Hm, then I would suspect it's dynamic dependencies it tries to load at runtime
You can open the dll in the app from https://www.dependencywalker.com/ to inspect it. I suspect we have to copy some more dependencies into the folder.
(Opening the dll from the sample succeeds, so it's not the dll name itself. If I remember correctly missing dependencies on Windows also trigger a 126.)

I just want to assure something, did you notice that I mentioned that the exe in the Release folder of my app, as it is without any modifications, runs on my windows 11, but when the same folder is copied (along with system dlls) into the sandbox, it gives this error 126?
If yes, then what could be still missing?

but when the same folder is copied (along with system dlls) into the sandbox, it gives this error 126

That does sound like one of the dependencies of image magic is still outside the Windows Sandbox then.

Labeling this for tracking.

but when the same folder is copied (along with system dlls) into the sandbox, it gives this error 126

That does sound like one of the dependencies of image magic is still outside the Windows Sandbox then.

@Haidar0096 were you able to confirm if this was the issue (some dependencies are still outside the sandbox)?

@a-siva sorry I don't remember the details of the issue as it happened too long ago for my memory to remember 😅
Just mentioning this so you don't keep waiting for my response🙏🏻
But I do remember that I gave up on it as I couldn't solve it at the time. Hope it helps.


SBP Milestone Review - 1

SBP Milestone Review #1

The setup of the Cumulus pallets appears to be correct and does not require any changes.

Some changes were suggested regarding the organization of the code where certain configurations could be moved to different files.

It is recommended to review the configuration of the xcm_config file as it seems to be default and might not cater to the needs of the parachain.

Avoid using the pallet_nicks as it should only be used for demos (it does not even have benchmarking).

I definitely believe that for the next milestone, the parachain code needs to be moved to its own repository, thus having one repository for the solo chain and another for the parachain. Even though the setup is correct, the runtime contains too many configured pallets making it confusing to read at times. On the other hand, this would also make the reading and configuration of the node files (service.rs, command.rs, etc) easier. Nonetheless, it's noticeable that a deep analysis of the node's operation has been conducted, resulting in a well-configured system.

Hi @hbulgarini! Thanks for the review! What's the procedure for addressing changes requested in the review? Should we create a PR to your fork repo adding changes directly to the review?

okalenyk

Hey Oleh! just address the comments on your repo following your processes and point them out in the next milestone review :)

Addressing review requests - link to the PR for reference

Closing the PR since all of the review requests have been addressed - see conversation above.


Adding support for Map

is.map( new Map() ); // true
is.map( 'Map' ); // false

Ah thanks for catching that! I did put in a check on the constructor string although I'll need to verify this works in IE 11!

changes up @jdalton. sorry for the delay and thanks again!

I'd like to add this to https://github.com/evdama/is-it-check
Would you mind sending a PR including tests?

Sure. Gonna close this one.

Thanks again... it's now  merged, up on npm 0.9.9 and even cut a new github tag https://github.com/evdama/is-it-check/commit/5518075dffa5e789afcc78d7311d4ca06047203e


JMS getting connected via Intellij but fails via executable boot jar

I am new to both spring-boot and ibm mq. I am using mq-jms-spring-boot-starter to integrate mq with spring boot. When I start my application from intellij, I am successfully able to connect to the queue and consume messages.
But when i start application from the executable boot jar from command prompt, the spring application contexts comes up successfully. However, the application fails to connect to the MQ and gives following error:-
nested exception is com.ibm.mq.MQException: JMSCMQ0001: IBM MQ call failed with compcode '2' ('MQCC_FAILED') reason '2397' ('MQRC_JSSE_ERROR')
I have verified the values of the following properties:-
"javax.net.ssl.trustStore"
"javax.net.ssl.trustStorePassword"
"javax.net.ssl.keyStore"
"javax.net.ssl.keyStorePassword"
Any help would be highly appreciated.

spring-boot version - 2.1.4.RELEASE
mq-jms-spring-boot-starter version - 2.1.1
Java version  - 1.8.

Seems like you are facing the similar issue
https://www-01.ibm.com/support/docview.wss?uid=swg22006376

Look at the qmgr error logs. Most likely you have not set the correct CipherSpec for the channel, but there are other possible errors. The logs will usually give the right direction.

Closing for inactivity


Is there a simple way of showing only selected rows?

Hi - I'm wondering if there is a simple toggle for showing only selected rows
Thanks

@vgoklani, you means default selected on table? Why I ask, because if the table rendered at first time then I select a row, if I enable "showing only selected rows", will cause user can't select another anymore...
if another question, welcome to join the gitter to discuss with us.

For my use case, I have >1500 rows, and the user will select maybe 50.
the problem is that there isn't a simple way to see only the selected rows.

ok, I can add a button on top of table, if user click, then showing only selected rows, how about this idea?

sounds good, thanks!

@vgoklani, for now, the workaround is you can handle selected row outside of the react-bootstrap-table and add a button in your component, when user clicked, you can just rendered these selected rows on table :)

@vgoklani, check the v1.4.2 for fixing. It's an example.939d53b
add  showOnlySelected on selectRow props
var selectRowProp = {
    mode: "checkbox",
    showOnlySelected: true
};


Any way to recover?

I had a PC failure and I'm wondering if there's any way I can recover the saved papers? Are saved papers synchronised somewhere in the cloud, or is it all local?

Sorry I missed your message. If you did not enable sync with Github Gists in the Advanced Options then unfortunately there's no way to recover your data :(


Generated sitemap contains current url only

Hey, love the idea and could really make use of this library. I tested it out on the website I'm working on. It's a single-page-application built in react.js.
I ran the extension and it immediately finished and downloaded the following xml file:

Why is that? There are (obviously) more links on my website...

I checked your site out and it has to do with the delay between initial render and how long before the links are rendered into the page.
My first attempt gave the same results you see, my seccond attempt loaded in the site faster and it was able to pick up links.

https://app.funeral-market.place/highlights

https://app.funeral-market.place/highlights/news/101/rituale-f-r-die-seele

https://app.funeral-market.place/highlights/news/104/trauerkleidung-zur-beerdigung

https://app.funeral-market.place/highlights/news/105/peter-lindbergh-03-09-2019

https://app.funeral-market.place/highlights/news/106/future-day-k-ln-25-10-2019-heilsame-abschiede

https://app.funeral-market.place/highlights/news/107/sigmund-j-hn-21-09-2019

https://app.funeral-market.place/highlights/news/108/business-workshop-customer-journey-15-17-oktober-2019

https://app.funeral-market.place/highlights/news/109/foto-serviceangebot-f-r-businesskunden-des-fmp

https://app.funeral-market.place/highlights/news/110/karel-gott-01-10-2019

https://app.funeral-market.place/highlights/news/111/halle-saale-09-10-2019

https://app.funeral-market.place/highlights/news/112/verbrauchermesse-happy-end-hamburg-10-november-2019

https://app.funeral-market.place/highlights/news/113/3d-werkzeug-marketing-hwk-14-10-2019

https://app.funeral-market.place/highlights/news/114/digitale-gesch-ftsmodelle-hwk-28-10-2019

https://app.funeral-market.place/highlights/news/115/tierbestattung

https://app.funeral-market.place/highlights/news/116/leben-sterben-und-trauern-f-r-kinder-erkl-rt

https://app.funeral-market.place/highlights/news/117/messe-happy-end-in-hamburg

https://app.funeral-market.place/highlights/news/118/moderne-bestattungsvorsorge

https://app.funeral-market.place/highlights/news/119/er-sagt-wir-m-ssen-also-machen-wir-das

https://app.funeral-market.place/highlights/news/120/wolfgang-winkler-07-12-2019

https://app.funeral-market.place/highlights/news/121/marie-fredriksson-09-12-209

https://app.funeral-market.place/highlights/news/122/manfred-stolpe-29-12-2019

https://app.funeral-market.place/highlights/news/123/jan-fedder-30-12-2019

https://app.funeral-market.place/highlights/news/124/s-dtirol-05-01-2020

https://app.funeral-market.place/highlights/news/125/entstehungshintergrund-funeral-marketplace

https://app.funeral-market.place/highlights/news/126/kobe-bryant-26-01-2020

https://app.funeral-market.place/highlights/news/127/kirk-douglas-05-02-2020

https://app.funeral-market.place/highlights/news/128/hanau-19-02-2020

https://app.funeral-market.place/highlights/news/129/corona-pandemie-was-sie-jetzt-wissen-sollten

https://app.funeral-market.place/highlights/news/130/albert-uderzo-24-03-2020

https://app.funeral-market.place/highlights/news/131/wirvsvirus

https://app.funeral-market.place/highlights/news/132/covid19-berf-hrungs-app-unser-projekt-aus-dem-hackathon-wirvsvirus

https://app.funeral-market.place/highlights/news/133/trauerfeiern-w-hrend-der-coronavirus-krise

https://app.funeral-market.place/highlights/news/134/bill-withers-30-03-2020

https://app.funeral-market.place/highlights/news/135/r-diger-nehberg-01-04-2020

https://app.funeral-market.place/highlights/news/137/ulrich-kienzle-16-04-2020

https://app.funeral-market.place/highlights/news/138/norbert-bl-m-23-04-2020

https://app.funeral-market.place/highlights/news/139/michel-piccoli-12-05-2020

https://app.funeral-market.place/highlights/news/140/christo-31-05-2020

https://app.funeral-market.place/highlights/news/141/george-floyd-25-05-2020

https://app.funeral-market.place/highlights/news/54/aktion-lichtpunkt

https://app.funeral-market.place/highlights/news/55/trauertattoo

https://app.funeral-market.place/highlights/news/58/ios-app-basis-version-ab-sofort-verf-gbar

https://app.funeral-market.place/highlights/news/60/wandel-trends-in-der-bestattungskultur

https://app.funeral-market.place/highlights/news/63/was-tun-im-trauerfall

https://app.funeral-market.place/highlights/news/65/sankt-petersburg-3-april-2017-in-gedenken-an-die-opfer

https://app.funeral-market.place/highlights/news/66/anschlag-am-7-april-2017-in-stockholm-in-gedenken-an-die-opfer

https://app.funeral-market.place/highlights/news/67/helmut-kohl-03-04-1930-16-06-2017

https://app.funeral-market.place/highlights/news/68/anschlag-in-barcelona-17-august-2017-in-gedenken-an-die-opfer

https://app.funeral-market.place/highlights/news/69/acdc-malcolm-mitchell-young-18-november-2017

https://app.funeral-market.place/highlights/news/70/karl-lagerfeld-19-februar-2019

https://app.funeral-market.place/highlights/news/71/christchurch-15-03-2019

https://app.funeral-market.place/highlights/news/74/messe-leben-tod-am-10-11-mai-2019

https://app.funeral-market.place/highlights/news/76/sri-lanka-21-04-2019

https://app.funeral-market.place/highlights/news/77/hannelore-elsner-21-04-2019

https://app.funeral-market.place/highlights/news/78/fachmesse-dresden-pieta-2019

https://app.funeral-market.place/highlights/news/79/danke-messe-leben-tod

https://app.funeral-market.place/highlights/news/80/niki-lauda-20-05-2019

https://app.funeral-market.place/highlights/news/81/danke-fachmesse-pieta-dresden-2019

https://app.funeral-market.place/highlights/news/82/vernetzt-wachsen-veranstaltung-kompetenzzentrum

https://app.funeral-market.place/highlights/news/83/digitale-erfolgsgeschichten-2019

https://app.funeral-market.place/highlights/news/84/costa-cordalis-02-07-2019

https://app.funeral-market.place/highlights/news/85/beerdigung-und-tr-nen

https://app.funeral-market.place/highlights/news/86/beileidsbekundung

https://app.funeral-market.place/highlights/news/87/gedenkmodus-facebook

https://app.funeral-market.place/highlights/news/94/kinder-hospiz

https://app.funeral-market.place/highlights/news/95/memento-tag-am-8-august

https://app.funeral-market.place/highlights/news/97/el-paso-dayton-04-08-2019

https://app.funeral-market.place/highlights/news/98/traueranzeige-ver-ffentlichen

https://app.funeral-market.place/highlights/news/99/toni-morrison-05-08-2019

https://app.funeral-market.place/highlights/products/4574/trauertattoo-unsere-haut-als-gef-hlslandschaft

https://app.funeral-market.place/highlights/products/6123/1x-lichtpunkt

https://app.funeral-market.place/highlights/products/6270/ring-silhouette-585er-gold-14-karat

So you didn't change anything, just ran it twice? How many links did it produce for you?

My second run had 72 Links.
I was running into this problem trying to scrape SPA apps, the app needs to wait until the web page have fully rendered, which this does a decent job of in my use case. It looks like it might have issues on slower pages.
if you run your site in chrome and open lighthouse in the console, you have some serious site speed issues going on.

I don't think the site speed is necessarily the issue. The speed index you're seeing applies to mobile on 3G network (which indeed is really bad).
On desktop & fast network, the speed is much higher.

Site speed would not be an issue if the site loaded all at once, but if you have a full render before async calls return to populate content the page scan will take a body snapshot before the async content is rendered.
I ran into this a lot trying to scrape, and ended up needing to delay the snapshot 5-10s after page load for it to capture the content and not just the layout and placeholders.
I haven't looked into how this project handles the delay needs, but if your site has slow loading data sources, may need to add some delay before trying to snapshot the html.

Oh I see, that makes sense.
I'll see if I can find a way to add the delay.
Thanks for your help! 🙏


Parse unknown args to map?

Can this library parse unknown flags to a map? If not, feature request :)

You can do this yourself by using the UnknownOptionHandler callback function, part of the Parser (see https://godoc.org/github.com/jessevdk/go-flags#Parser).


route_replies irssi disconnect when hitting timeouts

Not exactly sure what happened here, but due to connectivity issues with the irc network that I'm connected to I was getting the following warning a few times "This module hit a timeout which is probably a connectivity issue.".
Irssi reported an increasing Lag while this happened, and eventually disconnected from znc with the following message: "No PONG reply from server my.znc.host in 301 seconds, disconnecting".
I have no idea why irssi disconnects from znc during stability issues between znc and the irc server while znc was able to keep the connection to the irc server active.

version?
logs of znc -D? (remove passwords from there)

Kinda sure this is a duplicate of #1299

Assuming this is a duplicate, I'm pretty sure I was experiencing it before I manually applied psychon's solution over 1.6.3 (ie if a 1.6.4 is imminent it seems worthwhile to backport the fix from master).

Done.


[Feature][unittest] Recover UT in AlertPluginManagerTest.java [closes: #6619]

Purpose of the pull request
This pull request recover UT in AlertPluginManagerTest.java[closes: #6619].
Brief change log
recover  DolphinPluginLoader loadPlugins() Test in AlertPluginManagerTest.java[closes: #6619]
Verify this pull request
This change added tests and can be verified as follows:

Manually verified the change by testing locally.

Hi @Linkaiup, thank for your contribution.  I think we should better target specific issue when we submit a PR, you could edit you and add text closes: #6619 to do it.

could you please approve to run workflow for this PR? @lenboo @CalvinKirs

I fix the error Assert result to the right Assert result.Need to re-approve the PR? @dailidong

@CalvinKirs @lenboo @ruanwenjun @zhuangchong @JinyLeeChina Do you have time to approve the workflow run?

AlertPluginManagerTest.java will be removed via https://github.com/apache/dolphinscheduler/pull/6723 so I think this PR is unnecessary

AlertPluginManagerTest.java will be removed via #6723 so I think this PR is unnecessary

That a bad news for our first contributor 😭 , @Linkaiup maybe you could go and find other interested in green hand issue in https://github.com/apache/dolphinscheduler/issues/5689

Codecov Report

Merging #6674 (6d73e0d) into dev (ef9de9d) will decrease coverage by 0.70%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##                dev    #6674      +/-   ##
============================================
- Coverage     38.49%   37.79%   -0.71%
+ Complexity     3227     3224       -3
============================================
  Files           646      649       +3
  Lines         25886    26355     +469
  Branches       2808     2849      +41
============================================
- Hits           9964     9960       -4
- Misses        15008    15482     +474
+ Partials        914      913       -1

Impacted Files
Coverage Δ

...hinscheduler/dao/upgrade/ProcessDefinitionDao.java
8.86% <0.00%> (-14.48%)
:arrow_down:

...er/master/dispatch/host/assign/RandomSelector.java
77.77% <0.00%> (-5.56%)
:arrow_down:

...org/apache/dolphinscheduler/remote/utils/Host.java
37.77% <0.00%> (-2.23%)
:arrow_down:

...pache/dolphinscheduler/dao/upgrade/UpgradeDao.java
2.77% <0.00%> (-1.45%)
:arrow_down:

...e/dolphinscheduler/remote/NettyRemotingClient.java
52.11% <0.00%> (-1.41%)
:arrow_down:

...heduler/spi/plugin/DolphinPluginManagerConfig.java
0.00% <0.00%> (ø)

...gin/registry/zookeeper/ZookeeperConfiguration.java
100.00% <0.00%> (ø)

...che/dolphinscheduler/dao/upgrade/JsonSplitDao.java
0.00% <0.00%> (ø)

...ache/dolphinscheduler/dao/upgrade/ScheduleDao.java
0.00% <0.00%> (ø)

...pache/dolphinscheduler/dao/upgrade/ProjectDao.java
0.00% <0.00%> (ø)

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 ef9de9d...6d73e0d. Read the comment docs.

@kezhenxu94 I found out after #6723  merged , test file still exists, did I miss something here? should this PR be closed or be merged?

@kezhenxu94 I found out after #6723 merged , test file still exists, did I miss something here? should this PR be closed or be merged?

Where did you find the file AlertPluginManagerTest.java? It's gone in dev branch already.
Did you update the dev branch?

I go and see in https://github.com/apache/dolphinscheduler/pull/6674/files, the diff show the file still exists.

I go and see in https://github.com/apache/dolphinscheduler/pull/6674/files, the diff show the file still exists @kezhenxu94

The link you posted https://github.com/apache/dolphinscheduler/pull/6674/files is this PR itself.... the dev branch has removed the file

Before now, I thought that diff is show different between target branch and PR change. If the target file is deleted, the diff would show PR try to add all content to target branch

Before now, I thought that diff is show different between target branch and PR change. If the target file is deleted, the diff would show PR try to add all content to target branch

diff may be a snapshot of the moment I submitted the code?That a bad news.Thank you for your reply !

Before now, I thought that diff is show different between target branch and PR change. If the target file is deleted, the diff would show PR try to add all content to target branch

diff may be a snapshot of the moment I submitted the code?That a bad news.Thank you for your reply !

Yeah, your right, It just a snapshot in PR diff. So I think maybe you should close this PR @Linkaiup , you could go and search other good first issue in  #5689

OK.I submitted a new pr #6940 .Looking forward to your code review!

Before now, I thought that diff is show different between target branch and PR change. If the target file is deleted, the diff would show PR try to add all content to target branch

diff may be a snapshot of the moment I submitted the code?That a bad news.Thank you for your reply !

Yeah, you are right, It just a snapshot in PR diff. So I think maybe you should close this PR @Linkaiup , you could go and search other good first issue in #5689

OK.I submitted a new pr #6940 .Looking forward to your code review!


Fix zOrder sorting

Resolves #115

Codecov Report

Merging #118 into master will increase coverage by 0.00%.
The diff coverage is 100.00%.


can not pass the custom parameters/ inputs with dispatch

Can you please provide more information? Customer parameters?
Can you post an example of what you want to do, and why it does not work?

I wanted to pass the custom parameters/inputs from workflow to another workflow while dispatching.

@Codex- any update on this?

No updates as I don't have enough information yet.
Can you post an example of what you want to do? Show me with how you have your workflow yaml setup and we can go from there.

I'll re-open this when more information is added

Can you please post the recipient workflow?

name: Upload Debug iOS Framework
on:
workflow_dispatch:
inputs:
distinct_id:
jobs:
build:
runs-on: macos-latest
permissions:
id-token: write
contents: read
actions: write
pull-requests: write
steps:
  - name: echo distinct ID ${{ github.event.inputs.distinct_id }}
    run: echo ${{ github.event.inputs.distinct_id }}

  - name: Cache Gradle dependencies
    uses: actions/cache@v2
    with:
      path: ~/.gradle/caches
      key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }}

When dispatching additional inputs to the target workflow, you need to define the inputs on the recipient workflow too: https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#onworkflow_dispatchinputs
Extraneous inputs (those that are not defined in your recipient workflow inputs definition) will be discarded, afaik
Try adding the additional inputs you need and let me know how you go :)

I will check and update here @Codex-

Thanks @Codex- it worked.


Port to GNOME 45

Ports the extension to GNOME 45, mostly involving updating the imports and removing the old ExtensionUtils. Also fixes the toggle appearing below "background apps."
Fixes #28
Fixes #29

LGTM outside the one nitpick which is pretty small in the scale of things, I'll merge this after work and update the e.g.o. extension.


build from source fail

Description

i build sample project run well follow doc: https://reactnative.dev/docs/environment-setup
i build from source follow doc: https://reactnative.dev/contributing/how-to-build-from-source
i replace the sample project  'AwesomeProject/node_modules/react-native' with react-native source code: 0.69.0

what went wrong as below:
➜  AwesomeProject yarn android
yarn run v1.22.18
$ react-native run-android
info Running jetifier to migrate libraries to AndroidX. You can disable it using "--no-jetifier" flag.
Jetifier found 1009 file(s) to forward-jetify. Using 8 workers...
info JS server already running.
info Installing the app...
FAILURE: Build failed with an exception.

What went wrong:
Included build /Users/banma-2564/AwesomeProject/node_modules/react-native/packages/react-native-gradle-plugin has build path :react-native-gradle-plugin which is the same as included build /Users/banma-2564/AwesomeProject/node_modules/react-native-gradle-plugin

Try:

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

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

BUILD FAILED in 1s
error Failed to install the app. Make sure you have the Android development environment set up: https://reactnative.dev/docs/environment-setup.
Error: Command failed: ./gradlew app:installDebug -PreactNativeDevServerPort=8081
FAILURE: Build failed with an exception.

What went wrong:
Included build /Users/banma-2564/AwesomeProject/node_modules/react-native/packages/react-native-gradle-plugin has build path :react-native-gradle-plugin which is the same as included build /Users/banma-2564/AwesomeProject/node_modules/react-native-gradle-plugin

Try:

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

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

BUILD FAILED in 1s
at makeError (/Users/banma-2564/AwesomeProject/node_modules/execa/index.js:174:9)
at /Users/banma-2564/AwesomeProject/node_modules/execa/index.js:278:16
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at async runOnAllDevices (/Users/banma-2564/AwesomeProject/node_modules/@react-native-community/cli-platform-android/build/commands/runAndroid/runOnAllDevices.js:109:5)
at async Command.handleAction (/Users/banma-2564/AwesomeProject/node_modules/@react-native-community/cli/build/index.js:192:9)

info Run CLI with --verbose flag for more details.
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
Version
0.69.0
Output of npx react-native info
System:
OS: macOS 12.3.1
CPU: (8) arm64 Apple M1
Memory: 109.17 MB / 16.00 GB
Shell: 5.8 - /bin/zsh
Binaries:
Node: 17.6.0 - /usr/local/bin/node
Yarn: 1.22.18 - /usr/local/bin/yarn
npm: 8.5.1 - /usr/local/bin/npm
Watchman: 2<IP_ADDRESS> - /opt/homebrew/bin/watchman
Managers:
CocoaPods: 1.11.3 - /usr/local/bin/pod
SDKs:
iOS SDK:
Platforms: DriverKit 21.4, iOS 15.5, macOS 12.3, tvOS 15.4, watchOS 8.5
Android SDK:
Android NDK: 21.4.7075529
IDEs:
Android Studio: Chipmunk 2021.2.1 Patch 1 Chipmunk 2021.2.1 Patch 1
Xcode: 13.4.1/13F100 - /usr/bin/xcodebuild
Languages:
Java: 11.0.15 - /usr/bin/javac
npmPackages:
@react-native-community/cli: Not Found
react: Not Found
react-native: Not Found
react-native-macos: Not Found
npmGlobalPackages:
react-native: Not Found
info React Native v0.69.1 is now available (your project is running on v0.69.0).
info Changelog: https://github.com/facebook/react-native/releases/tag/v0.69.1.
info Diff: https://react-native-community.github.io/upgrade-helper/?from=0.69.0.
info To upgrade, run "react-native upgrade".
Steps to reproduce

follow official doc: https://reactnative.dev/docs/environment-setup  generate sample project: AwesomeProject runs well
follow official doc:  https://reactnative.dev/contributing/how-to-build-from-source,
replace "AwesomeProject/node_modules/react-native" with ract-native 0.69.0 which clone from "git@github.com:facebook/react-native.git"
what i want to do is build from source, but somethings went wrong

Snack, code example, screenshot, or link to a repository
android/app/build.gradle
apply plugin: "com.android.application"
import com.android.build.OutputFile
/**

The react.gradle file registers a task for each build variant (e.g. bundleDebugJsAndAssets
and bundleReleaseJsAndAssets).
These basically call react-native bundle with the correct arguments during the Android build
cycle. By default, bundleDebugJsAndAssets is skipped, as in debug/dev mode we prefer to load the
bundle directly from the development server. Below you can see all the possible configurations
and their defaults. If you decide to add a configuration block, make sure to add it before the
apply from: "../../node_modules/react-native/react.gradle" line.

project.ext.react = [
// the name of the generated asset file containing your JS bundle
bundleAssetName: "index.android.bundle",

// the entry file for bundle generation. If none specified and
// "index.android.js" exists, it will be used. Otherwise "index.js" is
// default. Can be overridden with ENTRY_FILE environment variable.
entryFile: "index.android.js",

// https://reactnative.dev/docs/performance#enable-the-ram-format
bundleCommand: "ram-bundle",

// whether to bundle JS and assets in debug mode
bundleInDebug: false,

// whether to bundle JS and assets in release mode
bundleInRelease: true,

// whether to bundle JS and assets in another build variant (if configured).
// See http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Build-Variants
// The configuration property can be in the following formats
//         'bundleIn${productFlavor}${buildType}'
//         'bundleIn${buildType}'
// bundleInFreeDebug: true,
// bundleInPaidRelease: true,
// bundleInBeta: true,

// whether to disable dev mode in custom build variants (by default only disabled in release)
// for example: to disable dev mode in the staging build type (if configured)
devDisabledInStaging: true,
// The configuration property can be in the following formats
//         'devDisabledIn${productFlavor}${buildType}'
//         'devDisabledIn${buildType}'

// the root of your project, i.e. where "package.json" lives
root: "../../",

// where to put the JS bundle asset in debug mode
jsBundleDirDebug: "$buildDir/intermediates/assets/debug",

// where to put the JS bundle asset in release mode
jsBundleDirRelease: "$buildDir/intermediates/assets/release",

// where to put drawable resources / React Native assets, e.g. the ones you use via
// require('./image.png')), in debug mode
resourcesDirDebug: "$buildDir/intermediates/res/merged/debug",

// where to put drawable resources / React Native assets, e.g. the ones you use via
// require('./image.png')), in release mode
resourcesDirRelease: "$buildDir/intermediates/res/merged/release",

// by default the gradle tasks are skipped if none of the JS files or assets change; this means
// that we don't look at files in android/ or ios/ to determine whether the tasks are up to
// date; if you have any other folders that you want to ignore for performance reasons (gradle
// indexes the entire tree), add them here. Alternatively, if you have JS files in android/
// for example, you might want to remove it from here.
inputExcludes: ["android/", "ios/"],

// override which node gets called and with what additional arguments
nodeExecutableAndArgs: ["node"],

// supply additional arguments to the packager
extraPackagerArgs: []
]
*/

project.ext.react = [
enableHermes: false,  // clean and rebuild if changing
]
apply from: "../../node_modules/react-native/react.gradle"
/**

Set this to true to create two separate APKs instead of one:

An APK that only works on ARM devices

An APK that only works on x86 devices

The advantage is the size of the APK is reduced by about 4MB.
Upload all the APKs to the Play Store and people will download
the correct one based on the CPU architecture of their device.
*/
def enableSeparateBuildPerCPUArchitecture = false

/**

Run Proguard to shrink the Java bytecode in release builds.
*/
def enableProguardInReleaseBuilds = false

/**

The preferred build flavor of JavaScriptCore.

For example, to use the international variant, you can use:
def jscFlavor = 'org.webkit:android-jsc-intl:+'

The international variant includes ICU i18n library and necessary data
allowing to use e.g. Date.toLocaleString and String.localeCompare that
give correct results when using with locales other than en-US.  Note that
this variant is about 6MiB larger per architecture than default.
*/
def jscFlavor = 'org.webkit:android-jsc:+'

/**

Whether to enable the Hermes VM.

This should be set on project.ext.react and that value will be read here. If it is not set
on project.ext.react, JavaScript will not be compiled to Hermes Bytecode
and the benefits of using Hermes will therefore be sharply reduced.
*/
def enableHermes = project.ext.react.get("enableHermes", false);

/**

Architectures to build native code for.
*/
def reactNativeArchitectures() {
def value = project.getProperties().get("reactNativeArchitectures")
return value ? value.split(",") : ["armeabi-v7a", "x86", "x86_64", "arm64-v8a"]
}

android {
ndkVersion rootProject.ext.ndkVersion
compileSdkVersion rootProject.ext.compileSdkVersion

defaultConfig {
    applicationId "com.awesomeproject"
    minSdkVersion rootProject.ext.minSdkVersion
    targetSdkVersion rootProject.ext.targetSdkVersion
    versionCode 1
    versionName "1.0"
    buildConfigField "boolean", "IS_NEW_ARCHITECTURE_ENABLED", isNewArchitectureEnabled().toString()

    if (isNewArchitectureEnabled()) {
        // We configure the NDK build only if you decide to opt-in for the New Architecture.
        externalNativeBuild {
            ndkBuild {
                arguments "APP_PLATFORM=android-21",
                    "APP_STL=c++_shared",
                    "NDK_TOOLCHAIN_VERSION=clang",
                    "GENERATED_SRC_DIR=$buildDir/generated/source",
                    "PROJECT_BUILD_DIR=$buildDir",
                    "REACT_ANDROID_DIR=$rootDir/../node_modules/react-native/ReactAndroid",
                    "REACT_ANDROID_BUILD_DIR=$rootDir/../node_modules/react-native/ReactAndroid/build",
                    "NODE_MODULES_DIR=$rootDir/../node_modules"
                cFlags "-Wall", "-Werror", "-fexceptions", "-frtti", "-DWITH_INSPECTOR=1"
                cppFlags "-std=c++17"
                // Make sure this target name is the same you specify inside the
                // src/main/jni/Android.mk file for the `LOCAL_MODULE` variable.
                targets "awesomeproject_appmodules"
            }
        }
        if (!enableSeparateBuildPerCPUArchitecture) {
            ndk {
                abiFilters (*reactNativeArchitectures())
            }
        }
    }
}

if (isNewArchitectureEnabled()) {
    // We configure the NDK build only if you decide to opt-in for the New Architecture.
    externalNativeBuild {
        ndkBuild {
            path "$projectDir/src/main/jni/Android.mk"
        }
    }
    def reactAndroidProjectDir = project(':ReactAndroid').projectDir
    def packageReactNdkDebugLibs = tasks.register("packageReactNdkDebugLibs", Copy) {
        dependsOn(":ReactAndroid:packageReactNdkDebugLibsForBuck")
        from("$reactAndroidProjectDir/src/main/jni/prebuilt/lib")
        into("$buildDir/react-ndk/exported")
    }
    def packageReactNdkReleaseLibs = tasks.register("packageReactNdkReleaseLibs", Copy) {
        dependsOn(":ReactAndroid:packageReactNdkReleaseLibsForBuck")
        from("$reactAndroidProjectDir/src/main/jni/prebuilt/lib")
        into("$buildDir/react-ndk/exported")
    }
    afterEvaluate {
        // If you wish to add a custom TurboModule or component locally,
        // you should uncomment this line.
        // preBuild.dependsOn("generateCodegenArtifactsFromSchema")
        preDebugBuild.dependsOn(packageReactNdkDebugLibs)
        preReleaseBuild.dependsOn(packageReactNdkReleaseLibs)

        // Due to a bug inside AGP, we have to explicitly set a dependency
        // between configureNdkBuild* tasks and the preBuild tasks.
        // This can be removed once this is solved: https://issuetracker.google.com/issues/207403732
        configureNdkBuildRelease.dependsOn(preReleaseBuild)
        configureNdkBuildDebug.dependsOn(preDebugBuild)
        reactNativeArchitectures().each { architecture ->
            tasks.findByName("configureNdkBuildDebug[${architecture}]")?.configure {
                dependsOn("preDebugBuild")
            }
            tasks.findByName("configureNdkBuildRelease[${architecture}]")?.configure {
                dependsOn("preReleaseBuild")
            }
        }
    }
}

splits {
    abi {
        reset()
        enable enableSeparateBuildPerCPUArchitecture
        universalApk false  // If true, also generate a universal APK
        include (*reactNativeArchitectures())
    }
}
signingConfigs {
    debug {
        storeFile file('debug.keystore')
        storePassword 'android'
        keyAlias 'androiddebugkey'
        keyPassword 'android'
    }
}
buildTypes {
    debug {
        signingConfig signingConfigs.debug
    }
    release {
        // Caution! In production, you need to generate your own keystore file.
        // see https://reactnative.dev/docs/signed-apk-android.
        signingConfig signingConfigs.debug
        minifyEnabled enableProguardInReleaseBuilds
        proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
    }
}

// applicationVariants are e.g. debug, release
applicationVariants.all { variant ->
    variant.outputs.each { output ->
        // For each separate APK per architecture, set a unique version code as described here:
        // https://developer.android.com/studio/build/configure-apk-splits.html
        // Example: versionCode 1 will generate 1001 for armeabi-v7a, 1002 for x86, etc.
        def versionCodes = ["armeabi-v7a": 1, "x86": 2, "arm64-v8a": 3, "x86_64": 4]
        def abi = output.getFilter(OutputFile.ABI)
        if (abi != null) {  // null for the universal-debug, universal-release variants
            output.versionCodeOverride =
                    defaultConfig.versionCode * 1000 + versionCodes.get(abi)
        }

    }
}

}
dependencies {
implementation fileTree(dir: "libs", include: ["*.jar"])
//noinspection GradleDynamicVersion
implementation project(':ReactAndroid')  // From node_modules

implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.0.0"

debugImplementation("com.facebook.flipper:flipper:${FLIPPER_VERSION}") {
    exclude group:'com.facebook.fbjni'
}

debugImplementation("com.facebook.flipper:flipper-network-plugin:${FLIPPER_VERSION}") {
    exclude group:'com.facebook.flipper'
    exclude group:'com.squareup.okhttp3', module:'okhttp'
}

debugImplementation("com.facebook.flipper:flipper-fresco-plugin:${FLIPPER_VERSION}") {
    exclude group:'com.facebook.flipper'
}

if (enableHermes) {
    //noinspection GradleDynamicVersion
    implementation("com.facebook.react:hermes-engine:+") { // From node_modules
        exclude group:'com.facebook.fbjni'
    }
} else {
    implementation jscFlavor
}

}
if (isNewArchitectureEnabled()) {
// If new architecture is enabled, we let you build RN from source
// Otherwise we fallback to a prebuilt .aar bundled in the NPM package.
// This will be applied to all the imported transtitive dependency.
configurations.all {
resolutionStrategy.dependencySubstitution {
substitute(module("com.facebook.react:react-native"))
.using(project(":ReactAndroid"))
.because("On New Architecture we're building React Native from source")
substitute(module("com.facebook.react:hermes-engine"))
.using(project(":ReactAndroid:hermes-engine"))
.because("On New Architecture we're building Hermes from source")
}
}
}
// Run this once to be able to run the application with BUCK
// puts all compile dependencies into folder libs for BUCK to use
task copyDownloadableDepsToLibs(type: Copy) {
from configurations.implementation
into 'libs'
}
apply from: file("../../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesAppBuildGradle(project)
def isNewArchitectureEnabled() {
// To opt-in for the New Architecture, you can either:
// - Set newArchEnabled to true inside the gradle.properties file
// - Invoke gradle with -newArchEnabled=true
// - Set an environment variable ORG_GRADLE_PROJECT_newArchEnabled=true
return project.hasProperty("newArchEnabled") && project.newArchEnabled == "true"
}

android/setting.gradle:
pluginManagement {
repositories {
gradlePluginPortal()
mavenLocal()
google()
}
}
rootProject.name = 'AwesomeProject'
apply from: file("../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesSettingsGradle(settings)
include ':app'
includeBuild('../node_modules/react-native-gradle-plugin')
if (settings.hasProperty("newArchEnabled") && settings.newArchEnabled == "true") {
include(":ReactAndroid")
project(":ReactAndroid").projectDir = file('../node_modules/react-native/ReactAndroid')
include(":ReactAndroid:hermes-engine")
project(":ReactAndroid:hermes-engine").projectDir = file('../node_modules/react-native/ReactAndroid/hermes-engine')
}
include ':ReactAndroid'
project(':ReactAndroid').projectDir = new File(
rootProject.projectDir, '../node_modules/react-native/ReactAndroid')
// Includes React Native Gradle Plugin into Gradle project. Required by :ReactAndroid project configuration.
includeBuild('../node_modules/react-native/packages/react-native-gradle-plugin')

i want place react-native source code 0.69.0 into sample project and wish it compile success, what should i do , can everyone help ? thanks very much

reactnative.dev/contributing/how-to-build-from-source

This page is not up-to-date sadly. With RN 0.68+ we added the configuration for the New Architecture which clashes with the instructions suggested in this page. We should look into updating it.
It should be fairly easy. Any support from contributors is more than welcome here 🙏

@cortinico I will try to work on this