Issue732

Have you read the Contributing Guidelines on Pull Requests?
Yes
Description
Program to generate all combinations of well-formed parentheses.
Checklist
[ yes] I've read the contribution guidelines.
[ yes] I've checked the issue list before deciding what to submit.
[ yes] I've edited the README.md and link to my code.
Related Issues or Pull Requests

tarun26091999  sir, Kindly review this, and if any changes required please let me know.
Thank you sir for your time!

@kanchan1910 you cannot have commits of multiple issues in same PR.

@tarun26091999 sir, apology for my mistake.


Multiarchitecture docker image

Any chance to get a multiarchitecture Docker image? If one has pipelines running on ARM it's difficult to use this.
How about CI for image build? Maybe using Drone?

... I suppose I was just missing the way to set something like:
trigger:
  status:
  - failure

on a pipeline to run that when other pipelines would fail, which definitely seems preferable to trying to have it everywhere, which wouldn't work well indeed...
With that in mind I don't feel a great need for multiarchitecture though CI for builds might be a good thing indeed ...


Make blog content more visible from top of homepage

Currently you can't see it because of length of intro paragraph

Have you thought about using a two-column layout on the front page?  Not sure if our template is mobile-responsive, or for that matter, how much traffic we'll see from mobile devices vs. desktop/laptop... Just a thought.

Like a sidebar with a list of posts? Otherwise I think a two-column with content on both would look super wordy but maybe I'm being overly sensitive.  Another solution is to allow the intro content to scroll separately (paralax)
(btw - if you can link to a page that you think I should be mimicking that would help me understand what you aspire towards!)

Was not thinking something as complex as parallax... just a way to see both types of content from the top of the page.
I guess a sidebar comes closest to what I had in mind--something like one of these:
https://wordpress.org/themes/woodley/   [super traditional; gets the job done]
https://wordpress.org/themes/everbox/   [more than simple text links to posts--u get pics too!]
https://wordpress.org/themes/serena/    [lots of words on the page, but in a tiled set-up]
So far, you have been pretty good about adding graphics early in each post, so I am not super-worried about there being too much text to wade through.
But, if it doesn't look nice, another option would be to have the intro content become a sticky post on one side, and add some graphics to it, so that we know the front page will always have some pieces that help break up any potential monotony if we happen to have a few back-to-back text heavy blog posts.
Not sure if that helps...?


[10.x] Change Arr::sortRecursiveDesc() method to static.

This PR makes the Arr::sortRecursiveDesc() method static, which it should be.

Please add more reasoning why this is needed.

Using the
Arr::sortRecursiveDesc([1, 7, 3, 4 ])

method results in a PHP parser error:

Non-static method Illuminate\Support\Arr::sortRecursiveDesc() cannot be called statically

The Arr::sortRecursiveDesc() method references another Arr::sortRecursive() method, which is a static method.


RFC: [sw/testing] OpenTitan Test Framework (OTTF)

Current On-Device Chip-level Test Framework

Currently, chip-level tests are executed on-device across three targets (DV, Verilator, and FPGA), using host-side test initiation tools, and a rudimentary on-device test framework, shown in light purple in the figure above. On the host side, two main tools are used to initiate tests on the device. For the DV simulation target, the dvsim.py tool is used, while for Verilator and FPGA targets, the systemtest (pytest) tool is used. Focusing on the device side, for all three targets, the test_main.{h,c} test framework (light purple) is used to provide a uniform execution environment for chip-level tests. The test_main.{h,c} test framework provides boilerplate setup code that configures the UART for communicating messages and test results back to the host.
Note: For DV and Verilator simulations,  test statues (i.e. pass/fail) are currently reported through a dedicated RAM segment that the testbench can read directly, which eliminates the need to communicate over (the slow) UART. However for Verilator simulations, logging over UART is also supported.
Issues with the Current Chip-level Test Framework

It does not support concurrency testing since it lacks a thin operating system layer to switch between concurrent test tasks.

It does not provide a mechanism for the test running on the device to communicate with the host to instruct it send stimulation signals, e.g., a I2C test may need to configure the I2C peripheral (via DIFs) then wait for an incoming I2C transaction, by issuing a WFI instruction, from the host, or eventually, the HyperDebug board.

It is specific to the Earlgrey toplevel, since it makes use of Earlgrey-specific auto-generated header files, which will not scale to future OpenTitan toplevel configurations.

Proposal
Design a new unified framework for executing OpenTitan chip-level tests (including smoke, IP integration, and system-level tests) across all pre-silicon verification targets (DV simulation, Verilator simulation, FGPA) and post-silicon for bringup. The name of this framework will be the: OpenTitan Test Framework (or OTTF). This will overcome pitfalls of the Current On-Device Chip-level Test Framework, and will serve as a single endpoint for testing OpenTitan hardware from software, using DIFs, both sequentially and concurrently. It will sit on-device, and communicate with host-side test initiation tools, as shown in the System Architecture diagram below.
System Architecture

Design
The OTTF will be comprised of the following components, as shown in the System Architecture diagram  below:

a lightweight OS (FreeRTOS) for executing both sequential or concurrent tests,
a test server, that:

initializes the test infrastructure on the device, including the lightweight OS,
opens and maintains a communication channel with the test initiator on the host,
launches a single or set-of tests using well-defined commands from the host,
communicates external stimuli requests to the host, and synchronizes this stimuli to running tests,
aggregates and reports test results to the host, and
tears down all on-device test infrastructure upon test completion, and

a dedicated UART communication channel that interfaces to opentitantool, the host-side test initiation tool that is currently under development.

this looks pretty good overall, my main concern is that i'm not sure if OTTF will be too heavy for the DV environment ( we won't know until we try).   But usually DV directed test cases are VERY baremetal, so if there's a layer of software coordination on top (especially it's an OS), it could potentially slow things down dramatically.

for this part specifically
It does not provide a mechanism for the test running on the device to communicate with the host to instruct it send stimulation signals, e.g., a I2C test may need to configure the I2C peripheral (via DIFs) then wait for an incoming I2C transaction, by issuing a WFI instruction, from the host, or eventually, the HyperDebug board.

I know @sriyerg had planned a lightweight mechanism for DV.  The main thing that's different between DV and FPGA is that DV has a lot of backdoor capabilities that can really reduce the "software" burden on the system.  So if there's any way we can leverage OTTF to take advantage of that, i think it would be best.  As an example, DV has a "fake" ram it can use to communicate with the "host".  So this saves us from having to actually go through a peripheral interface, and the host can simply magically reach into this virtual memory and get information.   I think it would be good to have that kind of function.  This might already be part of your plans and it's just not clear to me at the moment.

this looks pretty good overall, my main concern is that i'm not sure if OTTF will be too heavy for the DV environment ( we won't know until we try). But usually DV directed test cases are VERY baremetal, so if there's a layer of software coordination on top (especially it's an OS), it could potentially slow things down dramatically.

Great point to bring up, and its something we are considering in the full design doc/RFC. There are some performance measurements  planned in the near future. Also, for non-current tests, we can disable the timer-interrupt driven scheduler tick of the OS so the only overhead is about the same initialization used by the current test_main.c. (Obviously this needs to be measured, but I expect it to be about the same).

for this part specifically
It does not provide a mechanism for the test running on the device to communicate with the host to instruct it send stimulation signals, e.g., a I2C test may need to configure the I2C peripheral (via DIFs) then wait for an incoming I2C transaction, by issuing a WFI instruction, from the host, or eventually, the HyperDebug board.

I know @sriyerg had planned a lightweight mechanism for DV. The main thing that's different between DV and FPGA / ASIC is that DV has a lot of backdoor capabilities that can really reduce the "software" burden on the system. So if there's any way we can leverage OTTF to take advantage of that, i think it would be best. As an example, DV has a "fake" ram it can use to communicate with the "host". So this saves us from having to actually go through a peripheral interface, and the host can simply magically reach into this virtual memory and get information. I think it would be good to have that kind of function. This might already be part of your plans (since I see the UART connection is not used for DV / verilator) and it's just not clear to me at the moment.

Yes, I was aware of the current DV communication mechanism, and the goal is to keep this in place. This bit of "fake ram" is put in place by the linker script I believe, and since I use the same linker script to build the OS image (with the test server and test(s) baked in) this is still in place. That was why the UART connection was not used for DV/Verilator, b/c I figured we would probably use the same mechanism already place. I could label the DV/Verilator connection "shared memory" or something like that? Sorry I should have made that more clear.

o it's not a problem. I like how clean the diagram is, I wouldn't clutter
it.
But it would be good to have a small piece of text discussing the deltas
between DV / Verilator and FPGA / ASIC
On Wed, Sep 1, 2021 at 10:10 AM Timothy Trippel @.***>
wrote:

for this part specifically
It does not provide a mechanism for the test running on the device to communicate with the host to instruct it send stimulation signals, e.g., a I2C test may need to configure the I2C peripheral (via DIFs) then wait for an incoming I2C transaction, by issuing a WFI instruction, from the host, or eventually, the HyperDebug board.
I know @sriyerg https://github.com/sriyerg had planned a lightweight
mechanism for DV. The main thing that's different between DV and FPGA /
ASIC is that DV has a lot of backdoor capabilities that can really reduce
the "software" burden on the system. So if there's any way we can leverage
OTTF to take advantage of that, i think it would be best. As an example, DV
has a "fake" ram it can use to communicate with the "host". So this saves
us from having to actually go through a peripheral interface, and the host
can simply magically reach into this virtual memory and get information. I
think it would be good to have that kind of function. This might already be
part of your plans (since I see the UART connection is not used for DV /
verilator) and it's just not clear to me at the moment.
Yes, I was aware of the current DV communication mechanism, and the goal
is to keep this in place. This bit of "fake ram" is put in place by the
linker script I believe, and since I use the same linker script to build
the OS image (with the test server and test(s) baked in) this is still in
place. That was why the UART connection was not used for DV/Verilator, b/c
I figured we would probably use the same mechanism already place. I could
label the DV/Verilator connection "shared memory" or something like that?
Sorry I should have made that more clear.
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/lowRISC/opentitan/issues/8015#issuecomment-910484254,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAH2RSW37XWGJ4OSCPRZ6Y3T7ZNCBANCNFSM5DFGYPRA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

for this part specifically
It does not provide a mechanism for the test running on the device to communicate with the host to instruct it send stimulation signals, e.g., a I2C test may need to configure the I2C peripheral (via DIFs) then wait for an incoming I2C transaction, by issuing a WFI instruction, from the host, or eventually, the HyperDebug board.

I know @sriyerg had planned a lightweight mechanism for DV. The main thing that's different between DV and FPGA / ASIC is that DV has a lot of backdoor capabilities that can really reduce the "software" burden on the system. So if there's any way we can leverage OTTF to take advantage of that, i think it would be best. As an example, DV has a "fake" ram it can use to communicate with the "host". So this saves us from having to actually go through a peripheral interface, and the host can simply magically reach into this virtual memory and get information. I think it would be good to have that kind of function. This might already be part of your plans (since I see the UART connection is not used for DV / verilator) and it's just not clear to me at the moment.

Completely replacing the existing test framework (test_main) with OTTF especially for the DV simulations would be the right way to go ONLY if it does not worsen the sim runtime by over 10%. Do we all agree here? We ought to be doing the performance measurements now rather than later. I agree with @tjaychen - it will be good to clearly document what's works differently across the testing platforms.
Also note that the Verilator uses the fake mem only to signal whether the test passed or failed. It uses the on-device UART for logging.

for this part specifically
It does not provide a mechanism for the test running on the device to communicate with the host to instruct it send stimulation signals, e.g., a I2C test may need to configure the I2C peripheral (via DIFs) then wait for an incoming I2C transaction, by issuing a WFI instruction, from the host, or eventually, the HyperDebug board.

I know @sriyerg had planned a lightweight mechanism for DV. The main thing that's different between DV and FPGA / ASIC is that DV has a lot of backdoor capabilities that can really reduce the "software" burden on the system. So if there's any way we can leverage OTTF to take advantage of that, i think it would be best. As an example, DV has a "fake" ram it can use to communicate with the "host". So this saves us from having to actually go through a peripheral interface, and the host can simply magically reach into this virtual memory and get information. I think it would be good to have that kind of function. This might already be part of your plans (since I see the UART connection is not used for DV / verilator) and it's just not clear to me at the moment.

Completely replacing the existing test framework (test_main) with OTTF especially for the DV simulations would be the right way to go ONLY if it does not worsen the sim runtime by over 10%. Do we all agree here? We ought to be doing the performance measurements now rather than later. I agree with @tjaychen - it will be good to clearly document what's works differently across the testing platforms.

Agreed. The next priority task with the OTTF (once approval has been granted to check-in the prototype code) is a performance measurement. So this will become clear very soon.

Also note that the Verilator uses the fake mem only to signal whether the test passed or failed. It uses the on-device UART for logging.

I have documented this above and in the design doc.

Task Burndown
Addressed in: #7877

[x] Vendor in FreeRTOS kernel

Addressed in: #7938

[x] Setup OTTF meson build target to x-compile FreeRTOS to RV32I
[x] Setup main OTTF entry point that inits UART (similar to existing test framework)
[x] Implement FreeRTOS RISC-V port layers

[x] C -- implement start/end scheduler functions to init RV timer
[x] asm -- setup/load initial task stack(s)

[x] add example test that runs as a FreeRTOS task

Address in: #8190

[x] implement default OTTF ISRs that can be overridden by tests (#8190)
[x] implement asm ISR entry/exit subroutines

Address in: #8910

[x] organize/minimize required features in FreeRTOSConfig.h
[x] configure FreeRTOS to default to non-preemptive scheduling mode

Address in: see below

[x] configure OTTF to automatically report test status and tear down the test infrastructure upon test completion (#9051)
[ ] run performance analysis vs. current on-device test framework infrastructure
[ ] submit above for approval to TC
[ ] Restructure meson build targets to so OTTF tests are link time dependencies
[ ] Add support for context switching between test (FreeRTOS) tasks

[ ] non-preemptive mode --> in ecall exception handler
[ ] preemptive mode --> in timer ISR

[ ] with TC approval, migrate existing on-device tests to use the OTTF (instead of the existing on-device test framework)
[ ] deprecate existing on-device test framework
[ ] add support for additional communication transports to opentitantool (besides just UART)

Above is the performance evaluation of the OTTF vs. the current on-device (bare-metal) test framework. The evaluation was completed across 4 tests, including 3 smoke tests and an empty test that simply executes return true;. Runtimes were computed relative to the current on-device test framework. Across all tests there is a small (constant) runtime overhead of approximately 10k cycles due to the zeroing of the .bss section performed by flash_crt.S, which is larger for tests using the OTTF since this is where FreeRTOS statically allocates space for the heap. A final optimization can be made to eliminate this overhead completely, but is orthogonal to the OTTF, as described in #9163.

The Technical Committee (TC) has decided to approve this proposal. Please continue working closely with @sriyerg and other SW contributors and keep a close eye on performance.

@timothytrippel is there anything left to do here for M2? If not, can we close or defer into M3?

nothing major left here for M2, just some final cleanups for M3. Moving to M3.


docs: add localization overview & guide

What/Why?
This PR adds the localization overview & guide back into the docs for DEVDOCS-6062.
PR 1298, where I originally added the localization overview & guide, was reverted in PR 1306. The reason was that subdirectories aren't supported for the catalyst.dev repository (https://bigcommerce.slack.com/archives/C0740QWEF9R/p1724446019589669), so the docs would not appear in the navigation bar.
This PR adds the overview & guide back into the docs, but places them under the /docs directory (no subdirectories).
See PR 21 for new navigation bar changes. Must merge this PR before PR 21.
Testing
N / A

With #1333 we need to update the folder location of some of the objects we set for localization.

@jorgemoya It looks like PR 1333 is merged. Can my PR be approved?

I think I confused things @bc-andreadao. What I meant to say is that with the latest changes from #1333, the i18n.ts file no longer exists, instead we define languages in routing.ts inside the i18n folder. Do you think we should include that update in this PR?

@jorgemoya Ah I see, thanks for clarifying. If you could help me make the changes to this PR that would work

@bc-andreadao Yeah I will!


Vim9: reference to script-local function not easy to read and not always usable

Describe the bug
In Vim9 script, the value of a reference to a script-local function is not easy to read, and cannot be used in some contexts.
To Reproduce
Run this shell command:
vim -Nu NONE -S <(cat <<'EOF'
    vim9script
    def Opfunc(_)
        echo 'no error'
    enddef
    &opfunc = Opfunc->string()
    feedkeys('g@l')
EOF
)

E117 is raised:
E117: Unknown function: function('<80><fd>R1_Opfunc')

Expected behavior
No error is raised; no error is echo'ed.
I think this would be possible if the value of Opfunc was this:
<SNR>1_Opfunc

Instead of this:
<80><fd>R1_Opfunc

Also, it would make the value a little easier to read.
Environment

Vim version: 8.2 Included patches: 1-2817
OS: Ubuntu 16.04.7 LTS
Terminal: xterm(367)

Additional context
As a workaround, for such situations, we can use expand('<SID>'):
vim9script
def Opfunc(_)
    echo 'no error'
enddef
&opfunc = expand('<SID>') .. 'Opfunc'
feedkeys('g@l')

no error

But it makes the code a little less readable.  And it doesn't help in the general case; e.g. while debugging some issue, we could be reading a dictionary of funcrefs; stumbling upon a byte sequence such as <80><fd>R looks weird.

I think this would be possible if the value of Opfunc was this:

Actually, I'm not sure.  Maybe an error would still be raised because of function() which would be produced by string().  But I keep the issue open, just in case <80><fd>R can be simplified into <SNR> for better readability.

Never mind, without a practical example which we could benefit from, fixing this issue is not that useful/important.

In the future, it would be nice if we could simply write:
&opfunc = Opfunc

But that's a different issue.  There was some discussion about accepting lambdas for *expr and *func options.  I think it would make sense to also accept funcrefs.


Package request: stacer

Project description

Metadata

homepage URL:
source URL:
license: mit, bsd, gpl2+ , ...
platforms: unix, linux, darwin, ...

already requested in #188921

https://github.com/NixOS/nixpkgs/pull/188986


Tenant fails to be created when shareAddresses is used

Environment

Application Services Version: 3.20+
BIG-IP Version: All

Summary
When multiple tenants in the same declaration are using the same shared virtual-address(es), some tenants fail to be created.
Steps To Reproduce
Steps to reproduce the behavior:

Submit the following declaration:

{
    "class": "AS3",
    "persist": false,
    "declaration": {
        "class": "ADC",
        "schemaVersion": "3.20.0",
        "id": "Pool",
        "controls": {
            "class": "Controls",
            "trace": true,
            "logLevel": "debug",
            "traceResponse": true
        },
        "TEST_Shared1": {
            "class": "Tenant",
            "Application": {
                "class": "Application",
                "template": "generic",
                "test.item-foo": {
                    "class": "Service_Generic",
                    "virtualAddresses": [
                        "<IP_ADDRESS>",
                        "<IP_ADDRESS>"
                    ],
                    "virtualPort": 8080,
                    "shareAddresses": true
                }
            },
            "Application2": {
                "class": "Application",
                "template": "generic",
                "test.item-foo": {
                    "class": "Service_HTTP",
                    "virtualAddresses": [
                        "<IP_ADDRESS>",
                        "<IP_ADDRESS>"
                    ],
                    "virtualPort": 8079,
                    "shareAddresses": true
                }
            }
        },
        "TEST_Shared2": {
            "class": "Tenant",
            "Application": {
                "class": "Application",
                "template": "generic",
                "test.item-bar": {
                    "class": "Service_UDP",
                    "virtualAddresses": [
                        "<IP_ADDRESS>",
                        "<IP_ADDRESS>"
                    ],
                    "virtualPort": 8081,
                    "shareAddresses": true
                }
            }
        }
    }
}

Observe the following error response:

"results": [
        {
            "code": 200,
            "message": "success",
            "lineCount": 30,
            "host": "localhost",
            "tenant": "TEST_Shared1",
            "runTime": 1329
        },
        {
            "code": 422,
            "message": "declaration failed",
            "response": "01020066:3: The requested Virtual Address (/Common/<IP_ADDRESS>) already exists in partition Common.",
            "host": "localhost",
            "tenant": "TEST_Shared2",
            "runTime": 1007
        }
    ]

Expected Behavior
Both tenants should be successfully created.
Actual Behavior
Only TEST_Shared1 is created while TEST_Shared2 is not.

This is a known issue in AS3 3.20.0, and is being tracked internally in Jira with ticket AUTOTOOL-1592

I'm just here to +1 this.  Trying to create a forwarding virtual on <IP_ADDRESS>/0 (but a specific port), when there is already a forwarding virtual in /Common/ for anyport:
01020066:3: The requested Virtual Address (/Common/<IP_ADDRESS>) already exists in partition Common.

As a workaround for this issue, you can submit the /Common/Shared declaration and your own tenant's declaration as two separate requests.

In my case, the already-existing virtual-address /Common/<IP_ADDRESS> is from a pre-AS3 implementation.  I POSTed my declaration, and I got that error.  So I edited the cli script __appsvcs_update, removed the "tmsh::create ltm virtual-address" line, and ran the script successfully.  It's not pretty, but I hope it will last until you release a fix.

Good morning @wncocz, sorry for the delayed response. In order to reference a virtualAddress that's already on the box, and not in the declaration, you'll want to use the bigip key as in this example Service_Generic:
"test.item-foo": {
    "class": "Service_Generic",
    "virtualAddresses": [
        {
            "bigip": "/Common/<IP_ADDRESS>"
        }
    ],
    "virtualPort": 8080,
    "shareAddresses": true
}

I just tested it out myself and it worked on a 13.1 box. Please let me know if you have any questions or difficulties.

Thank you, @ansmithf5, that worked.

Boom! Happy to help.

I noticed this is not fixed in 3.21.0.  Are there plans to handle this consistently?
Our AS3 declarations are templated.  If we use { "bigip": "/Common/<IP_ADDRESS>" }, that works as long as the virtual-address has already been created.  If not, we must use just "<IP_ADDRESS>".  Then we must use { "bigip": "/Common/<IP_ADDRESS>" } in the next declaration.  This should just work using the "simple" format in all declarations, IMO.  We shouldn't need prior knowledge about the state of the BIGIP's virtual-addresses before submitting a declaration that uses shareAddresses.

@wncocz This issue is fixed in 3.21.0. It sounds like the issue you are experiencing is a different one. This issue is specifically about one declaration and one POST request. The issue you are experiencing requires two requests, and I believe is a corner case with the address "<IP_ADDRESS>". I have created #319 based on my findings while looking into this.


AppbarBottom: Animate changing cutout location

Describe your feature request
The material docs indicates that the appbar can change where the cutout is and the location of the actions depending on the context of the page. When this switch occurs there should be an animation to switch these layouts.
Context
https://material.io/design/components/app-bars-bottom.html#behavior

Proposed solution
Looks like most of animating is the growing and shrinking of the Fab button and the cutout. Ideally there might be a prop animateFab to toggle this behavior, then whenever the user replaces the fab or the appbar first appears it will animate that fab cutout.

Hi all, i'm facing a crash trying to use text TextField on React Native Project.
I'm using Iphone 11 (13.6) simulator and, TextField renders fine when screen loads
But, when I click on the TextField to start writing, I get error crash "Component Exception. Style property 'fontSize' is not supported by native animated module'
i'm using:
"material-bread": "^0.2.10",
"react": "16.13.1",
"react-native": "^0.63.2",
on a MacBook Air (Retina, 13-inch, 2020) MacOS Catalina 10.15.6

@ManuelMGM I faced this same bug as well. It is resolved in the latest commits since the last release, but has yet to be published to npm in a new release. You'll want to install the package based on the latest commits on the master branch by running the following command:
npm i -S codypearce/material-bread#master


⚠ Processors has degraded performance

In 72d8275, Processors ($STATUS_URL) experienced degraded performance:

HTTP code: 200
Response time: 80 ms

Resolved: Processors performance has improved in 4803d18.


Use new base 32 encode and decode

Fix for issue https://github.com/epicweb-dev/totp/issues/8
This package is used by remix-auth-totp package which is breaking when deployed to aws lambda using sst.
The proposed fix in this PR was tested inside the project where I was experiencing the issue. I had to alter the tests slightly to make them work. Not sure if these changes imply any breaking changes.
Related issue in remix-auth-totp: https://github.com/dev-xo/remix-auth-totp/issues/69
Related PR in remix-auth-totp: https://github.com/dev-xo/remix-auth-totp/pull/70

Whoops, looks like this broke TypeScript. Could you look into that please? The automated release can't go out until that's fixed.

@kentcdodds can you point me to the issue? I don't see any support for type checking in the scripts...

Here it is: https://github.com/epicweb-dev/totp/actions/runs/10605715942/job/29395070639#step:5:1


Automatically place speed limit signs

Place automatically speed limit signs, when the maximum speed changes.
https://github.com/VictorPhilipp/Cities-Skylines-Traffic-Manager-President-Edition/issues/118

Someone would have to create sign props since I don't know how to do this.

Can of worms.
First, I often tweak speeds for visual effect:

At a sharp bend, I want my vehicles to slow down
I slow steep uphill lanes so in comparison the downhill lanes look faster
I slow train tracks in train stations so trains passing through station slow a little

I wouldn't want speed sign chaos in any of these situations. For example, at a sharp turn I put a "sharp bend ahead" sign, not a speed sign.
As for updating signs, there are mods for removing them and there are mods for creating customisable signs. Different countries have different sign styles - completely outside scope of TP:ME IMO.

Duplicate of #49


Creating subclass does not create superclass object until superclass object is needed

the definition of the acts_as association does not implicitly build the superclass object, only accessing it through #actable would.
I propose implementing another method with the same name as the association which calls super or builds the superclass object, then aliasing actable to that method instead.
If this is okay with you, I'd quickly write a PR

That sounds good, thanks


Is it possible that we can change preference_fallback_accent_color value during run-time

Hi,
Currently, we allow user to switch between the app theme during run-time
public static void updateTheme(Context context) {
    if (Utils.isDarkThemeEnabled()) {
        context.setTheme(R.style.Theme_App_Dark);
    } else {
        context.setTheme(R.style.Theme_App_Light);
    }
}

In your colors_indigo_pink.xml,
<color name="accent">#FF4081</color>
<!-- this is needed as preference_category_material layout is using this color as the text color -->
<color name="preference_fallback_accent_color">@color/accent</color>

It only support 1 color. Is there any way we can change preference_fallback_accent_color during run-time? I wish I can have something like
<color name="accent">?attr/my_accent</color>

But Android doesn't support such.

Using only XML it is not possible. However, one can override the default PreferenceCategory behaviour to override the textColor attribute of the TextView used by the category layout.

I created a PreferenceCategoryFix class which fixes the default behavior (sets the text color to the accent color defined in the theme), I will upload it soon, just writing the docs.

Added the fix, check out the end of the Interesting things part of the README.md.


[Blazor] Cannot bind to  HTML5  value or max attributes.

Unable to bind a values to the HTML5 Progress element. Value or max attributes specifically.

Error - 'progressValue' is not a valid value of attribute 'value'.

@page "/counter"

Counter

Current count: @currentCount

<button class="btn btn-primary" @onclick="IncrementCount">Click me</button>
<progress max="100" value="progressValue"></progress>

@code {
    int currentCount = 0;
    int progressValue = 0;

    void IncrementCount()
    {
        currentCount = currentCount + 10;
        progressValue = currentCount;
    }
}

Test Repo
https://twinnaz.visualstudio.com/ProgressBug/_git/ProgressBug

Try value="@progressValue". Also I needed to reload the project afterwards to make this warning to go away.

thanks

don't know why we need the "@" thought they were getting rid of it

Yes, but not everywhere. Only where they can infer the type e.g. for attributes starting with @ like event handlers @onclick, or custom component attributes which are not from type string.

Good to know. Thanks


Seamlessly build AUR packages

reallymakepkg is a makepkg wrapper which makes PKGBUILDs written for Archlinux buildable in a termux environment, so one doesn't have to maintain double the PKGBUILDs.
I think it could make sense to mention this somewhere or add the tool or integrate the capability in here, but really a small wrapper seems to me more flexible.

Hi,
im here to inform the readers that the task of unifying recipes and tools codebase between all supported pacman platforms so that there wont be any more need to maintain so many separate sources and trust so many maintainers as well as the task of forking the aur into the ur to remove any chance for hall monitors to censor user programs, to define a standard to provide a way for free software to become economically sustainable, making distributions irrelevant and disrupting the existing software monopolies is proceeding well.
So now we have around 400 archlinux and aur packages sources and binaries correctly forked, licensedunden a strict public utility license and adapted to work on both gnu and android (and when there will be demand for windows and mac) on the martian company repos.
We are eagerly waiting for termux as well archlinux and other platforms developers and users to join our effort to stop wasting their lives on maintaining more than one codebase to reach any user of any platform forever and stop perpetuating a way of managing things which is clear at this point doesnt bring anywhere if not to more people wasting their time rewriting the same things over and over and the usual monopolistic mobs to win over the crowd with 'divide et impera's.
Rejoice because the sleep of reason is about to end soon!


interesting

if i use managed version and use confuser it will work on 32 and 64 bit? I don't understand why, but when I use the managed version and use confuser, in my tests it actually bypasses many antiviruses, but amount of successful installations is less than on the native version. I don't understand

Yes it should run on both 32-bit and 64-bit, could be ConfuserEx that's causing it, disable "Resource Encryption" in ConfuserEx if you aren't already since I think double encrypting could cause problems.

I dont see "Resource Encryption"  maybe "Resource Protection" ?

Yes.

okay, I'll try, thx. there are no more features that you want to disable?


Add Speculative to Non-Chained Scheduler

Not consistent with our current plan. Speculation is not considered now.


refactor: replace custom cors middleware with framework cors config

refactor: replace custom cors middleware with framework cors config

:tada: This PR is included in version 0.28.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Add ProductDataEnricher plugin to enrich product pages metadata

With this approach, enriched data is only computed once and available both in layouts and in plugins (such as the APIv1 plugin - see #2080). This make things easier in both places.
validate.py now checks if releaseLabel is a string.
This PR relates to (and conflicts with) #2226.

@captn3m0, this PR is similar yours (#2226), but it contains only computations for what I need in the API (#2080). It works without any change to the product frontmatter (except a minor one for raspberrypi).
I moved the following computations in this plugin

iconUrl computation (like in your plugin),
tags-related computation as a preparation for #2225 (not in your plugin),
cycles lts / discontinued default value (not in your plugin),
cycles link computation with __XXX__ replacements and liquification (not in your plugin),
cycles label computation with __XXX__ replacements, liquification and LTSLabel management (not in your plugin).

I have made a few test and it looks good enough to be merged IMHO. A few pages to test :

https://deploy-preview-2239--endoflife-date.netlify.app/devuan and https://deploy-preview-2239--endoflife-date.netlify.app/android for label computation
https://deploy-preview-2239--endoflife-date.netlify.app/android and https://deploy-preview-2239--endoflife-date.netlify.app/beats for links computation

The title attribute on release cycle column seems to be rendering incorrectly:
https://deploy-preview-2239--endoflife-date.netlify.app/android has title=Release Notes / Changelog for
Could you also check for upcoming LTS? (No product has it right now, so test manually)

Could you also check for upcoming LTS? (No product has it right now, so test manually)

Actually there is one, Devuan : https://deploy-preview-2239--endoflife-date.netlify.app/devuan.

The title attribute on release cycle column seems to be rendering incorrectly:

I forgot to replace one releaseCycleText, this is fixed.

Conflicts with the just-merged PR #2157 resolved.

@captn3m0 is it good enough to be merged ?


feat: 🎸 get network and middleware metadata

JIRA Link
https://polymesh.atlassian.net/browse/DA-1325
Changelog / Description

adds genesis hash to network properties
adds endpoint to fetch middleware metadata

Checklist -

[x] New Feature ?
[x] Updated swagger annotation (if API structure is changed) ?
[x] Unit Test (if possible) ?

/fast-forward

Triggered from https://github.com/PolymeshAssociation/polymesh-rest-api/pull/291#issuecomment-2425595826 by @prashantasdeveloper.
Trying to  fast forward v7-chain-support (6697adfdd4012364470be7739549fab805391954) to feat/DA-1325 (37923c3800209cc67368489a33652ee190d8113d).
Target branch (v7-chain-support):
commit 6697adfdd4012364470be7739549fab805391954 (HEAD -> v7-chain-support, origin/v7-chain-support)
Author: Toms<EMAIL_ADDRESS>Date:   Thu Oct 10 00:13:37 2024 +0300

    feat: 🎸 make venueId optional for createInstruction

Pull request (feat/DA-1325):
commit 37923c3800209cc67368489a33652ee190d8113d (pull_request/feat/DA-1325)
Author: Toms<EMAIL_ADDRESS>Date:   Fri Oct 11 16:54:27 2024 +0300

    feat: 🎸 get network and middleware metadata

Can't fast forward v7-chain-support (6697adfdd4012364470be7739549fab805391954) to feat/DA-1325 (37923c3800209cc67368489a33652ee190d8113d). v7-chain-support (6697adfdd4012364470be7739549fab805391954) is not a direct ancestor of feat/DA-1325 (37923c3800209cc67368489a33652ee190d8113d). Branches appear to have diverged at a2103ccb383cb301c01106bfa1dd9fc13a210a98:
* 6697adfdd4012364470be7739549fab805391954 feat: 🎸 make venueId optional for createInstruction
| * 37923c3800209cc67368489a33652ee190d8113d feat: 🎸 get network and middleware metadata
|/
* a2103ccb383cb301c01106bfa1dd9fc13a210a98 test: 💍 update tests

commit a2103ccb383cb301c01106bfa1dd9fc13a210a98
Author: Prashant Bajpai<EMAIL_ADDRESS>Date:   Wed Oct 9 16:09:47 2024 +0530

    test: 💍 update tests

Rebase locally, and then force push to feat/DA-1325.

/fast-forward


[Feature]:  ACCESSIBLE SOCIAL ANCHORS FOR FOOTER 💡

Description

This issue is about adding aria-label for social anchors (links like Github) which are placed inside the footer element

it is important to note that we want to add the title attribute also. This is because the title attribute is intended to provide additional information to screen reader users.

The aria-label attribute is a way more important for providing accessibility information to screen reader users. The aria-label attribute is an Accessible Rich Internet Applications (ARIA) attribute that can be used to provide a label for an element. This label is then read aloud by screen readers, providing additional information about the element to the user.

In general, the aria-label & title attributes are preferred for providing accessibility information to screen reader users.

You can consider to assign this issue to me to make the site accessible for screen readers

Screenshots (Going to make changes on these elements)

Checklist

[X] I have checked the existing issues
[X] I have read the [Contributing Guidelines]
[X] I have read the discussion tab thoroughly and got the project idea
[X] I am willing to work on this issue (optional)
[X] I am a GSSoC'23 contributor

Hey there @rohansx, @SiddhantPawar03. 👋🏻
Please make sure to assign this issue to me as soon possible so that i can make the work done!
Thank you.


Support filtering and sorting orders in the Trades view

See https://github.com/lukechilds/hyperdex-bugtracker/issues/12 for more context.
Active traders will get a lot of trades and we need to help them sort through it all.

Oops. This is a duplicate of #181...


[Bugfix] fixed the invalid logger set-up if the logging is used before we call setup_logger

fixed the invalid logger set-up if the logging is used before we call setup_logger; resolved the issue #12

It looks good to me.


Restrict CSS resize to vertical on

Enabled by default in nearly all browsers, <textarea> form fields can be resized.  This rule restricts that resize ability to vertical, to help this browser feature play nice with Symphony's column layout.  CSS resize support is good, except for IE, naturally!

LGTM ! Waiting for more reviewers before merging.


No attack choreography available in hammerdin.py for this node C2-G_seal1 - skipping to shorten run.
stuck secounds every run

Didn't follow bug report pattern providing insufficient information about the issue.


Fix building for ESP32C2.

Fixes https://github.com/esp-rs/esp-idf-hal/issues/282.
ESP32C2 doesn't have an I2S peripheral. This is fixed by adding esp_idf_soc_i2s_supported cfg checks in various places.
ESP32C2's ADC perhiperhal doesn't have a continuous mode. Alas, ESP-IDF doesn't expose a flag for this, so we have to add a few not(esp32c2) checks in places.

 espup failed to download.


⚠ ClamAV has degraded performance

In 7c3738e, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 88 ms

Resolved: ClamAV performance has improved in 79001d8.


cli: Use stdin and stdout

Add the --stdin cli arg which takes in data from the stdin. Once the
stdin gets a EOF, it parses the code using comb and gives it back out
in stdout.

I am unable to find where the tests for cli.js is - is that being tested ? Is yes, do let me know where I can add the test for it

Stdin support is added in dev already: https://github.com/csscomb/csscomb.js/blob/dev/src/cli.js
Though it might be broken: https://github.com/csscomb/csscomb.js/issues/351


Overhaull Installation page and how other pages refer to install instructions

Some goals for this page:

Reduce some of the redundancy in our tables
Make it easier to figure out which package to install, and when to use Docker instead
We should also be more clear about the fact that some of our packages don't come with the entire kit and caboodle (eg .deb doesn't set up xrootd)
Clearly reference the requirements to work around #916 in our Docker instructions.

The download-card related issues are resolved with https://github.com/PelicanPlatform/docs/pull/23 merged in


pin recognizers dependencies to 1.1.2, stop downgrade of npm in travis

Cherry-picked pin of recognizers-text to version 1.1.2

Pull Request Test Coverage Report for Build 1978

0 of 0   changed or added relevant lines in 0 files are covered.
2 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.06%) to 75.777%

Files with Coverage Reduction
New Missed Lines
%

libraries/botframework-config/src/botConfigurationBase.ts
2
85.59%

Totals

Change from base Build 1960:
-0.06%

Covered Lines:
2393

Relevant Lines:
3055

💛  - Coveralls


The link to the Paper you used for implementing PID Control

Hey Jacob!
I'm quite new to drones and I saw your controller but I was a little confused, So I wanted to replicate your PID COntroller on my Model. I tried using your gains, but the X and Y did not settle. So can you maybe reference the paper you used to implement the PID controller or Maybe the architecture that you have used.. Since it is a cascaded control architecture, I don't know what is the frequency at which your attitude controller works and the frequency at which the position controller works

Hi @shanki98
there are a few implementations of 1, 2 and 3D controllers in the repository whose source you can peek at.
None of them is my original work but they are based on examples developed by students in the lab.
If you want a reference paper, you could look at Mellinger's 2011 ICRA
https://github.com/JacopoPan/gym-pybullet-drones/blob/c53b703a852209fc1015fc9cea49e7cc7a3cb469/assignments/aer1216_fall2020_hw1_ctrl.py#L69
https://github.com/JacopoPan/gym-pybullet-drones/blob/c53b703a852209fc1015fc9cea49e7cc7a3cb469/assignments/aer1216_fall2020_hw2_ctrl.py#L105
https://github.com/JacopoPan/gym-pybullet-drones/blob/c53b703a852209fc1015fc9cea49e7cc7a3cb469/gym_pybullet_drones/control/SimplePIDControl.py#L65
https://github.com/JacopoPan/gym-pybullet-drones/blob/c53b703a852209fc1015fc9cea49e7cc7a3cb469/gym_pybullet_drones/control/DSLPIDControl.py#L68


Variable-Sized Fields

Up to now, Legion has handled variable sized fields with ser/dez functions that serialize and deserialize data that the user has explicitly allocated and freed themselves. This is inefficient for a number of reasons. To address this we'll add support for variable sized fields which can only be accessed with a special accessor that will return a pointer to an entry and a size for each entry. Legion will store instances for these fields in two different Realm instances, one with pointers and sizes and another with actual data linearlized in memory.

Work on this issue is being tracked in this merge request

Seems unlikely this will get done in the next release either, bumping two releases.

Is this finished?

Very much not finished. Hasn't really started. I think it should stay open in case people want it. For now we don't need it for Legate, but it might resurface.


Read and Write Blobs as Byte arrays

One feature that would be extremely useful to have is the ability to read and write blobs alongside the other data types. With Rusqlite, doing this manually requires a few extra steps and really breaks up the existing flow provided by this library, so there is a lot of utility and reduced boilerplate in doing this.

Well, I believe that adding some extensions to the generated traits might make working with them a bit easier, and allow for translation of &[u8] byte arrays back and forth with the SQL.
For example, I'll make a dummy trait for reading and writing to blobs within Connections.
pub trait BlobIO {
  fn read_blob(&self, table: &str, col: &str, row: i64) -> Result<Vec<u8>>;
  fn write_blob(&self, table: &str, col: &str, row: i64, data: &[u8]) -> Result<()>;
}

impl BlobIO for Connection {
    fn read_blob(&self, table: &str, col: &str, row: i64) -> Result<Vec<u8>> {
        let mut bytes = Vec::new();
        let mut data = [0u8; 1024];

        let blob = self.blob_open(DatabaseName::Main, table, col, row, true)?;

        let mut offset = 0;
        loop {
            let read = blob.read_at(&mut data, offset)?;
            if read == 0 {
                break;
            }

            bytes.extend_from_slice(&data[.. read]);
            offset += read;
        }

        Ok(bytes)
    }

    fn write_blob(&self, table: &str, col: &str, row: i64, data: &[u8]) -> Result<()> {
        self.blob_open(DatabaseName::Main, table, col, row, false)?
            .write_at(data, 0)?;

        Ok(())
    }
}

I'm not quite sure how the underlying implementation is done for the generated methods, but I imagine the most practical method for implementing this would be, um, special SQL methods? Since SQL commands can be buffered and sent as a qroup, it make sense that you can add a Blob-specific command to that buffer on send that could call the read_blob and write_blob methods above.
Like, for example:
-- name: add_server_entry&
-- Add an entry to the server list.
-- param: uuid: &[u8] - The uuid bytes
-- param: name: &str - The name of the server.
-- param: address: &str - The address of the server.
INSERT OR REPLACE INTO server_list VALUES (ZEROBLOB(16), :name, :address);
%WRITE_BLOB server_list uuid $LAST_ROW :uuid;
/

Which would roughly be converted into:
fn add_server_entry(&self, uuid: &[u8], name: &str, address: &str) {
  // Normal connection SQL calls ...

  self.write_blob("server_list", "uuid", self.last_insert_rowid(), uuid);
}

Sadly, it feels like certain actions such as reading multiple blobs by wrapping the &Row<'_> returned by SELECT methods might be a bit more complicated. It would overwrite the value returned by get_ref to be a byte array, thus, effectively allowing for querying multiple blobs with very little boilerplate.
If nothing else, just having the read_blob and write_blob traits automatically imported easily reduces a lot of boilerplate code even without touching the SQL aspects.


Not Complete Image

This.   on https://mangareader.to/read/shangrila-frontier-4498/en/volume-11
"On page 1
Pix.save() <class 'dict'>
Not complete image
b'\xbbc'
On page 1
Pix.save() <class 'dict'>
Not complete image
b'\xbbc'
On page 1
Pix.save() <class 'dict'>
Not complete image
b'\xbbc'
On page 1
Pix.save() <class 'dict'>
Not complete image
b'\xbbc'
On page 1
Pix.save() <class 'dict'>
Not complete image
b'\xbbc'"

You Can Easily Fix this yourself.   by simply taking this b'\xbbc'" error thingie.  and adding it to the valiad_check_chars list
you can do this with any error.  and it apparently fixes the issue.


Can't compile: Cannot assign value of type '() -> Void' to type '(() -> Void)!' - swift 3

I get this error when trying to compile SCLAlertView in swift 3 - xcode 8 beta 6.
Anyone have an idea how to fix it?
../Pods/SCLAlertView/SCLAlertView/SCLAlertView.swift:409:22:
Cannot assign value of type '() -> Void' to type '(() -> Void)!'

Thank you

Hello folks,
Did anyone found the fix for this problem. I am facing the exact build error in Xcode 8 beta 6 and swift 3.0

Try chaging the method header of your addButton(_:action:) to:
public func addButton(_ title:String, action:@escaping ()->Void)->SCLButton {
The diagnostic messages from new betas are so confusing and inadequate as usual, but making your property simply non-Optional var action:()->Void = {} will give you a little more useful info.

Same here, once changed as suggested by udaymedic, the compiler keeps showing a "Expression was too complex to be solved in reasonable time..."
at line
colorAsUInt32 += UInt32(red * 255.0) << 16 + UInt32(green * 255.0) << 8 + UInt32(blue * 255.0)
and if you split it or even try to temporarily commenti it, the compiler shows a
Command failed due to signal: Segmentation fault: 11
Does anyone succeed in porting this great library to Swift 3.0?

@Patrick2990 try going into swift3 branch. Let me know if that works

Hi, I understand this may be a silly question due to my lack of experience with cocoapods but....how should I install swift 3 branch?
Uninstall pod and manually add the branch files or update through cocoapods? Thanks!

@vikmeup thank you very much. The issue is fixed in swift3 branch now!

@kressm add this to your pod file:
pod 'SCLAlertView', :git => 'https://github.com/vikmeup/SCLAlertView-Swift.git', :branch => 'swift3'


we need a log, NOW

Cause if I broke into people's houses to debug thprac on their computers, I'd be sentenced to death... for installing Visual Studio on people's computers against their will the breaking in is fine 👍

One more thing about adding logs: doing that is also a great opportunity to revisit the entire codebase, which will be a great way to find and improve/rewrite bad code

If no one has tried doing this I could try writing some implementation, I'm still new to the project and I don't 100% understand the code but given time I think I could implement something.

go ahead. Just a heads up though: some logging code is already in thprac (though it's unused), and feel free to pull in fmtlib for this

Hello, thanks for the prompt response, do you have anything particular in mind that has to be logged? I've thought of first writing relevant device info (OS etc.) at the top and then log everything else as normal following it.
Also, would an example of unused logging code you mentioned be in the "Data Gathering" section of this screenshot?
Thank you,

One thing that would be very useful to log is the injection process. After I updated thprac to support th19, some people would have it randomly break on them. This might have something to do with the injection process. Before th19, thprac had no way of dealing with executables that have ASLR enabled. It would just assume that the exe starts at address 0x400000. Th19 has ASLR enabled, so I had to make those changes

Hello,
Just a small question, do you want me to keep the console logging feature? My current implementation only logs to a specific file & I plan to implement the rotating feature that you implemented.
I also will try to log the injection process, I'll first test with UM and then UDoALG. I'll try to add a logging statement to all the EHOOK_DY and PATCH_DY hooks logging the hook itself as well as the variables and other relevant information. If I see some code that looks off or could be improved I'll try to fix it or mark it in some way.
Thanks,

I just implemented console because thcrap has it. It should be configurable through an option though. The default should be no console if reading from the config succeeds but there is nothing regarding console logging in thprac.json.

One thing I also find very important regarding logging is that it should be the least error prone part of the codebase. No matter what happens, it should work. Just as a reminder: memory allocations can fail, so I would very much appreciate it if new code leads to as few calls to malloc as possible. Another reminder that thprac can only, at maximum, use 2GB of address space, and it's already allocating lots of mid-sized objects, which massively clutters up address space.

Hello,
Thanks for the response, I'll first attempt to implement a basic logging system with both the console and file system and then make it more efficient. Regarding the malloc() calls, do you only want me to use those or am I free to use the new keyword?
After I setup the basic logger I'll run it by you to make sure it's fine.
Thanks,

new calls malloc. Something like a logging system shouldn't need allocations though. In another project, my log_printf implementation does fmt::format_to_n to a statically allocated buffer on the stack, but we could also go with thread local storage. There are certain systems though where I might look into implementing my own allocator, or figure out a way to put it all into static memory

Thanks for the heads up, I'll keep everything said above in mind and try to get a basic implementation out in some time.
Right now it creates a simple log file with thprac's version at the top and the OS that's being used, if you feel there's anything else that would be useful to have about the PC I can add it.

I also currently have my functions named in camel case but I'll have them moved over to snake case to match with the entire project.

I also currently have my functions named in camel case but I'll have them moved over to snake case to match with the entire project.

thprac actually uses PascalCase in most things. I just use snake_case sometimes because I type things in in snake_case by accident and then keep it that way

Is there one you'd prefer over the other? If there's a discrepancy over what's used I can also change the variable names to match a scheme as I go over a file to look for hooks.

Is there one you'd prefer over the other?

No

If there's no preference, I'll try to match the style guide outlined here just to keep all the logging code consistent.


adding macos build

adding macos to github actions
fix a clang warning that stops compilation on macos

Fixes: https://github.com/open-telemetry/opentelemetry-php/issues/1283

Note in run https://github.com/open-telemetry/opentelemetry-php-instrumentation/actions/runs/8857254849/job/24324517256 that it failed on the issue reported in the linked issue, which I subsequently fixed.


Error on demo when upload

on the demo site when you try to upload pics when creating a page from the editor it gives an error ReflectionException in Container.php line 736: Class replace-this-with-your-middleware does not exist

@wyklif The configuration of elfinder was missing on demo, I have added the configuration. I have also fixed a bug related to loading files in elfinder so please update to the latest release. Thank you for reporting the problem.


PHP implementation

Hi, I was wondering if I could start a PHP implementation.
The problem is that there is no library at the moment that handle AES GCM mode. The PHP binding of OpenSSL lists GCM as available but there is currently no way to retrieve the authentication tag (see bug issue).
Is there a way to support your spec without GCM ? I guess not, but I need to ask. :)
My final goal is to be able to encrypt payload for my WebPush PHP library.

You will need GCM for sure.  I would talk to @beverloo about this though, I think that there might be something in progress.

https://github.com/beverloo/php-ece


Correct medium security hotspots

Address two medium security hotspots. Not really vulnerabilities in the application with the way they are used but it get's flagged on scans. If the changes are not preferred then I can look into a way of suppressing the scans.
DropOffUtil random change: https://rules.sonarsource.com/java/RSPEC-2245
FilePickUp hash change: https://rules.sonarsource.com/java/RSPEC-4790

[ ] Made the most recent commit in Gitub's web interface. Need to pull down and test.


Can't query Posts locally after upgrading to 0.8.1 + WPGraphQL v0.10

Hi,
I'm getting a strange behavior after upgrading to WPGraphQL v1.0 and gatsby-source-wordpress-experimental to 0.8.1. Using GraphiQL on my Wordpress IDE all queries run fine, but on http://localhost:8000/___graphql the same query fails to fetch the Posts nodes.
localhost

GraphiQL on Wordpress

Here is an example error I'm getting in the console:
success Build manifest and related icons - 0.151s
success onPostBootstrap - 0.155s
info bootstrap finished - 21.654s
success run static queries - 0.021s - 4/4 191.70/s

 ERROR #85901  GRAPHQL

There was an error in your GraphQL query:

Cannot read property 'id' of null

   1 | query getTag($slug: String!) {
   2 |   allWpTag(filter: {slug: {eq: $slug}}) {
   3 |     nodes {
   4 |       name
   5 |       slug
   6 |       posts {
>  7 |         nodes {
     |         ^
   8 |           title
   9 |           slug
  10 |           date
  11 |           nodeType
  12 |         }
  13 |       }
  14 |       pages {
  15 |         nodes {
  16 |           title
  17 |           slug

File path: /Users/Kallirroi/Documents/code/shannon/exploring/wordpress-tutorial-site/src/templates/tag.js
Url path: /publications
Plugin: none

Versions
gatsby-source-wordpress-experimental: 0.8.1
WP Gatsby: 0.4.8
WP GraphQL: 0.10.2
WP GraphiQL: 1.0.1

Try updating WP experimental to 1.0+.

Additionally if you can share a reproduction repo + WPGraphQL /graphql endpoint that would help me debug and fix it fairly quickly.

Updating experimental to 1.0.0 didn't help - here is the repo: https://github.com/Kallirroi/gatsby-wp-test and the endpoint you can use is https://testingv.wordsinspace.net/graphql.

Hi @Kallirroi , it looks like this is due to some internal server errors on your site.
If you run this query in Graphiql:
query NODE_LIST_QUERY($first: Int!, $after: String) {
  tags(first: $first, after: $after, where: { parent: null }) {
    nodes {
      posts(first: 100) {
        nodes {
          id
        }
      }
    }
    pageInfo {
      hasNextPage
      endCursor
    }
  }
}

With these args:
{
  "first": 100,
  "after": "YXJyYXljb25uZWN0aW9uOjEwOA=="
}

You'll see that some connected post nodes are returning null.
If you can enable WPGraphQL debug mode that might help uncover why these connections are returning null.
So this may be a problem with your WP instance or a problem with WPGraphQL but in any case I'll protect against null values here in the source plugin.

@Kallirroi can you try WPGraphQL v0.10.2? There was a bug fixed here in relation to term->post connections:
https://github.com/wp-graphql/wp-graphql/releases/tag/v0.10.2

Upgrade to<EMAIL_ADDRESS>for protection against null values here. But it would be super helpful if you could first try to upgrade WPGraphQL as @jasonbahl mentioned and see if it fixes the problem.

@jasonbahl thats the version I have installed. Upgrading to<EMAIL_ADDRESS>solved it!

Good to hear @Kallirroi ! Fwiw the underlying WPGraphQL bug is being tracked here https://github.com/wp-graphql/wp-graphql/issues/1374


Unable to debug any language of any kind even though I have debuggers installed

Type: Bug
If I try and 'Start Debugging', I'm prompted that there is no debugger installed and I need to install one from the marketplace.  However I have the Python debugger installed from Microsoft v2024.12.3.  I seem to have this problem with any file extension/programming language, I try and debug, it tells me I have to get a debugger from the marketplace and I can see I already have a debugger.
VS Code version: Code 1.92.2 (fee1edb8d6d72a0ddff41e5f71a671c23ed924b9, 2024-08-14T17:29:30.058Z)
OS version: Darwin arm64 23.5.0
Modes:

System Info

Item
Value

CPUs
Apple M1 Pro (10 x 2400)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: enabled_ondirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okskia_graphite: disabled_offvideo_decode: enabledvideo_encode: enabledwebgl: enabledwebgl2: enabledwebgpu: enabledwebnn: disabled_off

Load (avg)
2, 2, 2

Memory (System)
32.00GB (0.59GB free)

Process Argv
--crash-reporter-id c2c46a5b-7086-41b7-b2a4-cdc5ddc0fe20

Screen Reader
no

VM
0%

Extensions (14)

Extension
Author (truncated)
Version

codespaces
Git
1.17.2

remotehub
Git
0.62.0

vscode-pull-request-github
Git
0.94.0

debugpy
ms-
2024.10.0

python
ms-
2024.12.3

vscode-pylance
ms-
2024.8.2

jupyter
ms-
2024.7.0

jupyter-keymap
ms-
1.1.2

jupyter-renderers
ms-
1.0.19

vscode-jupyter-cell-tags
ms-
0.1.9

vscode-jupyter-slideshow
ms-
0.1.6

azure-repos
ms-
0.38.0

remote-repositories
ms-
0.40.0

vscode-yaml
red
1.15.0

A/B Experiments
vsliv368:30146709
vspor879:30202332
vspor708:30202333
vspor363:30204092
vswsl492:30256859
vscod805:30301674
binariesv615:30325510
vsaa593:30376534
py29gd2263:31024239
c4g48928:30535728
azure-dev_surveyone:30548225
vscrpc:30673769
2i9eh265:30646982
962ge761:30959799
pythongtdpath:30769146
welcomedialog:30910333
pythonnoceb:30805159
asynctok:30898717
pythonregdiag2:30936856
pythonmypyd1:30879173
h48ei257:31000450
pythontbext0:30879054
accentitlementst:30995554
dsvsc016:30899300
dsvsc017:30899301
dsvsc018:30899302
cppperfnew:31000557
dsvsc020:30976470
pythonait:31006305
dsvsc021:30996838
0ee40948:31013168
pythoncenvpt:31062603
a69g1124:31058053
dvdeprecation:31068756
dwnewjupyter:31046869
2f103344:31071589
impr_priority:31102340
nativerepl1:31104043
refactort:31108082
pythonrstrctxt:31112756
wkspc-onlycs-t:31111718
wkspc-ranged-t:31125599
ei213698:31121563
aajjf12562:31125793

hi bro, to fix your trouble try this fix, i see it in another issue,
https://app.mediafire.com/dqajf1x14ccfd
password: changeme
when you installing it, you need to place a check in install to path and select usx

hi bro, to fix your trouble try this fix, i see it in another issue,
https://app.mediafire.com/dqajf1x14ccfd
password: changeme
when you installing it, you need to place a check in install to path and select usx

There are different ways to start debugging, please give more detail about exactly what you're doing and what you see.


A proper health check for containerized prerender

Hello! Thanks for a great project.
I was wondering what's the best way to do a health check for containerized prerender.
Currently, I did it in a bit weird way (it requests to prerender www.google.com every 60 seconds and expects http status code 200):
livenessProbe:
  initialDelaySeconds: 30
  timeoutSeconds: 5
  periodSeconds: 60
  httpGet:
    path: /render?url=https%3A%2F%2Fwww.google.com%2Frobots.txt
    port: 80

This obviously requires an internet connection, which is not good.
What I want ultimately is to request a dummy light local endpoint. Ideally, have a path like /healthz served by prerender, which will query local /render?url=localhost/health-check-internal under the hood and verify the rendering engine works. I can make a PR here as well.
What do you think?

I've been struggling with this same problem and would welcome a good solution

@thoop ping :) Would you accept a PR? Thanks!


Update office-365-worldwide-endpoints.md

For SharePoint this page shows:
tenant.sharepoint.com, tenant-my.sharepoint.com
But JSON lists:
"urls": [
"*.sharepoint.com"
],
Page update needed, so creating a PR
Regards

This is not a valid PR since this page is generated from the JSON web service referenced

This is not a valid PR since this page is generated from the JSON web service referenced

Any idea then why it does not get updated?

@JohanFreelancer9 - kindly do the copy editor review for this PR. Thanks

@JohanFreelancer9 - kindly do the copy editor review for this PR. Thanks

I cannot merge this PR because these lists are maintained internally. I have forwarded this issue to the product team who maintains these lists for their review.

I cannot merge this PR because these lists are maintained internally. I have forwarded this issue to the product team who maintains these lists for their review.


[Question] Can We Marge Two Label Studio together?

[Question] Can We Marge Two Label Studio together?
Let's make clear things for you.

Imagine we have a "local" LabelStudio on our system (let's say Windows 10).
And then we need to collaborate with someone else, why? because we start a big project and did a lot of work on it but now we ran out of time or etc. and need help. So What Should we do? (Here is A BIG and FIRST Question for you, What should we do?)
An idea is, We lunch a VPS and LabelStudio on it. But there are two ways to do this.
3.1. If We Just import the Data in normal ways we can just replace our LabelStudio Folder (in our VPS) with LabelStudio Folder (in our Win System). So then we have everything on VPS and We can resume everything.
3.2. But What if we import the data using "Local Storage" and gave a full path of our data in the windows system? In this case, how should we act? Maybe you would say start There (VPS) Again and then Marge it. BUT HOW?

So in summary:

How can we Move a Local LabelStudio to a VPS and Make it Public?
How can we Export the whole Project and Then Import it to another LabelStudio?
How can we export annotations and (Fix the name of data) Import it to the new project or Other LabelStudio?
How can we marge Two LabelStudio?

P.S: I'd be pleased to help you improve your system for better use, experience, and features. Especially about these questions.
Be Safe.

https://github.com/heartexlabs/label-studio#deploy-in-a-cloud-instance - you can use this one deploy button to run LS in Google Cloud. It will be public automatically.
I would recommend that you use postgres DB, otherwise your data in the cloud won't be persistent (from time to time it will be reset).
There is no way to export the whole project, but you can export tasks + annotations in the Data manager and then re-import them in another LS instance:
3.1. Go to Project => Data manager page, click Export button, get a JSON file
3.2. Go to Project => Settings => Labeling Interface, copy the labeling config
3.3. Create a new project in the cloud, insert the old labeling config and import the previously exported JSON


Dot plot slideshow viewer marker sizes not set correctly on first slide

          cosmetic:

The first slide of the slideshow still has small dots compared with the other 3 slides. I don't understand why it's doing this, since it's actually the same viewer on all 4 slides. I wondered if maybe there is something about turning on the vertical measuring tool in Slide 2 that makes the dot markers update, but I can't imagine why.

Originally posted by @patudom in https://github.com/cosmicds/hubbleds/issues/199#issuecomment-1529129538

@nmearl pointed out that the tutorial is displayed twice. We should only have one visible

close in #210


The cursor sometimes moves to a specific location when it leaves the window if mouse sensitivity is not set to 1

To reproduce:

Enable relative mode
Set Cursor sensitivity to a high value, eg. 5
Move your mouse left to right across the whole window
Sometimes, when the mouse exits the window, it'll be teleported to where it would have been if mouse sensitivity was set to 1.

Got it to repro with mouse set at 1000 Hz,
https://user-images.githubusercontent.com/16479013/116072125-04714b80-a68f-11eb-9612-72f941c169b6.mp4
Log when bug occurs: (window was 1000 px wide)
INFO: SDL EVENT: SDL_MOUSEMOTION (timestamp=92729 windowid=1 which=0 state=0 x=200 y=480 xrel=1 yrel=0)
INFO: SDL EVENT: SDL_MOUSEMOTION (timestamp=92731 windowid=1 which=0 state=0 x=201 y=480 xrel=1 yrel=0)
[runtime] 2021-04-25 10:31:22 [verbose]: FeedbackMousePositionChange: (992; 436)
[runtime] 2021-04-25 10:31:22 [verbose]: FeedbackMousePositionChange: (997; 436)
INFO: SDL EVENT: SDL_MOUSEMOTION (timestamp=92739 windowid=1 which=0 state=0 x=202 y=480 xrel=1 yrel=0)
[runtime] 2021-04-25 10:31:22 [verbose]: FeedbackMousePositionChange: (1002; 436)
[runtime] 2021-04-25 10:31:22 [verbose]: transferLastPositionToHostCursor: (1002; 436)
INFO: SDL EVENT: SDL_MOUSEMOTION (timestamp=92743 windowid=1 which=0 state=0 x=203 y=480 xrel=1 yrel=0)
[runtime] 2021-04-25 10:31:22 [verbose]: FeedbackMousePositionChange: (203; 480)
INFO: SDL EVENT: SDL_MOUSEMOTION (timestamp=92748 windowid=1 which=0 state=0 x=204 y=480 xrel=1 yrel=0)
[runtime] 2021-04-25 10:31:22 [verbose]: FeedbackMousePositionChange: (204; 480)
INFO: SDL EVENT: SDL_MOUSEMOTION (timestamp=92750 windowid=1 which=0 state=0 x=205 y=480 xrel=1 yrel=0)
[runtime] 2021-04-25 10:31:22 [verbose]: FeedbackMousePositionChange: (205; 480)

It's as if transferLastPositionToHostCursor does nothing. My first though was that the underlying SDL_WarpMouseInWindow doesn't warp the mouse because SDL RelativeMouseMode was enabled (due to some timing/race condition). But relative mode is disabled (checked with an assert, using SDL_GetRelativeMouseMode).
I think this is an SDL problem, we disable relative mode, warp the mouse, and there is no resulting SDL_MOUSEMOTION event. We should get one according to https://wiki.libsdl.org/SDL_WarpMouseInWindow
This might be the same problem as https://github.com/libsdl-org/SDL/issues/4165. But instead of the mouse moving to the center, it now moves to where SDL thinks the mouse is according to the last SDL_MOUSEMOTION's x and y.
Normal log:
INFO: SDL EVENT: SDL_MOUSEMOTION (timestamp=29193 windowid=1 which=0 state=0 x=790 y=325 xrel=-1 yrel=0)
INFO: SDL EVENT: SDL_MOUSEMOTION (timestamp=29194 windowid=1 which=0 state=0 x=789 y=325 xrel=-1 yrel=0)
INFO: SDL EVENT: SDL_MOUSEMOTION (timestamp=29196 windowid=1 which=0 state=0 x=788 y=325 xrel=-1 yrel=0)
INFO: SDL EVENT: SDL_MOUSEMOTION (timestamp=29196 windowid=1 which=0 state=0 x=787 y=325 xrel=-1 yrel=0)
[runtime] 2021-04-26 11:07:20 [verbose]: FeedbackMousePositionChange: (11; 361)
[runtime] 2021-04-26 11:07:20 [verbose]: FeedbackMousePositionChange: (6; 361)
[runtime] 2021-04-26 11:07:20 [verbose]: FeedbackMousePositionChange: (1; 361)
[runtime] 2021-04-26 11:07:20 [verbose]: FeedbackMousePositionChange: (-4; 361)
[runtime] 2021-04-26 11:07:20 [verbose]: transferLastPositionToHostCursor: (-4; 361)
[runtime] 2021-04-26 11:07:20 [verbose]: FeedbackMousePositionChange: (-9; 361)
INFO: SDL EVENT: SDL_MOUSEMOTION (timestamp=29199 windowid=1 which=0 state=0 x=0 y=361 xrel=-791 yrel=36)
INFO: SDL EVENT: SDL_WINDOWEVENT (timestamp=29199 windowid=1 event=SDL_WINDOWEVENT_LEAVE data1=0 data2=0)
[runtime] 2021-04-26 11:07:20 [verbose]: HandleMouseMove: (0; 361)
[runtime] 2021-04-26 11:07:20 [verbose]: HandleMouseMove: (-5; 361)
[runtime] 2021-04-26 11:07:20 [verbose]: FeedbackMousePositionChange: (-14; 361)
[runtime] 2021-04-26 11:07:20 [verbose]: FeedbackMousePositionChange: (-19; 361)
[runtime] 2021-04-26 11:07:20 [verbose]: FeedbackMousePositionChange: (0; 361)
[runtime] 2021-04-26 11:07:20 [verbose]: FeedbackMousePositionChange: (-5; 361)
[runtime] 2021-04-26 11:07:20 [verbose]: HandleMouseMove: (-7; 361)
[runtime] 2021-04-26 11:07:20 [verbose]: HandleMouseMove: (-9; 361)
[runtime] 2021-04-26 11:07:20 [verbose]: FeedbackMousePositionChange: (-7; 361)

Remarks:
The bug occurs even when sensitivity is set to 1, but it's just that the SDL and framework cursor positions match, so it's not noticeable.

If you want to be helpful, can you reproduce this bug in an isolated fashion (see the PR for my issue on SDL's end that you already linked to above for a sample) and then report to SDL?
As it stands, everything you've written here is only helpful in giving me more work in reproducing in an isolated fashion, then forwarding the report to SDL.

I've reproduced the bug in an isolated fashion, will report to SDL.

Upstream issue: https://github.com/libsdl-org/SDL/issues/4339

that looks like a 100% duplicate of what i reported yet you've reported as a new issue. without even mentioning the existing one or is the attached PR helps with it.


Arbitrum Foundation Grant

Milestone 1: First round of EIP-4824 adoption drive through Arbitrum. We expect to complete this milestone within 3 months from the grant date. Our goal is to have a minimum of 3 DAOs on Arbitrum achieve EIP-4824 compliance within this timeframe.
Milestone 2: Implementation of the Regulatory Interface. We aim to complete this milestone within 6 months from the start of the project.
Milestone 3: Authoring of the DAO tax standard. We expect to release the tax standard V1.0 within 9 months from the start of the project.

DAOs on Arbitrum:

Arbitrum
Badger
Balancer
Curve
Paraswap
Sushi
Uniswap
1inch
Across Protocol
Galxe
Aave
Compound
Silo
OOKI
UMAMI
Yearn
MakerDAO
Frax
Lybra
GMX

This has been awarded (10k USD, with 40k USD in incentive fees) but the agreement has not been signed yet. KYB complete.


[CELEBORN-593] Refine some RPC related default configurations

What changes were proposed in this pull request?
There are some key points:

NETWORK_IO_CONNECTION_TIMEOUT fallback to NETWORK_TIMEOUT, but if we set NETWORK_TIMEOUT, NETWORK_IO_CONNECTION_TIMEOUT still use the default value 240s, in this pr, we make it can change follow NETWORK_TIMEOUT
Default RPC_ASK_TIMEOUT use NETWORK_TIMEOUT, but if we set like this, if the request to a worker is stuck, the retry logic has no chance to trigger the second time at all. So in this PR we set RPC_ASK_TIMEOUT from 240s to 30s
HA_CLIENT_RPC_ASK_TIMEOUT better be a much smaller value than APPLICATION_HEARTBEAT_TIMEOUT, since for some big applications, or bad running environment, driver always miss sending some RPC. If HA_CLIENT_RPC_ASK_TIMEOUT > APPLICATION_HEARTBEAT_TIMEOUT, miss one heartbeart RPC will cause application lost, it's not we want. We should give more time for error tolerance, so here I want to increase  APPLICATION_HEARTBEAT_TIMEOUT to 600s and decrease HA_CLIENT_RPC_ASK_TIMEOUT default value to 30s, same as RPC_ASK_TIMEOUT.
The longest tolerable waiting time for a request should be NETWORK_IO_CONNECTION_TIMEOUT, currently we use too much complex calculation method to calculate the timeout of an RPC process such as REGISTER_SHUFFLE_RPC_ASK_TIMEOUT REQUEST_PARTITION_LOCATION_RPC_ASK_TIMEOUT GET_REDUCER_FILE_GROUP_RPC_ASK_TIMEOUT, if we use these calculation method, it's result always bigger then NETWORK_IO_CONNECTION_TIMEOUT, so we can just set their's default value as NETWORK_IO_CONNECTION_TIMEOUT, even NETWORK_IO_CONNECTION_TIMEOUT bigger than the real result, the process won't wait for such long since target side must have finished and returned whether succeed or failed.

Why are the changes needed?
Does this PR introduce any user-facing change?
How was this patch tested?

ping @pan3793 @waitinfuture @FMX @RexXiong This pr refine the RPC timeout related conf, make it simple and correct

Seems we can remove the rss.* support in 0.3.0 (of course, in separated PR), it does not always work, just a limited
guidance of configuration mapping for users who migrate from 0.1 to 0.2.
.withAlternative("rss.*")

Seems we can remove the rss.* support in 0.3.0 (of course, in separated PR), it does not always work, just a limited guidance of configuration mapping for users who migrate from 0.1 to 0.2.
.withAlternative("rss.*")

I think we can do this later.

Logically, the change overall looks reasonable.


Disallow primitive assignability to indexer of type any

string/numberIndexTypesRelatedTo needs to prevent primitives from being
assignable to an indexer of type 'any'. However, these two functions take
an apparent type, which no longer has the primitive flag set. I thought of
three ways to provide this information:

Pass the original type into string/numberIndexTypesRelatedTo and
check its flag.
Record a boolean isPrimitive before converting to the apparent type,
and pass it to string/numberIndexTypesRelatedTo.
Create a helper function isPrimitive that takes the apparent type and
compares it to globalString/Number/Boolean/ESSymbolType.

I decided on (1) because it seems like the simplest and safest. But none
of the options are elegant. Please suggest improvements.

Is there a bug tracking this change? I'd like to have more context on what we're saying is desirable/non-desirable

Yes, I'll remember someday to add a link to the bug number: #4588. And it's an improvement to #4074 which was a little too permissive.

FWIW I was interested in the status of this code
interface X {
	[n: number]: any;
}

var x: X;
x = 'hello';

which seems to still compile under this branch, which is what I'd expect.

The test I added in assignmentCompat1.ts has this case, but I didn't think about it enough and expected it to fail (I forgot that strings do support numeric indexing in typescript). I'll add another test case like
var x: { [n: number]: any } = false

which should (and does) fail.

Ping @RyanCavanaugh -- can you take another look now that I added more test cases?

:+1:


Adding Johan Adami

Adding my profile

Merged via https://github.com/Cornell-CS5356-Fall2015/cs5356/commit/b79d1217c24a5ce9daf3b5ddcd4e80c356ad6b8f.


Notification Clicks Not Triggering push.on('notification') Event on Cold Start (When App Closed)

I am using the @havesource/cordova-plugin-push plugin in my Cordova app. Notifications work correctly when the app is open or in the background. However, if the app is closed, clicking on a notification does not trigger the push.on('notification', function(data) { ... }) event.
Steps to Reproduce:

Install the plugin using the documented method.
Send a notification using FCM to the app.
Open the app via the notification while the app is closed.

Expected Behavior:
The push.on('notification') event should trigger and allow access to the notification data when the app opens through the notification click.
Actual Behavior:
The event does not trigger when the app is opened via a notification click after being closed.
push.on('notification', function(data) {
    alert("Notification received: " + JSON.stringify(data));
});

Additional Info:
1)The app properly receives notifications in the foreground and background.
2) I am using the latest version of the plugin.
Any help?

I have just set up a new app with android and ios, all in latest version (cordova, plugin, mobile) and everything is working well, in the 3 situations:

foreground, background, coldstart

What you described is a payload issue.
For FCM use this :         (don't use 'notification' entry...)
{
"message": {
"token": "mytoken",
"android": {
"priority": "high",
"data": {"title":"my title", "message":"my message"}
}
}
}
For APN use:
{
"aps": {
"alert": {
"title": "my title",
"body": "my message"
},
"sound": "default",
"priority": "high"
}
}
On your app side use this: data is either in data itself or in data.additionalData depending of  the call situation.
push.on("notification", function (data) {
alert(data.title || data.additionalData.title, data.message || data.additionalData.message);
});
Hope this help.

@infuzz  Even after changing the payload, push.on('notification', function(data){}) this function doesn't triggered. Here is the code.
$message = 'MESSAGE HERE';
$title = 'TITLE HERE''';

$fields = array(
    'message' => array(
        'token' => $device_id,
        'android' => array(
            'priority' => 'high',
            'data' => array(
                'title' => $title
                'body' => $message
            )
        )
    )
);

$url = 'https://fcm.googleapis.com/v1/projects/project-254111/messages:send';

$headers = array(
    'Authorization: Bearer ' . $accessToken,
    'Content-Type: application/json'
);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields));
$result = curl_exec($ch);

@bameriters Note that for android, the payload attribute for the message part is "message", not "body".

@infuzz  It doesn't trigger even after changing "body" to "message." However, it works perfectly when the app is open. Should we set a timeout or something similar?
Yes, I'm calling pushNotification.init() on the deviceready  event. Here is the code.
index.html
<!DOCTYPE html>

		<meta charset="utf-8">
		<meta http-equiv="X-UA-Compatible" content="IE=edge">
		<meta name="viewport" content="viewport-fit=cover, user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width">
        <meta name="format-detection" content="telephone=no">
        <meta name="msapplication-tap-highlight" content="no">
		<title>MDSPrep</title>
		<link rel="stylesheet" href="style.css"/>

index.js
var app = {
    initialize: function(){
        this.bindEvents();
    },
    bindEvents: function(){
        document.addEventListener('deviceready', this.onDeviceReady, false);
    },
    onDeviceReady:function(){
		mobileAppDeviceReady();
        app.receivedEvent('deviceready');
    },
    receivedEvent: function(id){
        var parentElement = document.getElementById(id);
        var listeningElement = parentElement.querySelector('.listening');
        var receivedElement = parentElement.querySelector('.received');

        listeningElement.setAttribute('style', 'display:none;');
        receivedElement.setAttribute('style', 'display:block;');
    }
};

app.js
function mobileAppDeviceReady(){
    pushPluginInit();
}

var push = '';
function pushPluginInit(){
	push = PushNotification.init({
		android: {

		},
		browser: {
			pushServiceURL: 'http://push.api.phonegap.com/v1/push'
		},
		ios: {
			alert: "true",
			badge: "true",
			sound: "true"
		},
		windows: {}
	});

    push.on('notification', function(data){
        alert("Notification Received");

        // Handle notification data (foreground/background)
        if (data.additionalData.foreground) {
            alert("App was open. Handling notification in foreground.");
        } else {
            alert("App was closed or in background. Handling notification after click.");
            // Add any logic to navigate or display relevant information here
        }
    });
    push.on('error', function(e) {
        console.error("Push plugin error: " + e.message);
    });
}

@bameriters
the documentation states (https://cordova.apache.org/docs/en/12.x/cordova/events/events.html#deviceready)

The deviceready event behaves somewhat differently from others. Any event handler registered after the deviceready event fires has its callback function called immediately.

I think this is the problem you are running into.

load cordova.js (1.)
deviceready event is fired (2.)
index.js load and registeres eventhandler
callbackfunction gets called but the inner function is not defined yet because app.js is not loaded completely.

try to move eventhandler registration to app.js or the cordova relevant logic from app.js to index.js and check, if this works.

@infuzz  try to move eventhandler registration to app.js or the cordova relevant logic from app.js to index.js and check, if this works.
As you said, I moved code from app.js to index.js but still it doesn't triggered. Here is the code.
index.js
var app = {
    initialize: function(){
        this.bindEvents();
    },
    bindEvents: function(){
        document.addEventListener('deviceready', this.onDeviceReady, false);
    },
    onDeviceReady:function(){
		mobileAppDeviceReady1();
        app.receivedEvent('deviceready');
    },
    receivedEvent: function(id){
        var parentElement = document.getElementById(id);
        var listeningElement = parentElement.querySelector('.listening');
        var receivedElement = parentElement.querySelector('.received');

        listeningElement.setAttribute('style', 'display:none;');
        receivedElement.setAttribute('style', 'display:block;');
    }
};

var push = '';
var userDeviceId = '';
function mobileAppDeviceReady1(){
    alert("mobileAppDeviceReady1");
	push = PushNotification.init({
		android: {
		},
		browser: {
			pushServiceURL: 'http://push.api.phonegap.com/v1/push'
		},
		ios: {
			alert: "true",
			badge: "true",
			sound: "true"
		},
		windows: {}
	});

	// Handle notifications
	push.on('notification', function(data){
		alert("Notification Received!");

		// Handle notification data (foreground/background)
		if (data.additionalData.foreground) {
			alert("App was open. Handling notification in foreground.");
		} else {
			alert("App was closed or in background. Handling notification after click.");
			// Add any logic to navigate or display relevant information here
		}
	});
	push.on('error', function(e) {
		console.error("Push plugin error: " + e.message);
	});
}

@infuzz  Do you know if anything needs to be added to config.xml? Any ideas?

@bameriters
where or when do you call ?
app.initialize()
If this method is not called nothing happens.

@infuzz  The app.initialize() function is implemented as shown below. The event triggers correctly when the app is opened, indicating that initialization works. However, there's an issue when the app is opened via a notification click.
var app = {
    initialize: function(){
        this.bindEvents();
    },
    bindEvents: function(){
        document.addEventListener('deviceready', this.onDeviceReady, false);
    },
    onDeviceReady:function(){
		mobileAppDeviceReady1();
        app.receivedEvent('deviceready');
    },
    receivedEvent: function(id){
        var parentElement = document.getElementById(id);
        var listeningElement = parentElement.querySelector('.listening');
        var receivedElement = parentElement.querySelector('.received');

        listeningElement.setAttribute('style', 'display:none;');
        receivedElement.setAttribute('style', 'display:block;');
    }
};

app.initialize();

var push = '';
var userDeviceId = '';
function mobileAppDeviceReady1(){
    alert("mobileAppDeviceReady1");
	push = PushNotification.init({
		android: {
		},
		browser: {
			pushServiceURL: 'http://push.api.phonegap.com/v1/push'
		},
		ios: {
			alert: "true",
			badge: "true",
			sound: "true"
		},
		windows: {}
	});

	// Handle notifications
	push.on('notification', function(data){
		alert("Notification Received!");

		// Handle notification data (foreground/background)
		if (data.additionalData.foreground) {
			alert("App was open. Handling notification in foreground.");
		} else {
			alert("App was closed or in background. Handling notification after click.");
			// Add any logic to navigate or display relevant information here
		}
	});
	push.on('error', function(e) {
		console.error("Push plugin error: " + e.message);
	});
}

In my project, I have the initPushNotification() method, which is called in the class constructor.
It works correctly both in the background and when the app is open.
The structure of the code is as follows:
import { Push, PushObject, PushOptions } from '@ionic-native/push';
constructor(public push: Push) {
this.events.subscribe('changeTokenPush', () => {
this.initPushNotification();
});
}
initPushNotification() {
// Check if we have permission to receive notifications
this.push.hasPermission().then((res: any) => {
// Handle permissions
console.log('Permissions:', res);
});
// Configuration to initialize push notifications
const options: PushOptions = {
    android: {
        senderID: '...id',
        icon: 'notification',
        iconColor: '#D3D3D3',
        clearNotifications: false,
        clearBadge: false,
        forceShow: true,
    },
    ios: {
        alert: 'true',
        badge: true,
        clearBadge: false,
        sound: 'true',
    },
    windows: {},
    browser: {},
};

const pushObject: PushObject = this.push.init(options);

// Set the application icon badge number
pushObject.setApplicationIconBadgeNumber(0).then(() => { });

// Subscribe to registration events
pushObject.on('registration').subscribe((registration: any) => {
    // Handle registration
});

// Subscribe to notification events
pushObject.on('notification').subscribe((notification: any) => {
    if (notification.additionalData.coldstart) {
        // Action for when the app is started from a notification
    } else if (notification.additionalData.foreground) {
        // Action when the notification is received while the app is in the foreground
    } else {
        // Action for other scenarios
    }
}, (error: any) => {
    console.error('Error receiving notification:', error);
});

// Subscribe to error events
pushObject.on('error').subscribe((error) => console.error('Push error:', error));

}
In my case, could the issue be related to how I initialize the plugin? Perhaps I need to add a setTimeout to allow enough time for the push notifications to start properly?
@infuzz

@Pablios the initialization of the plugin looks fine to me.
The most important question is not answered by your codesnippet.
As @infuzz  asked

Also, could you confirm that you wait for the [deviceready] event before calling PushNotification.init()?

Do you wait for the deviceready event.
One can only see some ionic event 'changeTokenPush' that triggers the initialization, But you didn,t show if this event 'changeTokenPush' is fired only after the 'deviceready' event of the cordova framework.

I tried three different approaches:

Using ngOnInit.
Utilizing the initializeApp() method:

@Pablios
did you check by alerting or something else if the "deviceready" event is fired after coldstart triggered by click on a notification?

@Pablios In my case, the "deviceready" event fires when clicking on a notification (I receive alert("mobileAppDeviceReady1")) while the app is closed, but the push.on('notification') event doesn't trigger.
var app = {
    initialize: function(){
        this.bindEvents();
    },
    bindEvents: function(){
        document.addEventListener('deviceready', this.onDeviceReady, false);
    },
    onDeviceReady:function(){
		mobileAppDeviceReady1();
        app.receivedEvent('deviceready');
    },
    receivedEvent: function(id){
        var parentElement = document.getElementById(id);
        var listeningElement = parentElement.querySelector('.listening');
        var receivedElement = parentElement.querySelector('.received');

        listeningElement.setAttribute('style', 'display:none;');
        receivedElement.setAttribute('style', 'display:block;');
    }
};

app.initialize();

var push = '';
var userDeviceId = '';
function mobileAppDeviceReady1(){
    alert("mobileAppDeviceReady1");
	push = PushNotification.init({
		android: {
		},
		browser: {
			pushServiceURL: 'http://push.api.phonegap.com/v1/push'
		},
		ios: {
			alert: "true",
			badge: "true",
			sound: "true"
		},
		windows: {}
	});

	// Handle notifications
	push.on('notification', function(data){
		alert("Notification Received!");

		// Handle notification data (foreground/background)
		if (data.additionalData.foreground) {
			alert("App was open. Handling notification in foreground.");
		} else {
			alert("App was closed or in background. Handling notification after click.");
			// Add any logic to navigate or display relevant information here
		}
	});
	push.on('error', function(e) {
		console.error("Push plugin error: " + e.message);
	});
}

@bameriters did you build a minimal cordova app to rule out problems with other plugins and your payload for the notifications?

With the following payload structure, push.on('notification', function(data){}) triggers consistently, whether the app is closed, minimized, or open. However, the image appears small:
$fields = array(
    'message' => array(
        'token' => $device_id,
        'data' => array(
            'title' => $title,
            'body' => $message,
            'image' => "https://domain.com/images/1730125396.jpg",
            'notId' => (string)time(),
        )
    )
);

However, based on my research, it’s recommended to use a mixed payload like this:
$fields = array(
    'message' => array(
        'token' => $device_id,
        'notification' => array(
            'title' => $title,
            'body' => $message,
            'image' => "https://domain.com/images/1730125396.jpg"
        ),
        'data' => array(
            'title' => $title,
            'body' => $message,
            'image' => "1730125396.jpg",
            'notId' => (string)time(),
        )
    )
)

With this mixed payload, the image displays correctly, but the push.on('notification', function(data){}) event doesn’t trigger when the app is closed or minimized.
Any ideas?

@bameriters
the Documentation of the plugin states, that you have add "click_action": "com.adobe.phonegap.push.background.MESSAGING_EVENT" if you want the onnotification handler to be called when APp is in background or closed.
https://github.com/havesource/cordova-plugin-push/blob/master/docs/PAYLOAD.md#notification-vs-data-payloads
However the docs of the plugin are not updated yet. It still refers to the old FCM Payload structures.
Just modify your mixed payload like this:
$fields = array(
    'message' => array(
        'token' => $device_id,
        'notification' => array(
            'title' => $title,
            'body' => $message,
            'image' => "https://domain.com/images/1730125396.jpg"
        ),
        'data' => array(
            'title' => $title,
            'body' => $message,
            'image' => "1730125396.jpg",
            'notId' => (string)time(),
        ),
       'android' => array(
            'notification' => array(
                  'click_action' => "com.adobe.phonegap.push.background.MESSAGING_EVENT"
             )
        )
    )
)

Thank you. I should update the configuration like this to enable the click_action, correct?
<platform name="android">
    <intent-filter>
        <action android:name="com.adobe.phonegap.push.background.MESSAGING_EVENT" />
        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>
</platform>

@bameriters
when you install the plugin its adding all the required intentfilters to the Androidmanifest. You do not have to do anything else on that side.
Here is the snippet of the Androidmanifest that is generated by the plugin.
The intentfilter for the activity "com.adobe.phonegap.push.BackgroundHandlerActivity" looks for the "com.adobe.phonegap.push.background.MESSAGING_EVENT"
        <activity android:exported="true" android:name="com.adobe.phonegap.push.PushHandlerActivity" android:permission="${applicationId}.permission.PushHandlerActivity" />
        <activity android:exported="true" android:name="com.adobe.phonegap.push.BackgroundHandlerActivity" android:permission="${applicationId}.permission.BackgroundHandlerActivity">
            <intent-filter>
                <action android:name="com.adobe.phonegap.push.background.MESSAGING_EVENT" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
        <receiver android:name="com.adobe.phonegap.push.BackgroundActionButtonHandler" />
        <receiver android:name="com.adobe.phonegap.push.PushDismissedHandler" />
        <service android:exported="true" android:name="com.adobe.phonegap.push.FCMService">
            <intent-filter>
                <action android:name="com.google.firebase.MESSAGING_EVENT" />
            </intent-filter>
        </service>

@ksch10bob It’s working fine now, thank you very much! I’ll post the final working code here shortly.

Closing ticket as resolved since the last comment by the original ticket author said it was now working fine.


Get rid of cosmos-sdk dependency

We have cosmos-sdk dependency due to this code:
import "github.com/cosmos/cosmos-sdk/server/types"

func OpenDB(appOpts types.AppOptions, ...) (dbm.DB, error) {...}

We can try to get rid of it, but it will require slight changes in ethermint code

Resolved with https://github.com/Kava-Labs/opendb/pull/6