GSLB Server and proberPool not created

Environment

Application Services Version: 3.38.0
BIG-IP Version: 15.1.5

Summary
Trying to create using PATCH method a GSLB configuration that will create a GSLB Server with Prober Pool. The declaration also tries to create the prober pool itself but provides the following error:
{
    "code": 422,
    "errors": [
        "/Common/Shared/ACME-PAOLO-02: should NOT have additional properties"
    ],
    "declarationFullId": "",
    "message": "declaration is invalid"
}

Steps To Reproduce
Steps to reproduce the behavior:

Submit the following declaration using PATCH method to AS3:

[
  {
    "op": "add",
    "path": "/Common/Shared/ACME-PAOLO-02",
    "value": {
                "class": "GSLB_Server",
                "serverType": "bigip",
                "monitors": [

                    ],
                "dataCenter": {
                    "bigip": "/Common/testDataCenter"
                },
                "proberPreferred": "pool",
                "proberPool": {
                    "use": "prober_pool_02"
                },

                "devices":[
                    {
                        "label": "ACME-PAOLO-02",
                        "address": "<IP_ADDRESS>"
                    }
                ],
                "virtualServers": [
                    {
                        "name": "ACME-PAOLO_VS2",
                        "address": "<IP_ADDRESS>",
                        "port": 0
                    }
                ],
                "prober_pool_02": {
                "class": "GSLB_Prober_Pool",
                    "members": [
                        {
                        "server": {
                        "bigip": "/Common/ACME-PAOLO"
                        },
                        "memberOrder": 0
                        }
                    ],
                    "lbMode": "global-availability"
                }
            }
    }
]

Observe the following error response:

{
    "code": 422,
    "errors": [
        "/Common/Shared/ACME-PAOLO-02: should NOT have additional properties"
    ],
    "declarationFullId": "",
    "message": "declaration is invalid"
}

Expected Behavior
GSLB Server ACME-PAOLO-02 created with prober pool prober_pool_02 also created by the same declaration and referenced within the created GSLB Server
Actual Behavior
The declaration doesn't create the objects and replies with the error provided.

@paolobeta71 Can you provide the initial declaration before the PATCH request, or do a GET to the declare endpoint to get the state before the PATCH request?

@paolobeta71 i believe this is resolved in AS3-40. Please reach out to<EMAIL_ADDRESS>to get an early released image.

In response to Daniel request.
The first POST request is the following:
POST https://<IP_ADDRESS>/mgmt/shared/appsvcs/declare
{
"class": "ADC",
"schemaVersion": "3.25.0",
"id": "GSLB_Sample",
"Automation": {
"class": "Tenant",
"Shared": {
"class": "Application",
"template": "shared",
"GSLB_testPool": {
"class": "GSLB_Pool",
"resourceRecordType": "A",
"enabled": true,
"fallbackIP": "<IP_ADDRESS>",
"lbModeFallback": "drop-packet",
"lbModeAlternate": "none",
"lbModePreferred": "fallback-ip"
}
}
}
}
This is also the answer for the GET request to the declare endpoint:
{"Fast":{"class":"Tenant","nginx-http-70_vs":{"class":"Application","service":{"class":"Service_HTTP","virtualAddresses":["<IP_ADDRESS>"],"pool":"http_pool"},"http_pool":{"class":"Pool","monitors":["http"],"members":[{"servicePort":80,"addressDiscovery":"consul","updateInterval":10,"uri":"http://<IP_ADDRESS>:8500/v1/health/service/nginx?passing","jmesPathQuery":"[].{id:Node.Address,ip:{private:Node.Address,public:Node.Address},port:Service.Port}"}]}},"nginx-http-71_vs":{"class":"Application","service":{"class":"Service_HTTP","virtualAddresses":["<IP_ADDRESS>"],"pool":"http_pool"},"http_pool":{"class":"Pool","monitors":["http"],"members":[{"servicePort":80,"addressDiscovery":"consul","updateInterval":10,"uri":"http://<IP_ADDRESS>:8500/v1/health/service/nginx?passing","jmesPathQuery":"[].{id:Node.Address,ip:{private:Node.Address,public:Node.Address},port:Service.Port}"}]}}},"UDP_partition":{"class":"Tenant","DNS_Service":{"class":"Application","service":{"class":"Service_UDP","virtualPort":53,"virtualAddresses":["<IP_ADDRESS>"],"pool":"dns_pool"},"dns_pool":{"class":"Pool","monitors":[{"use":"udp_custom_53"},"icmp"],"minimumMonitors":"all","members":[{"servicePort":53,"serverAddresses":["<IP_ADDRESS>"]}]},"udp_custom_53":{"class":"Monitor","monitorType":"udp","adaptive":false}}},"Automation":{"class":"Tenant","Shared":{"class":"Application","template":"shared","GSLB_testPool":{"class":"GSLB_Pool","resourceRecordType":"A","enabled":true,"fallbackIP":"<IP_ADDRESS>","lbModeFallback":"drop-packet","lbModeAlternate":"none","lbModePreferred":"fallback-ip"},"record.info.it":{"class":"GSLB_Domain","domainName":"record.info.it","resourceRecordType":"A","poolLbMode":"global-availability","pools":[{"use":"/Automation/Shared/GSLB_testPool"}]},"testPoolCNAME":{"class":"GSLB_Pool","resourceRecordType":"CNAME","members":[{"domainName":"record.info.it","enabled":false}]},"testCNAME.it":{"class":"GSLB_Domain","domainName":"testCNAME.it","resourceRecordType":"CNAME","poolLbMode":"round-robin","pools":[{"use":"/Automation/Shared/testPoolCNAME"}]}}},"Common":{"class":"Tenant","Shared":{"class":"Application","template":"shared","Paolo-DC":{"class":"GSLB_Data_Center"},"pool_nomatch":{"class":"GSLB_Pool","resourceRecordType":"A","enabled":true,"fallbackIP":"<IP_ADDRESS>","lbModeFallback":"drop-packet","lbModeAlternate":"none","lbModePreferred":"fallback-ip"},"ACME-PAOLO":{"class":"GSLB_Server","serverType":"bigip","monitors":[],"dataCenter":{"use":"Paolo-DC"},"proberPreferred":"pool","proberPool":{"bigip":"/Common/prober_pool_01"},"devices":[{"label":"ACME-PAOLO","address":"<IP_ADDRESS>"}],"virtualServers":[{"name":"ACME-PAOLO_VS","address":"<IP_ADDRESS>","port":0}]},"prober_pool_02":{"class":"GSLB_Prober_Pool","members":[{"server":{"use":"/Common/ACME-PAOLO"},"memberOrder":0}],"lbMode":"global-availability"}}},"class":"ADC","updateMode":"selective","schemaVersion":"3.0.0","id":"DNS","DNS_Zones":{"class":"Tenant","TEST_DNS_Zone":{"class":"Application","dnsZone":{"class":"DNS_Zone","label":"dnsZone","remark":"DNS Zone test","dnsExpress":{"enabled":true,"nameserver":{"use":"dnsNameserverZone"},"notifyAction":"consume","allowNotifyFrom":["<IP_ADDRESS>"],"verifyNotifyTsig":false},"responsePolicyEnabled":true,"serverTsigKey":{"use":"tsigKeyZone"},"transferClients":[{"use":"dnsNameserverZone"}]},"dnsNameserverZone":{"class":"DNS_Nameserver","label":"dnsNameserverZone","address":"<IP_ADDRESS>","port":53,"routeDomain":{"bigip":"/Common/0"},"tsigKey":{"use":"tsigKeyZone"}},"tsigKeyZone":{"class":"DNS_TSIG_Key","label":"tsigKeyZone","remark":"TSIG Key test","algorithm":"hmacmd5","secret":{"ciphertext":"JE0kUVckWFJmSmhoYVc2SHFrTTlyVXpiRHI3Zz09","miniJWE":true,"protected":"eyJhbGciOiJkaXIiLCJlbmMiOiJmNXN2In0=","ignoreChanges":true,"allowReuse":false}}}},"controls":{"archiveTimestamp":"2022-08-05T23:16:32.433Z"}}
i'll also follow Mark suggestion and ask for testing with AS3-40.
Thanks
Paolo

Please reach out to<EMAIL_ADDRESS>to get an early released image to test it.

Hi, tested with the preview of AS3-40...
I'm receiving the same error....
Declaration:
PATCH -> https://<IP_ADDRESS>/mgmt/shared/appsvcs/declare
[
{
"op": "add",
"path": "/Common/Shared/ACME-PAOLO-02",
"value": {
"class": "GSLB_Server",
"serverType": "bigip",
"monitors": [
                ],
            "dataCenter": {
                "bigip": "/Common/testDataCenter"
            },
            "proberPreferred": "pool",
            "proberPool": {
                "use": "prober_pool_02"
            },

            "devices":[
                {
                    "label": "ACME-PAOLO-02",
                    "address": "<IP_ADDRESS>"
                }
            ],
            "virtualServers": [
                {
                    "name": "ACME-PAOLO_VS2",
                    "address": "<IP_ADDRESS>",
                    "port": 0
                }
            ],
            "prober_pool_02": {
            "class": "GSLB_Prober_Pool",
                "members": [
                    {
                    "server": {
                    "bigip": "/Common/ACME-PAOLO"
                    },
                    "memberOrder": 0
                    }
                ],
                "lbMode": "global-availability"
            }
        }
}

]
Result with error:
{
"code": 422,
"errors": [
"/Common/Shared/ACME-PAOLO-02: should NOT have additional properties"
],
"declarationFullId": "",
"message": "declaration is invalid"
}

It is also possible to combine the 2 PATCH operations into an array and post a single time.  This example assumes that the /Common/testDataCenter in my POST above is already on the bigip so it can be referenced with "bigip".  Once again, this will not work for you right now because I'm fixing the broken "proberPool" "use"-reference.
PATCH mgmt/shared/appsvcs/declare

[
    {
        "op": "add",
        "path": "/Common/Shared/prober_pool_02",
        "value": {
            "class": "GSLB_Prober_Pool",
            "members": [
                {
                    "server": {
                        "use": "/Common/ACME-PAOLO"
                    },
                    "memberOrder": 0
                }
            ],
            "lbMode": "global-availability"
        }
    },
    {
        "op": "add",
        "path": "/Common/Shared/ACME-PAOLO-02",
        "value": {
            "class": "GSLB_Server",
            "serverType": "bigip",
            "monitors": [],
            "dataCenter": {
                "bigip": "/Common/testDataCenter"
            },
            "proberPreferred": "pool",
            "proberPool": {
                "use": "prober_pool_02"
            },
            "devices": [
                {
                    "label": "ACME-PAOLO-02",
                    "address": "<IP_ADDRESS>"
                }
            ],
            "virtualServers": [
                {
                    "name": "ACME-PAOLO_VS2",
                    "address": "<IP_ADDRESS>",
                    "port": 0
                }
            ]
        }
    }
]


Fix starboard showing 1 less stars than there actually is

Embeds posted to starboard channel shows minus one than the actual amount of stars on the message.

Fixed with https://github.com/mbacalan/aureneBot/commit/28cee025fde593ebcc0c147b2c630ba208efee31


horizontal scrollbar not appearing

Hi, thanks for your excellent component. I dropped it in and it was instantaneously working with vertical scroll.
However, I am not able to get horizontal scroll to appear. Do you have any tips?
My data is overflowing in horizontal direction; if use native css scroll enable, the browser horizontal scrollbar does show up.
Thanks for any help!
I am using your component like this:
render: function() {
   return (
     <ReactScrollbar style={{width:"100%", height:"100%"}}>

          // some text data here

     </ReactScrollbar>
}

When I change the style[width] from "100%" to "200px", it does shorten the horizontal display of my data. But the horizontal scroll bar does not appear.

Hi, @developer94404!
Did you set any width for
?

Hi @UsulPro -- thank you for quick reply.  I did not -- however, I just tried by adding style={width: "100%"}, and the horizontal scroll does not appear still.  I also tried width = 50px, 80% just for experiment (still no appear).
If it helps (I don't think it does), my widget is being rendered into golden layout  container.

but is your content inside scrollbar has width bigger than scrollbar area? It's a reason for horisontal scroll appearing. Usualy div with a text fits for 100% of a parent width.
Could you try:
<ReactScrollbar style={{width: 200, height:"100%"}}>

          // some text data here

     </ReactScrollbar>

Hi, thanks for reply. I just tried it out:
First, the setting I use for ReactScrollBar:
ReactScrollBar style[width] = "100%":
Second, the setting I use for inside div:
Case:
0. No width specified: scrollbar does not appear (original issue)
1. "2000px" (something much much bigger):  the scrollbar appears and is correctly sized and scrolls correctly to the end
2. "100%": the scrollbar does not appear;  cannot scroll
3. "101%": the scrollbar appears a tiny bit: can only scroll a tiny bit
4. "120%": the scrollbar appears but is still not sized properly and does not "look" correct when scrolling (end-position & ratio-when-scrolling is wrong)
Perhaps the difference between this and your test cases, is that I am rendering the data into the inside div based on ajax call; so the data is variable-length based on use-case   and may change on any specific React render() call.
Thanks!

@developer94404
I check it! Indeed we have a bug when setting child width in %%!
@BosNaufal How do you think, can we have it fixed?

Hey @UsulPro, Sorry for my slow respose. But I think, I need reproduce to check it :confused:

has this been fixed?

I think I may be running into this issue. Has it been fixed yet?


unable to format clojure.core?

On this post  @borkdude reports that Standard Clojure Style fails to format clojure.core

Looks like it breaks on (defmacro ns - https://github.com/clojure/clojure/blob/master/src/clj/clojure/core.clj#L5817-L5873

Fixed with PR-138


release rc2

[ ] implement new api https://github.com/datproject/docs/blob/master/api.md
[ ] tests for cli
[ ] update the docs in datproject/docs to reflect new usage.

10.0.0 updates API to use new one. I'm working on updating the CLI output here. We have a few lingering questions/updates on the sensible defaults:

Live or Static by default?

1a. Is the default the same for both download and sharing?
1b. When downloading & live, is it okay to seed by default too (otherwise no way to be live)?

Changed append to resume.
Currently if you reshare the same folder the hash will change. This is confusing, but is it acceptable for now?

1a. No strong feelings. @maxogden probably has input here. I do like the --live symmetry you get when uploading/downloading if static is default
1b. Defaults should not change based on the input. Always be static per default here.

+1 resume

I don't agree that 3 is confusing. It's just an opaque link. Either way this can be updated in the future.

One thing we should get in there asap the is dat.land links instead of just sharing the hash/public-key.

I think the biggest prio here is finishing the CLI output so we can get rid of my console.logs. More 🚢 ing!

I think 3 is confusing if the data hasn't changed but the hash changes. I think we have to decide: is the cli going to be more like dropbox (always live, always resume) or more like the older dat?
It could also be confusing because we are trying to do sync from the command line and maybe it just won't be a very nice interface.
+1 getting dat.land links in there!

What needs to happen to get dat.land links working across CLI/web? I can make them links but right now none would seed b/c the different swarms.

@joehand we need to run some hybrid clients. easiest way would be for dat.land to message a hybrid server somewhere to join the swarm for a specific hash.

also anyone can run a hybrid server since you don't need to trust them. we'd only send them the discovery key which isn't enough to decrypt data.

How does this look to everyone:
dat <command> <directory> [--option <argument>]
  dat share <directory>    creates a link and shares directory
  dat <link> <directory>   downloads data from a link into directory

options
  --live              sync new files and keep connection open
  --resume=<link>     resume a link created earlier
  --seed              when downloading, keep seeding data
  --port, -p          set a specific inbound tcp port
  --quiet, -q         quiet output mode
  --debug             debug output mode
  --no-color          no color output mode
  --version, -v       get installed dat version

a "link" ... hmm... what kind of link ?
Let the user know a bit more information. about what a link is.  url? uri? samba share?

describe "debug" and "quiet" and "no-color" mode telling what they do or don't do, rather then repeat the words.

"seed" ... hmm... it keeps seeding data ? why ? ...oh it keeps the data FOR seeding ?  be a bit more clear here.  English is a funky language when you put some words before or after others and changes the intent and meaning.

"seed" ... hmm... it keeps seeding data ? why ? ...oh it keeps the data FOR seeding ?
This is a good point. "seeding" is both a noun and a verb.

dat list might be nice, to view the contents of an archive before committing.

<link> being listed as a "command" is confusing to me. What about calling it dat get <link> <directory> and mentioning dat <link> <directory> as a shorthand?

It's also confusing me that some of the options apply to dat in general, like --version, some apply to all commands, like --port, and some only apply to specific commands.
What about splitting it up like this:
dat share <directory>
  --option1 description
  --option2 description

dat get <link> <directory>
  --option1 description
  --option2 description

general dat options:
  --option1 description
  --option2 description

+1 on julian's suggestions above^^, plus I'd like to see a dat get <link> --list option.

"seed" ... hmm... it keeps seeding data ? why ? ...oh it keeps the data FOR seeding ?

Yes, seed is a bit confusing. The two options for downloading are:

Download files and exit process after completion (thus stopping the sharing of files with peers)
Download files and keep process open, continuing to share files ("seed").

@waldoj @thadguidry would --share make more sense? Or would that be also confusing with the share command.

Along with the options & wording, the defaults we are looking at:

Require user to specify a directory
Default to static (make --live option for share & get)

Updated w/ @juliangruber idea & other comments.
dat <command> <directory> [--option <argument>]
  dat share <directory>            creates a dat-link and shares directory
  dat get <dat-link> <directory>   downloads a dat-link into directory

dat share <directory>
  --live                sync new files added to directory
  --resume=<dat-link>   resume a dat-link created previously
  --port, -p            set a specific inbound tcp port

dat get <dat-link> <directory>
  --live                download new files when added to dat-link source
  --list                print file list for dat-link
  --seed (?)            keep process open and share data with peers
  --port, -p            set a specific inbound tcp port

output options:
  --quiet, -q           output only dat-link, no progress information
  --debug               show debugging output
  --no-color            no color in output

general options (no command required):
  --version, -v         get installed dat version
  --doctor              run dat doctor

@joehand: I conclude the same thing that you did—that --seed isn't the problem, but the description was the problem. I think your revised description is much more clear.

@joehand i found the first block confusing still, what about this? (also reworded the command descriptions slightly to match the rest)
dat share <directory>

  create a dat-link and share directory

  --live                sync new files added to directory
  --resume=<dat-link>   resume a dat-link created previously
  --port, -p            set a specific inbound tcp port

dat get <dat-link> <directory>

  download a dat-link into directory

  --live                download new files when added to dat-link source
  --list                print file list for dat-link
  --seed (?)            keep process open and share data with peers
  --port, -p            set a specific inbound tcp port

general options

  --version, -v         get installed dat version
  --doctor              run dat doctor
  --quiet, -q           output only dat-link, no progress information
  --debug               show debugging output
  --no-color            no color in output

@joehand  +1 for "share".

Will be released soon...


Make EnderPearl a DamagingProjectile

When projectiles were refactored to add the DamagingProjectile interface, EnderPearl was made a Projectile, instead of a DamagingProjectile.
Like Egg, EnderPearl is hardcoded to do 0 damage - but it does do damage. I believe it should also be made a DamagingProjectile

@gabizou: That's a separate concept. Damage is done:

If the EnderPearl hits a block: damage is done to the thrower
If the EnderPearl hits an entity: (0) damage is done to the hit entity.

@Aaron1011
Is this still a relevant issue?

@Zidane: Yes, it hasn't been changed yet.


⚠ Secret Website 3 has degraded performance

In ce10b1c, Secret Website 3 ($SECRET_WEBSITE_3) experienced degraded performance:

HTTP code: 200
Response time: 2416 ms

Resolved: Secret Website 3 performance has improved in 6f73aea.


How does COBRA handle joining two query sequences?

Hi Linxing,
Great tool. I'm really interested in using it with some of my datasets. One question that came up in discussing COBRA with others was how it handles cases where e.g. Query Contigs Q1 and Q2 could be joined by non-query contigs, e.g. Q1-c1-c2-Q2. Apologies if I missed this part of the manuscript but does COBRA have the ability to handle this, or does it start from the assumption that it is only looking for ways it can extend query contigs in isolation?
Best,
Luke

Hi Luke,
Thank you for your interest in COBRA.
COBRA could join two or more query contigs/scaffolds if they meet some specific conditions, for example, coverage, paired reads spanning, etc.
Let me know if you have other questions, I am happy to discuss more.
Best,
LINXING


Microsoft.BingWallpaper version <IP_ADDRESS>

[x] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?

[x] Does your manifest conform to the 1.1 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

Never thought I'd ever find the correct args for this one lol

@ItzLevvie
Hey Levvie,
When you get the time can you or someone review and merge this in for me please?
Thanks in advance :)


feat: return error email

Fixes #40

Thank you for your PR!
I think your codes are good!
Could you just modify the type of original_subject field in the Error to Option<String> because we also need to send error emails for account initialization emails?
https://github.com/zkemail/email-wallet/pull/48/files#diff-625da5a352196440c9ac90f8f65dd8b1c1d6eb225c755c395317375b849a3851R57
Also, after merging this PR, we next need to define the specific error types using thiserror crate rather than specifying errors by raw strings in the error_email_if_needed function.

Thank you for your PR! I think your codes are good! Could you just modify the type of original_subject field in the Error to Option<String> because we also need to send error emails for account initialization emails? https://github.com/zkemail/email-wallet/pull/48/files#diff-625da5a352196440c9ac90f8f65dd8b1c1d6eb225c755c395317375b849a3851R57
Also, after merging this PR, we next need to define the specific error types using thiserror crate rather than specifying errors by raw strings in the error_email_if_needed function.

Implemented the requested changes.

Thank you for your update!
https://github.com/zkemail/email-wallet/pull/48/files#diff-625da5a352196440c9ac90f8f65dd8b1c1d6eb225c755c395317375b849a3851R305-R308
Here, could you add the original subject only if it is not None, instead of unwrapping it?


Notes with Code blocks no longer loading

I just updated this plug-in and now Obsidian can't open any notes with meta data.
Shows me this notice:

All other plugins have been disabled, so I can confirm it's this plugin.

Seems the issue is not isolated to notes with headers.
I am not able to load any notes that have code blocks.

Did you remove the data.json file? I specifically wrote it in the README. Reinstalling the plugin should also solve the problem.

Apologies. That fixed the issue.


Preserve code comments when solutions carry over to later lessons

When reviewing the terminal reset PR, https://github.com/saving-satoshi/saving-satoshi/pull/939 I was made aware of this awesome feature we have where sometimes, your solution to a code challenge can show up in a subsequent challenge as pre-loaded code.
For example, in Chapter 6, Putting it all together, Build the transaction digest, you need to write a Transaction.digest() method that implements BIP-143. In the next challenge, Build the witness class, your Transaction.digest() method appears as part of the pre-loaded starter code!
This is very cool. Being able to incrementally build up to the final challenge like this is really satisfying. It would be nice though if the code comments also carried over. Especially when we're working with these really complex and technical topics, code comments can make learning and referencing your old code a lot easier.
Update: here is where the comments are stripped out: https://github.com/saving-satoshi/saving-satoshi/blob/93016dfb92c8b4a5541aa23d41c733d7497518d6/ui/lesson/ScriptingChallenge/index.tsx#L139
I understand if there is a case to be made for trying to minimize the amount of user code persisted, or if sanitizing this user input helps things run more smoothly. I can accept if dropping code comments is an intentional choice.

Curious what others @daviroo or @0tuedon think. We currently remove code comments because of the // YOUR CODE HERE throughout the game, but perhaps we could just target these comments instead of just removing all comments?

Hmm, as @benalleng  said we removed the comments because of # YOUR CODE HERE. But I guess we could just target that?


fix regression: provide compile-time error for invalid .packages file

I regressed this when moving kernel-service to the public API, the fix should be as simple as adding a try-catch in ProcessedOptions.

fixed in https://github.com/dart-lang/sdk/commit/ebd9440b18396124708cdb67bd82c1985e8a427a


Xamarin.Forms Tutorial for the Push Notification Plugin breaks Android Notifications when App is Not Running or Backgrounded (Fix Included in Comments)

tl;dr The Xamarin.Forms' DependancyService prevents Android apps from receiving push notifications when not running or backgrounded.
I recommend updating the tutorial on the Push Notification Plugin's GitHub page to help prevent confusion from other developers in the future: Adding Push Notification Post to your Xamarin Forms Application. I followed this tutorial to implement the Push Notification Plugin, and it lead me to this road block: my Android app could not receive push notifications when it was not running or backgrounded.
After following this step-by-step tutorial to setup the Push Notification Plugin on Xamarin.Forms, the iOS push notifications work flawlessly and the Android devices receive push notifications when the app is running or backgrounded. But on Android, if I force-close the app so that it is no longer running  (e.g. press the Recent Apps button, and swipe away my app), and then send a push notification, the device shows this error message: “Unfortunately, [App Name] has stopped” (screen shot below).
The error below was appearing because I did not call the CrossPushNotification.Initialize<CrossPushNotificationListener>(Keys_Constants.GOOGLE_APIs_ID); method inside [Application] OnCreate() as is recommended on the Push Notification Plugin's GitHub page.
But, the reason why I didn’t/couldn’t include this method in [Application] OnCreate() was because CrossPushNotificationListener requires the Xamarin.Forms’ DependencyService, which is impossible in [Application] OnCreate() because the DependencyService hasn’t been initialized yet; global::Xamarin.Forms.Forms.Init(this, bundle); is called in Android's MainActivity which hasn’t been yet instantiated when the code is executing the [Application] class.
The remedy was to  break apart my cross-platform implementation of the CrossPushNotificationListener into a platform-specific NotificationListener that now live in the platform-specific PCL (code below).
I recommend updating the tutorial on the GitHub page to implement this plugin for Xamarin.Forms. The tutorial has the user create a CrossPushNotificationListener class that uses Xamarin.Forms’ DependencyService. This tutorial works flawlessly to receive push notifications on iOS, but on Android, it will only allow the device to receive push notifications while the app is running or backgrounded.
Error When Sending a Push Notification to a App That Is Not Running and Not Backgrounded (Before implementing the fix)

Updated Platform-Specific Notification Listener for Android
[Application] File
using System;

using Android.OS;
using Android.App;
using Android.Content;
using Android.Runtime;

using Plugin.CurrentActivity;
using PushNotification.Plugin;

using Xamarin;

namespace MondayPundayApp.Droid
{
    //You can specify additional application information in this attribute
    [Application]

    public class Punday : Application, Application.IActivityLifecycleCallbacks
    {
        public static Context AppContext;

        public Punday(IntPtr handle, JniHandleOwnership transer)
          : base(handle, transer)
        {
        }

        public override void OnCreate()
        {
            base.OnCreate();

            RegisterActivityLifecycleCallbacks(this);

            AppContext = this.ApplicationContext;

            CrossPushNotification.Initialize<AndroidPushNotificationListener>(Keys_Constants.GOOGLE_APIs_ID);

            StartPushService();
        }

        public override void OnTerminate()
        {
            base.OnTerminate();
            UnregisterActivityLifecycleCallbacks(this);
        }

        void IActivityLifecycleCallbacks.OnActivityCreated(Activity activity, Bundle savedInstanceState)
        {
            CrossCurrentActivity.Current.Activity = activity;
        }

        public void OnActivityDestroyed(Activity activity)
        {
        }

        public void OnActivityPaused(Activity activity)
        {
        }

        public void OnActivityResumed(Activity activity)
        {
            CrossCurrentActivity.Current.Activity = activity;
        }

        public void OnActivitySaveInstanceState(Activity activity, Bundle outState)
        {
        }

        public void OnActivityStarted(Activity activity)
        {
            CrossCurrentActivity.Current.Activity = activity;
        }

        public void OnActivityStopped(Activity activity)
        {
        }
        public static void StartPushService()
        {
            AppContext.StartService(new Intent(AppContext, typeof(PushNotificationService)));

            if (Build.VERSION.SdkInt >= BuildVersionCodes.Kitkat)
            {

                PendingIntent pintent = PendingIntent.GetService(AppContext, 0, new Intent(AppContext, typeof(PushNotificationService)), 0);
                AlarmManager alarm = (AlarmManager)AppContext.GetSystemService(Context.AlarmService);
                alarm.Cancel(pintent);
            }
        }

        public static void StopPushService()
        {
            AppContext.StopService(new Intent(AppContext, typeof(PushNotificationService)));

            if (Build.VERSION.SdkInt >= BuildVersionCodes.Kitkat)
            {
                PendingIntent pintent = PendingIntent.GetService(AppContext, 0, new Intent(AppContext, typeof(PushNotificationService)), 0);
                AlarmManager alarm = (AlarmManager)AppContext.GetSystemService(Context.AlarmService);
                alarm.Cancel(pintent);
            }
        }
    }
}

AndroidPushNotificationListener.cs
using PushNotification.Plugin;
using PushNotification.Plugin.Abstractions;

using Newtonsoft.Json.Linq;
using MondayPundayApp.Droid;

namespace MondayPundayApp.Droid
{
    public class AndroidPushNotificationListener : IPushNotificationListener
    {
        AzureNotificationHubService_Android _azureNotificationHubService;

        public AndroidPushNotificationListener()
        {
            _azureNotificationHubService = new AzureNotificationHubService_Android();
        }

        public async void OnRegistered(string Token, DeviceType deviceType)
        {
            await _azureNotificationHubService.RegisterNativeAsync(Token);
        }

        public async void OnUnregistered(DeviceType deviceType)
        {
            await _azureNotificationHubService.UnregisterNativeAsync();
        }

        public void OnError(string message, DeviceType deviceType)
        {
        }

        public void OnMessage(JObject values, DeviceType deviceType)
        {
        }

        public bool ShouldShowNotification()
        {
            return true;
        }
    }
}

AzureNotificationHubService_Android.cs
using System;
using System.Threading.Tasks;

using Microsoft.WindowsAzure.MobileServices;

using Xamarin;

namespace MondayPundayApp.Droid
{
    public class AzureNotificationHubService_Android
    {
        private MobileServiceClient _mobileServiceClient;
        private Push _push;

        public string CurrentDeviceId { get; private set; }

        public AzureNotificationHubService_Android()
        {
            try
            {
                _mobileServiceClient = new MobileServiceClient(Keys_Constants.AzureMobileService_URL, Keys_Constants.AzureMobileService_KEY);
                _push = _mobileServiceClient.GetPush();
            }
            catch (Exception e)
            {
                Insights.Report(e);
            }
        }

        public async Task UnregisterNativeAsync()
        {
            try
            {
                await _push.UnregisterNativeAsync();
            }
            catch (Exception e)
            {
                Insights.Report(e);
            }
        }

        public async Task RegisterNativeAsync(string deviceId)
        {
            try
            {
                CurrentDeviceId = deviceId;
                await _push.RegisterNativeAsync(deviceId);
            }
            catch (Exception e)
            {
                Insights.Report(e);
            }
        }
    }
}

I'm having the exact same issue.
I've implemented the AndroidPushNotificationListener like you've given and notifications are received when the app is open but now the notifications won't show up in the Notification list if the app is closed via the open-app-list.
The logcat show the message is arrived in the Android system. But the system is not showing it.
logcat:
I/GCM     ( 2119): GCM message com.app_artment.groupcom 0:1456847305230928%b1a1e05af9fd7ecd W/GCM-DMM ( 2119): broadcast intent callback: result=CANCELLED forIntent { act=com.google.android.c2dm.intent.RECEIVE pkg=com.app_artment.groupcom (has extras) }
It seems that the listernerservice is not running in the background now (I guess).
Anyone who can help me on this?

Still it won't give me push notifications in the background

Nevermind, I missed

<receiver android:name=".AlarmReceiver">

Hi brminnick,
weird - I am not seeing any dependency from the plug-in itself; my guess is, in your implementation of CrossPushNotificationListener, you have created the Dependency on Forms.
IMHO: The tutorial (Adding Push Notification Post to your Xamarin Forms Application) is correct.
In my code, I don't do anything but to notify the user;  my registration with azure happens when the user logs in to the system.. by that time, Forms is already initialized.

@alexbleks I ran into the same issue but don't really understand how you fixed it...
Why should adding <receiver android:name=".AlarmReceiver">  help?
Haven't added it yet. My [Application]-Class is exactly like in the tutorial described... what did I miss?
`[Application]
public class xxxxxx : Application
{
public static Context AppContext;
	public TcIoTCommunicator (IntPtr javaReference, JniHandleOwnership transfer) : base(javaReference, transfer)
	{
	}

	public override void OnCreate ()
	{
		base.OnCreate ();

		AppContext = this.ApplicationContext;

		//TODO: Initialize CrossPushNotification Plugin
		//TODO: Replace string parameter with your Android SENDER ID
		//TODO: Specify the listener class implementing IPushNotificationListener interface in the Initialize generic
		CrossPushNotification.Initialize<CrossPushNotificationListener>("xxxxxxxx");

		//This service will keep your app receiving push even when closed.
		StartPushService();
	}

	public static void StartPushService()
	{
		AppContext.StartService(new Intent(AppContext, typeof(PushNotificationService)));

		if (Android.OS.Build.VERSION.SdkInt >= Android.OS.BuildVersionCodes.Kitkat)
		{

			PendingIntent pintent = PendingIntent.GetService(AppContext, 0, new Intent(AppContext, typeof(PushNotificationService)), 0);
			AlarmManager alarm = (AlarmManager)AppContext.GetSystemService(Context.AlarmService);
			alarm.Cancel(pintent);
		}
	}

	public static void StopPushService()
	{
		AppContext.StopService(new Intent(AppContext, typeof(PushNotificationService)));
		if (Android.OS.Build.VERSION.SdkInt >= Android.OS.BuildVersionCodes.Kitkat)
		{
			PendingIntent pintent = PendingIntent.GetService(AppContext, 0, new Intent(AppContext, typeof(PushNotificationService)), 0);
			AlarmManager alarm = (AlarmManager)AppContext.GetSystemService(Context.AlarmService);
			alarm.Cancel(pintent);
		}
	}`

@MKahmen,
Here's where your code is breaking, which is the same bug that I hit:

When Android opens your App, it first loads the [Application] file, and then it load the MainActivity.cs file.

I added break-points to my app to confirm it loads [Application] before MainActivity

In the [Application] file, the code is initializing the CrossPushNotification class
Then, in the constructor for CrossPushNotification, it calls the Xamarin.Forms DependencyService: DependencyService.Get<IAzureNotificationHubService>();

This is where the code breaks

We cannot call the Xamarin.Forms Dependency Service in the [Application] file, because Xamarin.Forms hasn't yet been initialized; we can only use the Xamarin.Forms Dependency Service after we've initialized Xamarin.Forms, global::Xamarin.Forms.Forms.Init(this, bundle);.
Because Xamarin.Forms is initialized in the MainActivity, we cannot use the Dependency Service in the [Application] file.
CrossPushNotification.cs
using System.Threading.Tasks;

using PushNotification.Plugin;
using PushNotification.Plugin.Abstractions;

using Xamarin.Forms;

using Newtonsoft.Json.Linq;

namespace MondayPundayApp
{
	public class CrossPushNotificationListener : IPushNotificationListener
	{
		IAzureNotificationHubService _azureNotificationHubService;

		public CrossPushNotificationListener()
		{
               // This is where the code breaks when you send a Push Notification to an Android App that is not currently running.
               //You cannot call the Xamarin.Forms Dependency Service before Xamarin.Forms has been initialized in the MainActivity
			_azureNotificationHubService = DependencyService.Get<IAzureNotificationHubService>();

		}

		public async void OnRegistered(string Token, DeviceType deviceType)
		{
			await _azureNotificationHubService.RegisterNativeAsync(Token);
		}

		public async void OnUnregistered(DeviceType deviceType)
		{
			await _azureNotificationHubService.UnregisterNativeAsync();
		}

		public void OnError(string message, DeviceType deviceType)
		{
		}

		public void OnMessage(JObject values, DeviceType deviceType)
		{
			App.pushNotificationReceived = true;
		}

		public bool ShouldShowNotification()
		{
			return true;
		}
	}

	public interface IAzureNotificationHubService
	{
		Task RegisterNativeAsync(string deviceId);

		Task UnregisterNativeAsync();
	}
}

@brminnick Thank you for your explanation.
Still one feature missing: If I kill the my app (or restart the phone), I won't receive messages. it's just an [Application]-class, not a service - I know. Do you have a solution / an example for this?

This is how I got it working:
   public override void OnCreate()
    {
        base.OnCreate();
        RegisterActivityLifecycleCallbacks(this);
		AppContext = this.ApplicationContext;

        //A great place to initialize Xamarin.Insights and Dependency Services!

		CrossPushNotification.Initialize<CrossPushNotificationListener>("THE_ID");

		CrossPushNotification.Current.Register ();
		StartPushService();
    }

	public static void StartPushService()
	{
		AppContext.StartService(new Intent(AppContext, typeof(PushNotificationService)));

		if (Android.OS.Build.VERSION.SdkInt >= Android.OS.BuildVersionCodes.Kitkat)
		{
			PendingIntent pintent = PendingIntent.GetService(AppContext, 0, new Intent(AppContext, typeof(PushNotificationService)), 0);
			AlarmManager alarm = (AlarmManager)AppContext.GetSystemService(Context.AlarmService);
			alarm.Cancel(pintent);
		}
	}

<permission android:name="com.appid.permission.C2D_MESSAGE" android:protectionLevel="signature" />
<uses-permission android:name="com.appid.permission.C2D_MESSAGE" />
<application android:debuggable="false" android:icon="@drawable/icon" android:label="MyApp">
	<receiver android:name="com.appid.AlarmReceiver"></receiver>
	<receiver android:name="com.google.android.gms.gcm.GcmReceiver" android:exported="true" android:permission="com.google.android.c2dm.permission.SEND">
		<intent-filter>
			<action android:name="com.google.android.c2dm.intent.RECEIVE" />
			<action android:name="com.google.android.c2dm.intent.REGISTRATION" />
			<category android:name="com.appid" />
		</intent-filter>
	</receiver>

@alexbleks Thank you for your reply. I still don't understand the relationship between your manifest/receiver and the Service/Application-class.
Xamarin doc says:

Our goal is that 99% of our users should never need to manually modify AndroidManifest.xml.

Is there a way to program this receiver around this PushService? I just don't like to change the Manifest if it's not 100% necessary.
Regards

Update: Seems like CrossPushNotification.Initialize can take an instant of listener; I had a problem of playing audio before because of the whole dependency issue; but now, I can pass the audio service from Initialize to use.

Is there any progress? I tried your suggestions but only fixed the crash. When the app is closed, no push notifications are received. I tried adding into the manifest file but didn't help.
Anything else I could do?

sry for pushing this topic again but it drives me totally crazy....
I attached a small logcat data snippet where you can see the app starting but when I'm closing the app (swiping it) in android, the process seems to crash. Is that the usual behavior?
In any case, the service is not working anymore, until I reopen the app....
Any idea how to debug this? Should there be more entries in logcat?
push.txt

ok finally I found the bug in my code and now it's working like a charm.
Problem was the (un-)registration process with my cloud server. Auth token was not sent correctly to the server after receiving a new one from google.
Now everything works fine even in background.

Hi Guys, does this work with Firebase?
I receive the notification on Android but there is no title content, only shows the app name on top?

@CR4567 can you provide a sample project that is working?
It's been a nightmare, I've tried a lot of things but I still can't receive notifications if my app is closed.
Thanks.

You need to register the device, either create a popup or button which calls:
        private void YesButtonPush_Clicked(object sender, EventArgs e)         {             labelPush.Text = "You will receive push notifications";             CrossPushNotification.Current.Register();         }
Just make sure place this code in your MainApplication as below:
`
[Application]
public class MainApplication : Application, Application.IActivityLifecycleCallbacks
{
public static Context AppContext;
    public MainApplication(IntPtr handle, JniHandleOwnership transer)
       : base(handle, transer)
    {
    }

public override void OnCreate()
{
base.OnCreate();
RegisterActivityLifecycleCallbacks(this);
//A great place to initialize Xamarin.Insights and Dependency Services!
        AppContext = this.ApplicationContext;

        //TODO: Replace string parameter with your Android SENDER ID
        CrossPushNotification.Initialize<CrossPushNotificationListener>("your sender ID");

        //This service will keep your app receiving push even when closed.
        StartPushService();
    }

    public static void StartPushService()
    {
        AppContext.StartService(new Intent(AppContext, typeof(PushNotificationService)));

        if (Android.OS.Build.VERSION.SdkInt >= Android.OS.BuildVersionCodes.Kitkat)
        {

            PendingIntent pintent = PendingIntent.GetService(AppContext, 0, new Intent(AppContext, typeof(PushNotificationService)), 0);
            AlarmManager alarm = (AlarmManager)AppContext.GetSystemService(Context.AlarmService);
            alarm.Cancel(pintent);
        }
    }

    public static void StopPushService()
    {
        AppContext.StopService(new Intent(AppContext, typeof(PushNotificationService)));
        if (Android.OS.Build.VERSION.SdkInt >= Android.OS.BuildVersionCodes.Kitkat)
        {
            PendingIntent pintent = PendingIntent.GetService(AppContext, 0, new Intent(AppContext, typeof(PushNotificationService)), 0);
            AlarmManager alarm = (AlarmManager)AppContext.GetSystemService(Context.AlarmService);
            alarm.Cancel(pintent);
        }
    }`

}

@iManchaDev is completely right. Same did the trick for me.
@lucascc26 Something you should also check, if you want to use some code in the shared project, in the "onMessage" method, you have to delete any forms related code. Forms is not loaded at this point and will crash when a message is incoming. You will notice a "app crashed" message every time.
Hope this helps. If not, please give us a little more information about how you implemented the service and what's exactly your problem.

@iManchaDev @CR4567 thanks for the reply!
My implementation looks like this:
Forms project - App
`
public class App : Application
{
public static void RegisterSpecific<RegisterType, RegisterImplementation>() where RegisterType : class where RegisterImplementation : class, RegisterType
{
FreshMvvm.FreshIOC.Container.Register<RegisterType, RegisterImplementation>();
}
    protected override void OnStart()
    {
        CrossPushNotification.Current.Register();
    }
}

`
Forms project - CrossPushNotificationListener:
`
public CrossPushNotificationListener()
{
_azureClient = FreshMvvm.FreshIOC.Container.Resolve();
}
    public void OnMessage(JObject values, DeviceType deviceType)
    {
    }

    public void OnRegistered(string token, DeviceType deviceType)
    {
        _azureClient.Register(token);
    }

    public void OnUnregistered(DeviceType deviceType)
    {
        _azureClient.Unregister();
    }

    public void OnError(string message, DeviceType deviceType)
    {
    }

    public bool ShouldShowNotification()
    {
        return true;
    }

`
Android project - AzureClient
`
public class AzureClient : IAzureClient
{
private NotificationHub _hub;
    public AzureClient()
    {
        var cs = ConnectionString.CreateUsingSharedAccessKeyWithListenAccess(new Java.Net.URI(Keys.HUB_URL), Keys.HUB_LISTEN_SECRET);
        _hub = new NotificationHub(Keys.HUB_NAME, cs, Application.Context);
    }

    public void Register(string token)
    {
        Register(token, new string[0]);
    }

    public void Register(string token, string[] tags)
    {
        _hub.Register(token, tags);
    }

    public void Unregister()
    {
        _hub.Unregister();
    }
}

`
Android project - PushNotificationAppStarter
`
[Application]
public class PushNotificationAppStarter : Application, Application.IActivityLifecycleCallbacks
{
public static Context AppContext;
    public PushNotificationAppStarter(IntPtr javaReference, JniHandleOwnership transfer) : base(javaReference, transfer)
    {

    }

    public override void OnCreate()
    {
        base.OnCreate();
        RegisterActivityLifecycleCallbacks(this);
        AppContext = this.ApplicationContext;

        App.RegisterSpecific<IKeyboardHelper, AndroidKeyboardHelper>();
        App.RegisterSpecific<IAzureClient, AzureClient>();

        CrossPushNotification.Initialize<CrossPushNotificationListener>(Keys.GCM_SENDER_ID);

        StartPushService();
    }

    public override void OnTerminate()
    {
        base.OnTerminate();
        UnregisterActivityLifecycleCallbacks(this);
    }

    public static void StartPushService()
    {
        AppContext.StartService(new Intent(AppContext, typeof(PushNotificationService)));

        if (Android.OS.Build.VERSION.SdkInt >= Android.OS.BuildVersionCodes.Kitkat)
        {
            PendingIntent pintent = PendingIntent.GetService(AppContext, 0, new Intent(AppContext, typeof(PushNotificationService)), 0);
            AlarmManager alarm = (AlarmManager)AppContext.GetSystemService(Context.AlarmService);
            alarm.Cancel(pintent);
        }
    }

    public static void StopPushService()
    {
        AppContext.StopService(new Intent(AppContext, typeof(PushNotificationService)));

        if (Android.OS.Build.VERSION.SdkInt >= Android.OS.BuildVersionCodes.Kitkat)
        {
            PendingIntent pintent = PendingIntent.GetService(AppContext, 0, new Intent(AppContext, typeof(PushNotificationService)), 0);
            AlarmManager alarm = (AlarmManager)AppContext.GetSystemService(Context.AlarmService);
            alarm.Cancel(pintent);
        }
    }

    public void OnActivityCreated(Activity activity, Bundle savedInstanceState)
    {
        CrossCurrentActivity.Current.Activity = activity;
    }

    public void OnActivityDestroyed(Activity activity)
    {
    }

    public void OnActivityPaused(Activity activity)
    {
    }

    public void OnActivityResumed(Activity activity)
    {
        CrossCurrentActivity.Current.Activity = activity;
    }

    public void OnActivitySaveInstanceState(Activity activity, Bundle outState)
    {
    }

    public void OnActivityStarted(Activity activity)
    {
        CrossCurrentActivity.Current.Activity = activity;
    }

    public void OnActivityStopped(Activity activity)
    {
    }
}

`
And this is the payload I'm sending through Azure's Test Send
{     "notification" : {       "body" : "Body",       "title" : "Title",       "icon" : "a_valid_icon"     },     "data":{         "message":"Notification Hub test notification"     } }
Or
{     "data":{         "message":"Notification Hub test notification"     } }
Everything works while my app is running in foreground or in background.
The problem is that I stop receiving notifications when the app is closed by swiping it from the recent apps list.
Am I missing something?

@lucascc26
If you're debugging app, this happens sometimes when app is terminated.
Try release mode and see if it works.

@iManchaDev I've tried in release mode and even signing and distributing my apk in ad hoc mode.

for me your code looks correct. Can't see an issue.
Did you check what's happening to your service when you close your app and after you're receiving a notification?

How can I check if my service is still running after closing the app?

there is an option in the developer settings of android... I guess it was something like service statistics...

There's nothing related to my app in there. :(
Do I need to change anything in my manfest.xml file?

? but that's weird... there should be something with your app name...
in manifest file you only need the typical stuff,
Permissions for Internet, NetworkState etc... but nothing special for the problem of the closed app.

Sorry, I was looking at the wrong place.
The service keeps running while the app is running, but it's gone when I close the app.

It worked!!!!
The problem was on my phone (ASUS Zenfone 3). It has something called Auto-start manager, which disables background services by default. I just needed to change that.
Thanks a lot!

:-D oh, nice. Tough problem :-) But good you found it.

@MKahmen I know it's been a while since your last post here, but did you ever find a solution?
Even when I add the manifest part in, I still cannot receive notifications when the app is not running / sleeping.

@lanceking Make sure you implement the code in your MainApplication.cs file rather than MainActivity.cs

@lanceking I decided to implement my own code based on Xamarin.iOS and Xamarin.Android examples. I had to implement custom notification styles anyways. Sorry, but can't help anymore.

@lanceking @MKahmen I recommend creating your own implementation too, because the Push Notification Plugin doesn't provide much added-value.
The Xamarin Evolve app implements Push for both iOS and Android and it's what I reference when implementing push notifications now:
https://github.com/xamarinhq/app-evolve

Thanks @brminnick @MKahmen @iManchaDev ! I finally got things working.
My issue was due to it being a debug build. Pushed an AdHoc Release build and things worked fine. If I run into more issues, I'll def. refer to the Evolve app (great app btw, not sure why I didn't think to reference it first).

Hi, @iManchaDev and @CR4567  I know this an old issue but I haven't been able to make it work, I've done as you guys say setting a MainApplications.cs with the [Application] tag but I still can't get the message sent through FCM Console not sure why, I'm using the senderID given by the console and it's the same, and I do get the register ID of the device using
           CrossPushNotification.Current.Register();
when application starts, all this even when the App is running, not sure what I'm doing wrong can you guys give me a little hand?
In advance thanks for help given.
Side note: I have the same package name on the FCM Console and on android manifest

@William-H-M You may want to see my reply on the following thread:
https://github.com/rdelrosario/xamarin-plugins/issues/110
I appreciate what the developers of this plugin have provided free of charge to all users, however with lack of support at times I had to make a decision going forward and haven't looked back.
Good Luck

Hi @iManchaDev thanks for that It'll be great if you give anything about it from where to start or if you got a quick example of it, it will be of a lot of help, while that I'll check it out and see if I can get it work. Thanks!

https://documentation.onesignal.com/docs/xamarin-sdk

Hi
I am getting notification and bind it with text on activity but not able to get notification using notification builder in notification panel.


fix electrum dependencies

Motivation for this change
See #26249
Things done

[x] Tested using sandboxing
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] Linux

[x] Tested compilation of all pkgs that depend on this change using
[ ] Tested execution of all binary files
[x] Fits CONTRIBUTING.md.

Could you move each of these expressions to new files as described in the header of python-packages.nix. That will make future updating easier as well.

Ah, sorry I missed it.

@rnhmjoj I just noticed there were evaluation errors so I reverted it. Furthermore, the expressions are supposed to be in pkgs/development/python-modules/<pname>/default.nix. Unfortunately there's a lot that aren't.


Please update the HIVEOS miner !!

Please update the HIVEOS miner !!
Is very very buggy and unstable

For sure, It's a pain to use this


⚠ ClamAV has degraded performance

In 77dba50, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 68 ms

Resolved: ClamAV performance has improved in 79921f3.


Make error

Hello:
I was compiling the source files but got the following error after executing the make command:
nazim@nazim-Precision-T3600 ~/Desktop/Dropbox/Network_Research/ExploreNet/Software/zmap-1.2.1 $ make
[  2%] Building C object src/CMakeFiles/zmap.dir/recv.c.o
In file included from /usr/include/pcap/pcap.h:51:0,
from /home/nazim/Desktop/Dropbox/Network_Research/ExploreNet/Software/zmap-1.2.1/src/recv.c:17:
/usr/include/pcap/bpf.h:107:8: error: redefinition of ‘struct bpf_program’
In file included from /usr/local/include/pcap.h:48:0,
from /home/nazim/Desktop/Dropbox/Network_Research/ExploreNet/Software/zmap-1.2.1/src/recv.c:16:
/usr/local/include/pcap-bpf.h:84:8: note: originally defined here
In file included from /usr/include/pcap/pcap.h:51:0,
from /home/nazim/Desktop/Dropbox/Network_Research/ExploreNet/Software/zmap-1.2.1/src/recv.c:17:
/usr/include/pcap/bpf.h:1259:8: error: redefinition of ‘struct bpf_insn’
In file included from /usr/local/include/pcap.h:48:0,
from /home/nazim/Desktop/Dropbox/Network_Research/ExploreNet/Software/zmap-1.2.1/src/recv.c:16:
/usr/local/include/pcap-bpf.h:86:9: note: originally defined here
In file included from /usr/include/pcap/pcap.h:51:0,
from /home/nazim/Desktop/Dropbox/Network_Research/ExploreNet/Software/zmap-1.2.1/src/recv.c:17:
/usr/include/pcap/bpf.h:1273:12: error: conflicting types for ‘bpf_validate’
In file included from /home/nazim/Desktop/Dropbox/Network_Research/ExploreNet/Software/zmap-1.2.1/src/recv.c:16:0:
/usr/local/include/pcap.h:222:5: note: previous declaration of ‘bpf_validate’ was here
In file included from /usr/include/pcap/pcap.h:51:0,
from /home/nazim/Desktop/Dropbox/Network_Research/ExploreNet/Software/zmap-1.2.1/src/recv.c:17:
/usr/include/pcap/bpf.h:1274:14: error: conflicting types for ‘bpf_filter’
In file included from /home/nazim/Desktop/Dropbox/Network_Research/ExploreNet/Software/zmap-1.2.1/src/recv.c:16:0:
/usr/local/include/pcap.h:221:7: note: previous declaration of ‘bpf_filter’ was here
In file included from /home/nazim/Desktop/Dropbox/Network_Research/ExploreNet/Software/zmap-1.2.1/src/recv.c:17:0:
/usr/include/pcap/pcap.h:123:8: error: redefinition of ‘struct pcap_file_header’
In file included from /home/nazim/Desktop/Dropbox/Network_Research/ExploreNet/Software/zmap-1.2.1/src/recv.c:16:0:
/usr/local/include/pcap.h:110:8: note: originally defined here
In file included from /home/nazim/Desktop/Dropbox/Network_Research/ExploreNet/Software/zmap-1.2.1/src/recv.c:17:0:
/usr/include/pcap/pcap.h:161:8: error: redefinition of ‘struct pcap_pkthdr’
In file included from /home/nazim/Desktop/Dropbox/Network_Research/ExploreNet/Software/zmap-1.2.1/src/recv.c:16:0:
/usr/local/include/pcap.h:125:8: note: originally defined here
In file included from /home/nazim/Desktop/Dropbox/Network_Research/ExploreNet/Software/zmap-1.2.1/src/recv.c:17:0:
/usr/include/pcap/pcap.h:170:8: error: redefinition of ‘struct pcap_stat’
In file included from /home/nazim/Desktop/Dropbox/Network_Research/ExploreNet/Software/zmap-1.2.1/src/recv.c:16:0:
/usr/local/include/pcap.h:134:8: note: originally defined here
In file included from /home/nazim/Desktop/Dropbox/Network_Research/ExploreNet/Software/zmap-1.2.1/src/recv.c:17:0:
/usr/include/pcap/pcap.h:215:8: error: redefinition of ‘struct pcap_if’
In file included from /home/nazim/Desktop/Dropbox/Network_Research/ExploreNet/Software/zmap-1.2.1/src/recv.c:16:0:
/usr/local/include/pcap.h:73:16: note: originally defined here
In file included from /home/nazim/Desktop/Dropbox/Network_Research/ExploreNet/Software/zmap-1.2.1/src/recv.c:17:0:
/usr/include/pcap/pcap.h:228:8: error: redefinition of ‘struct pcap_addr’
In file included from /home/nazim/Desktop/Dropbox/Network_Research/ExploreNet/Software/zmap-1.2.1/src/recv.c:16:0:
/usr/local/include/pcap.h:74:16: note: originally defined here
In file included from /home/nazim/Desktop/Dropbox/Network_Research/ExploreNet/Software/zmap-1.2.1/src/recv.c:17:0:
/usr/include/pcap/pcap.h:236:16: error: conflicting types for ‘pcap_handler’
In file included from /home/nazim/Desktop/Dropbox/Network_Research/ExploreNet/Software/zmap-1.2.1/src/recv.c:16:0:
/usr/local/include/pcap.h:167:16: note: previous declaration of ‘pcap_handler’ was here
In file included from /home/nazim/Desktop/Dropbox/Network_Research/ExploreNet/Software/zmap-1.2.1/src/recv.c:17:0:
/usr/include/pcap/pcap.h:351:5: error: conflicting types for ‘pcap_loop’
In file included from /home/nazim/Desktop/Dropbox/Network_Research/ExploreNet/Software/zmap-1.2.1/src/recv.c:16:0:
/usr/local/include/pcap.h:176:5: note: previous declaration of ‘pcap_loop’ was here
In file included from /home/nazim/Desktop/Dropbox/Network_Research/ExploreNet/Software/zmap-1.2.1/src/recv.c:17:0:
/usr/include/pcap/pcap.h:352:5: error: conflicting types for ‘pcap_dispatch’
In file included from /home/nazim/Desktop/Dropbox/Network_Research/ExploreNet/Software/zmap-1.2.1/src/recv.c:16:0:
/usr/local/include/pcap.h:177:5: note: previous declaration of ‘pcap_dispatch’ was here
In file included from /home/nazim/Desktop/Dropbox/Network_Research/ExploreNet/Software/zmap-1.2.1/src/recv.c:17:0:
/usr/include/pcap/pcap.h:354:2: error: conflicting types for ‘pcap_next’
In file included from /home/nazim/Desktop/Dropbox/Network_Research/ExploreNet/Software/zmap-1.2.1/src/recv.c:16:0:
/usr/local/include/pcap.h:179:2: note: previous declaration of ‘pcap_next’ was here
In file included from /home/nazim/Desktop/Dropbox/Network_Research/ExploreNet/Software/zmap-1.2.1/src/recv.c:17:0:
/usr/include/pcap/pcap.h:355:6: error: conflicting types for ‘pcap_next_ex’
In file included from /home/nazim/Desktop/Dropbox/Network_Research/ExploreNet/Software/zmap-1.2.1/src/recv.c:16:0:
/usr/local/include/pcap.h:180:6: note: previous declaration of ‘pcap_next_ex’ was here
In file included from /home/nazim/Desktop/Dropbox/Network_Research/ExploreNet/Software/zmap-1.2.1/src/recv.c:17:0:
/usr/include/pcap/pcap.h:357:5: error: conflicting types for ‘pcap_stats’
In file included from /home/nazim/Desktop/Dropbox/Network_Research/ExploreNet/Software/zmap-1.2.1/src/recv.c:16:0:
/usr/local/include/pcap.h:182:5: note: previous declaration of ‘pcap_stats’ was here
In file included from /home/nazim/Desktop/Dropbox/Network_Research/ExploreNet/Software/zmap-1.2.1/src/recv.c:17:0:
/usr/include/pcap/pcap.h:358:5: error: conflicting types for ‘pcap_setfilter’
In file included from /home/nazim/Desktop/Dropbox/Network_Research/ExploreNet/Software/zmap-1.2.1/src/recv.c:16:0:
/usr/local/include/pcap.h:183:5: note: previous declaration of ‘pcap_setfilter’ was here
In file included from /home/nazim/Desktop/Dropbox/Network_Research/ExploreNet/Software/zmap-1.2.1/src/recv.c:17:0:
/usr/include/pcap/pcap.h:365:13: error: conflicting types for ‘pcap_strerror’
In file included from /home/nazim/Desktop/Dropbox/Network_Research/ExploreNet/Software/zmap-1.2.1/src/recv.c:16:0:
/usr/local/include/pcap.h:187:7: note: previous declaration of ‘pcap_strerror’ was here
In file included from /home/nazim/Desktop/Dropbox/Network_Research/ExploreNet/Software/zmap-1.2.1/src/recv.c:17:0:
/usr/include/pcap/pcap.h:368:5: error: conflicting types for ‘pcap_compile’
In file included from /home/nazim/Desktop/Dropbox/Network_Research/ExploreNet/Software/zmap-1.2.1/src/recv.c:16:0:
/usr/local/include/pcap.h:189:5: note: previous declaration of ‘pcap_compile’ was here
In file included from /home/nazim/Desktop/Dropbox/Network_Research/ExploreNet/Software/zmap-1.2.1/src/recv.c:17:0:
/usr/include/pcap/pcap.h:370:5: error: conflicting types for ‘pcap_compile_nopcap’
In file included from /home/nazim/Desktop/Dropbox/Network_Research/ExploreNet/Software/zmap-1.2.1/src/recv.c:16:0:
/usr/local/include/pcap.h:191:5: note: previous declaration of ‘pcap_compile_nopcap’ was here
In file included from /home/nazim/Desktop/Dropbox/Network_Research/ExploreNet/Software/zmap-1.2.1/src/recv.c:17:0:
/usr/include/pcap/pcap.h:372:6: error: conflicting types for ‘pcap_freecode’
In file included from /home/nazim/Desktop/Dropbox/Network_Research/ExploreNet/Software/zmap-1.2.1/src/recv.c:16:0:
/usr/local/include/pcap.h:193:6: note: previous declaration of ‘pcap_freecode’ was here
In file included from /home/nazim/Desktop/Dropbox/Network_Research/ExploreNet/Software/zmap-1.2.1/src/recv.c:17:0:
/usr/include/pcap/pcap.h:398:6: error: conflicting types for ‘pcap_dump’
In file included from /home/nazim/Desktop/Dropbox/Network_Research/ExploreNet/Software/zmap-1.2.1/src/recv.c:16:0:
/usr/local/include/pcap.h:212:6: note: previous declaration of ‘pcap_dump’ was here
In file included from /home/nazim/Desktop/Dropbox/Network_Research/ExploreNet/Software/zmap-1.2.1/src/recv.c:17:0:
/usr/include/pcap/pcap.h:413:7: error: conflicting types for ‘bpf_filter’
In file included from /home/nazim/Desktop/Dropbox/Network_Research/ExploreNet/Software/zmap-1.2.1/src/recv.c:16:0:
/usr/local/include/pcap.h:221:7: note: previous declaration of ‘bpf_filter’ was here
In file included from /home/nazim/Desktop/Dropbox/Network_Research/ExploreNet/Software/zmap-1.2.1/src/recv.c:17:0:
/usr/include/pcap/pcap.h:415:5: error: conflicting types for ‘bpf_validate’
In file included from /home/nazim/Desktop/Dropbox/Network_Research/ExploreNet/Software/zmap-1.2.1/src/recv.c:16:0:
/usr/local/include/pcap.h:222:5: note: previous declaration of ‘bpf_validate’ was here
In file included from /home/nazim/Desktop/Dropbox/Network_Research/ExploreNet/Software/zmap-1.2.1/src/recv.c:17:0:
/usr/include/pcap/pcap.h:416:7: error: conflicting types for ‘bpf_image’
In file included from /home/nazim/Desktop/Dropbox/Network_Research/ExploreNet/Software/zmap-1.2.1/src/recv.c:16:0:
/usr/local/include/pcap.h:223:7: note: previous declaration of ‘bpf_image’ was here
In file included from /home/nazim/Desktop/Dropbox/Network_Research/ExploreNet/Software/zmap-1.2.1/src/recv.c:17:0:
/usr/include/pcap/pcap.h:417:6: error: conflicting types for ‘bpf_dump’
In file included from /home/nazim/Desktop/Dropbox/Network_Research/ExploreNet/Software/zmap-1.2.1/src/recv.c:16:0:
/usr/local/include/pcap.h:224:6: note: previous declaration of ‘bpf_dump’ was here
make[2]: *** [src/CMakeFiles/zmap.dir/recv.c.o] Error 1
make[1]: *** [src/CMakeFiles/zmap.dir/all] Error 2
make: *** [all] Error 2
Please tell me what is going wrong here.
Thanks,
Nazim

What platform are you building on?

Linux mint

This looks like an error in libpcap. Do you have the latest libpcap-dev package installed? Is it possible you have more than one version of libpcap on your system?

I think my system doesn't allow more than one version of libpcap. The compilation was complaining about redefinition. I just comment out one inclusion in recv.c file:
//#include <pcap.h>
#include <pcap/pcap.h>
Now make is working fine and I can run zMap. But I am wondering, can it cause(not including both files) any issue.
Thanks,
Nazim

If it compiles, you should be fine.

Since ZMap is compiling on this system now, I'm going to close this issue. Feel free to reopen if there are still issues.


How to transform multi-level body？

i have body like this
{
	"body": {
		"configId": "abc"
	}
}

i want to transform into this:
{
     "configId": "abc"
}

Can anyone tell me how to make it work??

Dear contributor,
We're closing this issue as there hasn't been any update to it for a long time. If the issue is still relevant in the latest version, please feel free to reopen it. We're more than happy to revisit it again.
Please have a look at our pledge to the community for more information.
Sincerely,
Kong Gateway Team

你好，我已经收到你的邮件了。


refactor(runtime): move basic controls' value resolution into resolveValue method

Step 2 towards removal of <RenderHook>:
Move basic controls' value resolution into resolveValue method, use the method and a (temporary) useResolvedValue hook in place of per-control hooks like useCheckboxControlValue, useNumber, et al. while rendering.

I'm still a bit confused with the Resolveable interface. It has a readStableValue and subscribe functions but it doesn't seem to hold any state. Is this because it's still incomplete?

Yes and no: the Resolveable interface in this PR is incomplete as it's not able to support more complex rendering use cases outside of the "basic" controls here; however, for the controls for which it is implemented, it doesn't hold any state not because the implementation is incomplete, but because the controls are so basic that they don't need anything else to resolve the data beyond a simple transformation.


ARCamera compatibility?

Question: Can your UnityBarcodeScanner work with ARCamera from Vuforia? It works wonders in normal mode, how can I use it for ARCamera?

Hi, I've create a class that works with Vuforia AR, check #30

Does not seem to work on iOS/Android device
ArgumentException: The Assembly zxing.unity is referenced by Assembly-CSharp-firstpass ('Library/ScriptAssemblies/Assembly-CSharp-firstpass.dll'). But the dll is not allowed to be included or could not be found.
UnityEditor.AssemblyHelper.AddReferencedAssembliesRecurse (System.String assemblyPath, System.Collections.Generic.List`1 alreadyFoundAssemblies, System.String[] allAssemblyPaths, System.String[

@Maximetinu  did you have to use a different zxing.a or .dll for iOS?
@kefniark in your readme, you mention this works on iOS - however, though testing in editor, a code reads, i cannot get a code to read on actual iOS device. how did you set it up (different zxing libraries?) to run on iOS/Android devices?


Create a partial template

How can I create only a small sub-set of a Django Template View to be handled by inertia?
Or is that not possible?
Essentially lets say that I have a Form that I want to be fully handled by Django, but in that form there is a multi dropdown element that I want to be handled by inertia (as the dropdown would send and requests to the server, and would use react to populate the dropdown).
How can I accomplish something like that ? Or is this not the scope of inertia?

Purely opinion but..
Inertia isn't the right tool for the job here, You're effectively wanting to use the underlying features that SPA's funciton on (asynchronous javascript calls) by implementing the entire frontend framework.
If you only want to have a single form fetch data via AJAX then you'd be better off using plain Javascript/Typescript (depending on what flavour you already have as you've mentioned react here?) support for it (which is fairly rohbust feature-wise these days) or jQuery with its AJAX library.


Need graphical assets, like icons.

Hi I'am working on graphics
Does it mean you need logo for your project?


[WIP] warehouse: TUF initialization

Adds CLI and task support for initializing a TUF repository.
Adds a service interface (IKeyService) with a filesystem-based
implementation (LocalKeyService). Deployment will require a (potentially cloud-based)
KMS implementation.

This is currently blocked on some bugs in the TUF reference implementation, namely missing roledb state when reloading the repository. Will reference tracking information when it's created.

Now that RSTUF is part of the dev setup from #15241, is this PR still useful, or should it be closed?

This can be closed.

This can be closed.

It is superseded by
https://github.com/pypi/warehouse/pull/10870
https://github.com/pypi/warehouse/pull/13943
https://github.com/pypi/warehouse/pull/15241


fix arch_test.h

I'm getting the below error since ea3f151c0aaca474baa45537f09a02c756ab43c1
ERROR | In file included from /home/lee/src/zriscv/riscof/riscv-arch-test/riscv-test-suite/rv64i_m/I/src/add-01.S:19:
/home/lee/src/zriscv/riscof/riscv-arch-test/riscv-test-suite/env/arch_test.h:918:90: warning: backslash and newline separated by space
  918 | LI(testreg, fcsr_val)                                                                   ;\
      |

I think it was missed because its just a warning.


deployment launch dialog: add a step to be able to select the version of the module to run

server side issue: nuvla/api-server#403
Top level issue: nuvla/nuvla#40

We should also notify user that new price may apply if any on fetch action


(MAINT) Skip puppet_lookup_cmd.rb test when no non-master agents present

Previously, if the host configuration for a puppet_lookup_cmd.rb test
run were to include a single node which has both the 'master' and 'agent'
role, the 'host' would be set to nil, causing the test to fail as it hit
the first line of code which tried to make calls on the 'host' object.
This commit causes the puppet_lookup_cmd.rb test to be skipped if no
agent nodes that do not have the master role are present.

@seangriff Since I think you wrote this test originally, would appreciate it if you could take a look at this change.  Thanks!

CLA signed by all contributors.

I'm also curious - would this ever be run in a context where more than one host had the agent role and not the master role? As written I think the test seems to assume exactly one agent host - maybe it should also skip if there's more than one?

@MosesMendoza Seems theoretically possible, yeah, although I don't think any of our current OSS pipelines do this.  I can change the PR to skip for the case that there's not exactly one node that has the agent role but not the master role.

@MosesMendoza It seems like Travis doesn't like the header on my commit message.  Should I change it from (MAINT) to (maint) to keep it happy?

@camlow325 actually that check is failing on a commit unrelated to your PR - now that @Iristyle's https://github.com/puppetlabs/puppet/pull/5365 is in we can see the range it's checking is off. Perhaps related, it looks like from your branch name this is intended for the LTS-1.7 branch. Should we retarget there?

Ah, whoops, yeah, I did intend to target this at LTS-1.7.  Will retarget, thanks.

@MosesMendoza I changed the base branch to LTS-1.7.  I think this test might actually be viable to run in a matrix configuration where more than one non-master agent node is present.  The test passed for me when run in a configuration where I had one node with master and agent roles and two nodes with just the agent role.  I think the test would just validate the behavior on one of the non-master agent nodes rather than all of them - which seems fine to me.  Maybe it would be good to get @seangriff's opinion as to whether or not there's more we want to do with this one?


Changing editionSize will cause error in node.js

I changed editionSize from 10 to 20, and I got this error. It works fine with 10.
##################
Generative Art
- Create your NFT collection
##################
start creating NFTs.
creating NFT 1 of 20

rarity: undefined
C:[%directory]\generative-art-opensource-main\index.js:133
let num = Math.floor(Math.random() * layer.elementIdsForRarity[_rarity].length);
^

TypeError: Cannot read properties of undefined (reading 'length')
at C:[%directory]\generative-art-opensource-main\index.js:133:77
at Array.forEach ()
at createDna (C:[%directory]\generative-art-opensource-main\index.js:132:11)
at startCreating (C:[%directory]\generative-art-opensource-main\index.js:200:18)
at Object. (C:[%directory]\generative-art-opensource-main\index.js:249:1)
at Module._compile (node:internal/modules/cjs/loader:1101:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
at Module.load (node:internal/modules/cjs/loader:981:32)
at Function.Module._load (node:internal/modules/cjs/loader:822:12)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:79:12)

Same issue, been trying to figure it out

Also been trying to hammer this one out.  Everytime I change the Edition Size beyond 11, it throws this error.  It does 11 and less, for me at least, without issue.

I think I figured it out.
Go to config.js
Then to line 129: const editionSize = 10;
Change the number to the total number of NFT's you want to generate.
Then make sure to adjust your rarities.
You can do this starting on line 135 and ending on line 138:
let rarityWeights = [
addRarity('super_rare', 1, 1),
addRarity('rare', 2, 5),
addRarity('original', 5, 10)
Adjust the numbers so the rarities match the total number of NFT's you want to create.
Let me know if this helps. I was running the code and it would only create 10 editions. After doing some digging I figured it out and was able to do 15 editions without an error.

I think I figured it out.
Go to config.js
Then to line 129: const editionSize = 10;
Change the number to the total number of NFT's you want to generate.
Then make sure to adjust your rarities.
You can do this starting on line 135 and ending on line 138:
let rarityWeights = [
addRarity('super_rare', 1, 1),
addRarity('rare', 2, 5),
addRarity('original', 5, 10)
Adjust the numbers so the rarities match the total number of NFT's you want to create.
Let me know if this helps. I was running the code and it would only create 10 editions. After doing some digging I figured it out and was able to do 15 editions without an error.

After playing with numbers, I got it to work.

I think I figured it out.
Go to config.js
Then to line 129: const editionSize = 10;
Change the number to the total number of NFT's you want to generate.
Then make sure to adjust your rarities.
You can do this starting on line 135 and ending on line 138:
let rarityWeights = [
addRarity('super_rare', 1, 1),
addRarity('rare', 2, 5),
addRarity('original', 5, 10)
Adjust the numbers so the rarities match the total number of NFT's you want to create.
Let me know if this helps. I was running the code and it would only create 10 editions. After doing some digging I figured it out and was able to do 15 editions without an error.

After playing with numbers, I got it to work for a bit, and then it gave me an infinite loop.

I still get errors, first of all const editionSize doesn't exist in line 129 but in line 9, where should i put it? Where should i paste the rest of the text? There is no

const editionSize = 100;
let rarityWeights = [
addRarity('super_rare', 1, 10),
addRarity('rare', 10, 40),
addRarity('original', 40, 100)
];

Hey @WalkingEclipse
It doesn't work for me :(
My const editionSize is on line 9 NOT line 129, should i change something here? also there are i cannot find these lines, should i add them somewhere?
let rarityWeights = [
addRarity('super_rare', 1, 10),
addRarity('rare', 10, 40),
addRarity('original', 40, 100)
];

how i remove numbers from the final image? also how i surpass infinite loop?


Update verticle-deploy usage in all docs

A tiny update for verticle-deploy usage

@EmadAlblueshi thanks for the PR. Vert.x docs are generated from the package file. You should update this file and then regenerate the docs by building the project (include the generated files in your commit)
See the How is managed vert.x documentation wiki page for details.

@tsegismont Got it :+1:

@tsegismont is it ok ?

Thank you @EmadAlblueshi

@tsegismont You are more than welcome and I'm very glad to contribute :-)


[Bug]:  Google Sheets Authentication expired after 2 hours

Is there an existing issue for this?

[x] I have searched the existing issues

Description
Google Sheets Authentication expired after 2 hours after an update from on 06/06/2023
Steps To Reproduce

Add Google Sheets Connection
Any Operation (fetch, update, delete rows)
Authentication expired after 2 hours (operation failed).

Public Sample App
No response
Environment
Production
Issue video log
No response
Version
Appsmith v<IP_ADDRESS>-SNAPSHOT

@tommy1003 thank you for reporting this horrible issue. Yes, we are on top of it, and a fix is coming soon. Please keep your eyes on #24236 - meanwhile I'll close this issue


[Integration Tests] Skip currently-failing lit tests

The lit tests in the integration suite aren't run by default—this marks all of the failing ones as skipped so that it will be safe to make integration testing default for CI.

Assuming we don't get all the tests fixed before Xcode 12.5 ships, we should update to https://developer.apple.com/documentation/xctest/3726077-xctexpectfailure once it does :) That way the tests still run.


Add config to disable remote content listing download

This commit add config to be able to disable remote content listing
download. That means when this is disabled, only the content that's
stored/cached in the system can be viewed on the UI of directory content
listing for remote repository.(or groups with remote repo)
P.S: this PR depends on galley PR: https://github.com/Commonjava/galley/pull/252

@jdcasey I'm not sure if it is good idea to disable the content downloading from DownloadManager level, as some other addons(like promotion) are also using its list functions. But if not address it on DownloadMgr level, I found there are some other entry points(like metadata generator) will also do listing through DownMgr, which make the control not from single point. So If we can make sure all other listing functions in addons(promotion) should behave same to the content listing, we can keep it here. What's your opinion about this?

@ligangty Maybe the promotion manager should use DirectContentAccess. If we use that for internal things that have to have the whole picture, we could alter ContentManager.list() to use the configuration option.

retest this please.

@ligangty Maybe the promotion manager should use DirectContentAccess. If we use that for internal things that have to have the whole picture, we could alter ContentManager.list() to use the configuration option.

@jdcasey Seems the problem is that the MavenMetadataGenerator

retest this please.


Use bun 1.0

Use Bun 1.0. On Mac/Linux replace FNM with Bun.

With WSL 1, I reproduce the hang readily: error: "pidfd_open(2)" system call is not supported by your Linux kernel
error: "pidfd_open(2)" system call is not supported by your Linux kernel
To fix this error, either:
- Upgrade your Linux kernel to a newer version (current: 4.4.0-roc/cpuinfo.)
- Ensure the seccomp filter allows "pidfd_open"
      at spawn (node:child_process:615:14)
      at node:child_process:2:40
      at initialize (/home/debian/repro-counter/.web/node_modules/next/dist/compiled/jest-worker/index.js:1:10899)
      at new ChildProcessWorker (/home/debian/repro-counter/.web/node_modules/next/dist/compiled/jest-worker/index.js:1:10809)
      at createWorker (/home/debian/repro-counter/.web/node_modules/next/dist/compiled/jest-worker/index.js:1:6314)
      at new BaseWorkerPool (/home/debian/repro-counter/.web/node_modules/next/dist/compiled/jest-worker/index.js:1:8177)
      at new WorkerPool (:1:32)
      at new Worker (/home/debian/repro-counter/.web/node_modules/next/dist/compiled/jest-worker/index.js:1:23380)
      at /home/debian/repro-counter/.web/node_modules/next/dist/server/lib/start-server.js:162:33


[Question] In C# implementation, how to parse to structs separated by BT_STOP_BASE

Let's say I have an example, where I have a BT_STRUCT with field ID 0, with data (which in turn comes with field IDs of 0, 1, and 2). I then encounter a BT_STOP_BASE and there is a new struct, also with field ID 0, with its own nested data (set of fields, with IDs of 0, 1, and 2).
Given that the structs themselves are not part of a specific field, and are sequential - what is the way to represent that in a C# class, so that I can deserialize/serialize the data? I am assuming some kind of entity with nested sub-classes, but so far I have been unsuccessful at replicating this.
Tagging @chwarr since he helped with some previous questions related to this (https://github.com/microsoft/bond/issues/74#issuecomment-1023699659).

BT_STOP_BASE is used to delimit where a base class ends when inheritance is used.
The following Bond
struct Foo
{
    0: string foo_string;
}

struct Bar : Foo
{
    0: string bar_string;
}

gets turned into C# that looks roughly like this:
class Foo
{
    public string foo_string { get; set; }
}

class Bar : Foo
{
    public string bar_string { get; set; }
}

Say you serialize one of these to Compact Binary v1:
var obj = new Bar { foo_string = "foo", bar_string = "bar" };

var output = new OutputBuffer();
var writer = new CompactBinaryWriter<OutputBuffer>(output);
Serialize.To(writer, src);

The Compact Binary payload would be, in pseudo payload:

BT_STRING { id: 0, length: 3 }
foo
BT_STOP_BASE
BT_STRING { id: 0, length: 3 }
bar
BT_STOP

If you added another layer, struct Baz : Bar { 0: string baz_string; }, there would be two BT_STOP_BASE tokens, one after the Foo and one after the Bar:

BT_STRING { id: 0, length: 3 }
foo
BT_STOP_BASE
BT_STRING { id: 0, length: 3 }
bar
BT_STOP_BASE
BT_STRING { id: 0, length: 3 }
baz
BT_STOP

@chwarr amazing - this works really well, thank you for a very thorough and concrete explanation!


aws_elasticache_replication_group.cluster_mode is present in non clustered aws_elasticache_replication_group state

When applying a aws_elasticache_replication_group in non clustered mode terraforms uses number_cache_clusters to specify replication nodes.
However after applying terraform, the state adds the cluster_mode block to the resulting state. e.g:

resource "aws_elasticache_replication_group" "non-cluster" {
  replication_group_description = "This Replication Group"
  replication_group_id          = "tf-rep-group-2"

  engine = "redis"

  node_type             = "cache.r5.4xlarge"
  number_cache_clusters = 3
}

results in something like so:
resource "aws_elasticache_replication_group" "non-cluster" {
  replication_group_description = "This Replication Group"
  replication_group_id          = "tf-rep-group-2"

  engine = "redis"

  node_type             = "cache.r5.4xlarge"
  number_cache_clusters = 3

  cluster_enabled               = false
  cluster_mode {
      num_node_groups         = 1
      replicas_per_node_group = 1
  }
}

note the cluster_enabled and cluster_mode additions. This causes problems with cmds such as infracost diff as infracost uses the cluster_mode block and overrides the cost meaning it doesn't pick up on price changes if users have changed number_cache_clusters flag.

@hugorut thanks for creating this! Can you possibly also add any details of new cost components or units - or is it just a quantity that we need to multiply by?
So far I've:

added the "needs details" label
removed that label after details are added to the issue description.
set the project of the issue to Main so show the community that it's something that we'd like help with sooner rather than later (the details make a big difference to the community being able to pick it up).

@alikhajeh1 I was actually a bit quick to jump on this into an enhancement - it actually seems we do handle the number_cache_clusters in aws_elasticache_replication_group but it seems this feature isn't being picked up by the user. I'm going to rename the title and mark as a bug and ask for further details of their terraform file to replicate.

This is live in v0.9.16.


The table at section Confguration is incorrect

The function.json property column doesn't have any Access property and its valud there should be n/a. In the Attribute property column it should be the reverse Access instead of n/a

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


proposal - Sedna controller enhancement

What type of PR is this?

What this PR does / why we need it:
Which issue(s) this PR fixes:

Fixes #

The pod recreate logic distinguishes whether the failed pod is a cloud worker or an edge worker, deletes the failed pod and recreates it continuously, and abandons the recreate if it still fails after 10 attempts.The next step is to verify whether the solution is feasible.
The following is the main logic:
filter failed pods.
// filterFailedWorker filters the failed pods and returns the filtered failed pods, bool value of cloudWorkerFailed and edgeWorkerFailed
func filterFailedWorker(pods []*v1.Pod) (failedPods []*v1.Pod, cloudWorkerFailed bool, edgeWorkerFailed bool) {
    for _, pod := range pods {
        if pod.Status.Phase == v1.PodFailed {
            failedPods = append(failedPods, pod)
            if strings.Contains(pod.Name, "cloudworker") {
                cloudWorkerFailed = true
            } else if strings.Contains(pod.Name, "edgeworker") {
                edgeWorkerFailed = true
            }
        }
    }
    return failedPods, cloudWorkerFailed, edgeWorkerFailed
}

The method of distinguishing whether it is a cloud worker or an edge worker requires further confirmation.
get failed pods:
    if failed > 0 {
        serviceFailed = true
        // TODO: get the failed worker, and knows that which worker fails, edge inference worker or cloud inference worker
        failedPods, cloudWorkerFailed, edgeWorkerFailed := filterFailedWorker(pods)
        if cloudWorkerFailed {
            reason = "cloudWorkerFailed"
            message = "the cloud worker of service failed"
        } else if edgeWorkerFailed {
            reason = "edgeWorkerFailed"
            message = "the edge worker of service failed"
        }
        newCondtionType = sednav1.JointInferenceServiceCondFailed
        c.recorder.Event(&service, v1.EventTypeWarning, reason, message)

delete and keep trying to recreate failed pods for 10 times or until success:
        // delete and keep trying to recreate failed pods for 10 times or until success
        // delete pods one by one
        for _, pod := range failedPods {
            err = c.kubeClient.CoreV1().Pods(pod.Namespace).Delete(context.TODO(), pod.Name, metav1.DeleteOptions{})
            if err != nil {
                klog.Warningf("failed to delete pod: %v", err)
            } else {
                active--
            }
        }
        for {
            createCloudTempCount := 0
            createEdgeTempCount := 0
            if cloudWorkerFailed {
                err = c.createCloudWorker(&service, BigModelPort)
                createCloudTempCount++
                if err != nil {
                    klog.Warningf("failed to create cloud worker: %v", err)
                } else {
                    cloudWorkerFailed = false
                    active++
                    // escape the loop
                    break
                }
            }
            if edgeWorkerFailed {
                err = c.createEdgeWorker(&service, "localhost", BigModelPort)
                createEdgeTempCount++
                if err != nil {
                    klog.Warningf("failed to create edge worker: %v", err)
                } else {
                    edgeWorkerFailed = false
                    active++
                    // escape the loop
                    break
                }
            }
            // if failed to create cloud worker and edge worker for 10 times, Abandon pod recreate and escape the loop
            if createCloudTempCount == 10 || createEdgeTempCount == 10 {
                // escape the loop
                break
            }
        }

/reopen

/approve cancel

This PR fixed #430 Previous comments can be found at #435
The concerns about compatibility are considered in this proposal. As mentioned in the scope, "Sedna joint inference and federated learning controller optimization only modifies the joint inference and federated learning controller codes. The controllers are decoupled from each other, and the function interface and library functions are not modified, so it will not affect the functions of other controllers. For existing application cases, since the CRD is not modified, the deployment of existing applications will not be affected."
The proposal looks good to me. We also got another lgtm at the routine meeting. It would be fine to merge now. However, the bug fix is not a trivial job. Sedna is also quite a complicated system. The proposal could be developed in a continuous manner and be modified during future implementations if needed.

Thank you, Mr. Zheng.I will continue to improve the proposal and carefully implement the solution.


add branch flow node verification

Codecov Report

Merging #2218 into dev will decrease coverage by 2.29%.
The diff coverage is 25.58%.

@@             Coverage Diff              @@
##                dev    #2218      +/-   ##
============================================
- Coverage     31.95%   29.65%   -2.30%
- Complexity     1511     1625     +114
============================================
  Files           311      336      +25
  Lines         15402    17789    +2387
  Branches       1864     2234     +370
============================================
+ Hits           4922     5276     +354
- Misses         9968    11959    +1991
- Partials        512      554      +42

Impacted Files
Coverage Δ
Complexity Δ

...heduler/alert/manager/EnterpriseWeChatManager.java
0.00% <0.00%> (ø)
0.00 <0.00> (ø)

...duler/alert/template/impl/DefaultHTMLTemplate.java
77.55% <ø> (ø)
12.00 <0.00> (ø)

...inscheduler/alert/utils/EnterpriseWeChatUtils.java
0.00% <0.00%> (ø)
0.00 <0.00> (ø)

...apache/dolphinscheduler/alert/utils/FuncUtils.java
91.66% <ø> (ø)
5.00 <0.00> (ø)

...apache/dolphinscheduler/alert/utils/MailUtils.java
0.00% <0.00%> (ø)
0.00 <0.00> (ø)

...che/dolphinscheduler/api/ApiApplicationServer.java
33.33% <ø> (ø)
1.00 <0.00> (ø)

...heduler/api/controller/DataAnalysisController.java
5.40% <0.00%> (ø)
2.00 <0.00> (ø)

...scheduler/api/controller/DataSourceController.java
2.19% <0.00%> (ø)
2.00 <0.00> (ø)

...inscheduler/api/controller/ExecutorController.java
6.25% <0.00%> (ø)
2.00 <0.00> (ø)

...duler/api/interceptor/LoginHandlerInterceptor.java
11.76% <ø> (+1.23%)
2.00 <0.00> (ø)

... and 116 more

Continue to review full report at Codecov.

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

+1


RE2 view tilting

Playing on Pimax 8K+ using index controllers my view randomly tilts 90 degrees so I'm looking at the ceiling. Pressing down on the right joystick restores the normal view. This only happens when standing still.
Also after picking something up I have to look way above me to see the item and then the inventory.

Seems to be a general issue, not headset dependent. The view gets tilted when standing still. Moving any direction restores the position. I hope it gets resolved

Looks like this bug has already been addressed:
https://github.com/praydog/REFramework/commit/db2d12bd460275266fe0dd3c8ccac4e5556f5102

There is a timeout period where if you do not move or interact with the game the view will tilt like that. Praydog mentioned adding a way to alter this timeout period, not sure if it is implemented yet.

There is a timeout period where if you do not move or interact with the game the view will tilt like that. Praydog mentioned adding a way to alter this timeout period, not sure if it is implemented yet.

It is implemented in ead3a470dcb6e8d6b376ca2a5d4cb0f3bdbe6615
Latest builds can be found here: https://ci.appveyor.com/project/praydog/reframework/build/artifacts
If this fixes the issue when increasing the timer (you can find it under VR), then please close the issue.