Slow or intermittent connection on Android

Describe the problem
Slow or intermittent connection.
To Reproduce
Steps to reproduce the behavior:

Connect to Netbird
Try accessing resource.

Expected behavior
Resource to load without issues.
Are you using NetBird Cloud?
I've tried this on both selfhosted and managed.
NetBird version
Android version 0.0.23
NetBird status -d output:
N/A
Screenshots
N/A
Additional context
I don't have this issue on my iPhone connected to the same Netbird network.
I'm using a Pixel 7 Pro running Android 14.
Attached redacted log.
netbird-1718764251475.log.redacted.txt

Hi @JonathanHohimer,
I don't see a clear indicator of why this happens. The permission-denied errors or the signal disconnects might be.
We released a new version that should handle the interface handling better. Could you download and test this version and send new logs if the issue persists? Thanks.

I'm having some similar issue at least since a couple of weeks.
The "download speed" ist extremly slow. Like 100kbit/s while upload is as expected. It's leading to extremely slow connection or even timeouts.
Tested in multiple networks (wifi an Mobile Data).
No problems with "plain wireguard".
I got an Pixel 6a with Android 14.
In another Android Tablet (Lenovo) no Problems.
Maybe some Google Pixel specific issue?

I'm using a pixel 6 and have noticed similarly slow behavior

Also pixel 6 with android 14 and similar unusable slow behavior since a while.

Strangely enough, I also have a pixel 5a on android 14 and this doesn't happen. Maybe only affects pixels after the 5?

I am also experiencing this problem.
I have a Samsung Galaxy S22 with Andriod 14.
The download speed is very slow when I am using NetBird
I also have a Galaxy S10 with Android 12, and with that phone everything works as it should. The speed is normal.
So for me, if I'm using a phone with Android 14, the download speed is really slow.
If I use a phone with Android 12, the speed is OK

At first it was ok with Android 14. So maybe some of the latest security patches?

This has been happening for me basically since I installed the app a long time ago, so it's possible that code that was originally on pixels has been pushed to general android in the android 14

Update: I've wiped my pixel7pro and installed the latest Lineage OS and I still have the same issue. So I'm not sure what it could be. :(

Not sure this helps, but I have a few things to add:

It doesn't necessarily happen with every peer.
Depending on the connection my phone is on, a connection to a peer may be absolutely fine, or slow as molasses. Meaning: I could be having a fine experience connecting to peer X on WiFi, but then have a very slow connection when on mobile data, or vice-versa.
As far as I can tell, it doesn't seem to be impacted by whether the peer connection is "relayed" or "P2P" (I checked by doing netbird status -d --filter-by-names android-peer-name on the host I'm connecting to). At first I thought it might, because the first time this happened to me was when I was on mobile data, so I thought it could have something to do with my TURN servers.

I also see this issue. No problems at all on iOS, Linux or Windows devices as far as i can tell, but on Android traffic is unbearably slow and basically unusable.

Experiencing the same issue as well unfortunately!
General traffic seems ok, but whenever I try to ping any peer it's extremely slow - it gets there but it is unusable.

Facing the same issue here. Any thing but android works.

Same here with Pixel6a on latest Android14.
I tested with the self hosted and managed Version of Netbird.

Same with OnePlus 11 on Android 14. Can't use my self-hosted Jellyfin server.  I tried netbird connection Wifi from same network, Wifi from another network and mobile internet. Connection is unstable.
ZeroTier and Nebula working fine btw.

Same for me, the routes works well in Ubuntu, Debian, Docker, Windows, Mac and even my Pixel Tablet with the latest (August) update. But in my Pixel 8 and Pixel 7 works extremely slow, basically unusable. I tried a lot of things but nothing seems to work.

@ricardoespinobon, @MarS0K Could you enable trace logs in your device and share them with us? See the guide below:

Access the app’s advanced menu and then tick the Enable trace log level
After that you should, disconnect and connect again.|
Test the connection issue while the app is running.
Go back to the advanced menu and click on Share logs.

Sure! Here they are. I don't know if it gives you any hint but in one of the tests I've done, when I activate the netbird server machine as my Exit node the local routes work in my Pixel 8.
PixelTablet.txt
PIxel8.txt

Hey, I've been following project since the wiretrustee days
just moved my home network to Netbird and i faced this issue.
This does seem to be device related, as I tested this with another phone on the same network with the same peer and got expected speeds.
However, on my pixel I got 0.255 mbps, there's a bottleneck somewhere for sure.
Tailscale is working fine on the same device and doesn't have any issues.

logs:
netbird-1723488213883.log.txt
netbird-1723489601128.log.txt

@ricardoespinobon, @MarS0K Could you enable trace logs in your device and share them with us? See the guide below:

Access the app’s advanced menu and then tick the Enable trace log level
After that you should, disconnect and connect again.|
Test the connection issue while the app is running.
Go back to the advanced menu and click on Share logs.

Sure. I tried to open my Jellyfin web app, but connection speed seems too slow.
netbird-1723564157774.log.txt

Has anyone found a fix or workaround for this?

Facing same issue on my Samsung S21FE. I can't say about Android 13 as I started using netbird after I got android 14.

Hi, I'm also facing this problem with a Xiaomi Mi 10 Android 12. I get speeds lower than 1Mb/s, and without the VPN I'm getting more than 200Mb/s

Has anyone found a fix or workaround for this?
So no idea if this solves it somewhat for people, but I had the exact issue with using DNS/Domain names. I tried using the direct IP of my services instead of their domain records I put in my DNS. Does that work for other people? Or is it slow over direct IP as well?

I am still having the same slow speeds when using direct IP.

Has anyone found a fix or workaround for this?

So no idea if this solves it somewhat for people, but I had the exact issue with using DNS/Domain names. I tried using the direct IP of my services instead of their domain records I put in my DNS. Does that work for other people? Or is it slow over direct IP as well?

I was using the IP's already.

Hey folks, sorry for the delay in responding here.
There are a few things that can influence the performance for the Android client. One of them is the connection type between the nodes. So if they are using a relayed connection, is possible that the performance will be greatly reduced.
So far the files shared here didn't contain the events that could help us identify if a connection was relayed or not. For that reason, it will be great if you can enable the trace logs, wait a few seconds after the connection with the peers you are testing to be established and then export the logs. See guide here: https://github.com/netbirdio/netbird/issues/2158#issuecomment-2283570413

Hey folks, sorry for the delay in responding here.
There are a few things that can influence the performance for the Android client. One of them is the connection type between the nodes. So if they are using a relayed connection, is possible that the performance will be greatly reduced.
So far the files shared here didn't contain the events that could help us identify if a connection was relayed or not. For that reason, it will be great if you can enable the trace logs, wait a few seconds after the connection with the peers you are testing to be established and then export the logs. See guide here: #2158 (comment)

Both the devices are under CG-NAT or symmetric NAT which as far as I know would lead to the usage of TURN server. Only android speeds are affected.

I've also been experiencing this - only on Android. If I try to load a web app on android through NetBird's VPN it sometimes doesn't load or loads very slowly and I need to refresh a few times. Switching to normal wireguard, the web app loads instantly.

I was experiencing this, tonight when I went to grab the trace logs the speed has improved somewhat but is still significantly lower than expected.
Tracelogs attached:
netbird-1727520227860.log.txt
For my setup, there is two peers:

A smart phone
A server running the netbird docker image

The LAN on <IP_ADDRESS>/24 is advertised to go via the server and masquerade.
Trace logs attached.
I've also attached some screenshots of speed tests:

A LAN speedtest on wifi with Netbird disabled

speeds as expected

A LAN speedtest on wifi with Netbird enabled

speeds are not as expected, massive drop when the packets would ideally be routed out the wifi interface not the netbird interface, since this is the home LAN
but even if packets are going through netbird tunnel, the massive drop in speed is not expected

A LAN speedtest on celluar with Netbird enabled

Speeds not as expected, massive drop in speed seen again

A public speedtest on cellular with Netbird disabled

Speeds as expected

A public speedtest on cellular with Netbird enabled

Speeds as expected

I have not configured an exit node and it seems that speed drops are only seen when accessing items on the LAN through the route advertised on the Netbird tunnel.
LAN speedtest wifi netbird disabled

LAN speedtest wifi netbird enabled

LAN speedtest cellular netbird enabled

![lan-speedtest-cellular-netbird-enabled]()
Public speedtest cellular netbird disabled

Public speedtest cellular netbird enabled

As per @dfillingham, the issue only affects Android devices assigned to regular network routes. Android devices assigned to exit nodes (even with same routing peers) and iOS devices (regardless of network route type) are not affected.

As per @dfillingham, the issue only affects Android devices assigned to regular network routes. Android devices assigned to exit nodes (even with same routing peers) and iOS/Mac/Windows/Linux devices (regardless of network route type) are not affected.

Adding an exit node, elbeit being the same as the peer i access solved it for me, though it doens't really make sense to me that it should be necessary.

Adding an exit node, elbeit being the same as the peer i access solved it for me, though it doens't really make sense to me that it should be necessary.

This allows me to reliably access the peer which the exit node is on, however speed on any other website google, spotify etc is completely unusable.

On it does not work for my android

I setup a node as an exit node and speed tests shows things slow to a few mb/s speed on android... Despite even my upload being much faster

meet simillar issue with andriod app.
logs as follow：
netbird-1729508247199.log.txt
netbird version : 0.0.24
android 14 with security patches version : 2024-07-01

Upgrading to Android 15 seemingly fixed the issue

Upgrading to Android 15 seemingly fixed the issue

Did not for me on pixel 8 pro with android 15

Upgrading to Android 15 seemingly fixed the issue

Did not for me on pixel 8 pro with android 15

Not for me either. Pixel 9 Pro Android 15

Not here either, Pixel 8 - Android 15. Slow connection still

Having the same issue on Android 15. NetBird is working flawlessly on all my other devices over LAN, but for Android simple HTML sites take minutes to load, I have no idea what is going on.

The android repo looks outdated in the other ways too, the last commit was 5 months ago

Having the same issue on Android 15. NetBird is working flawlessly on all my other devices over LAN, but for Android simple HTML sites take minutes to load, I have no idea what is going on.

Just tested on my old Android 13 Samsung phone with June security patch and it works fine, but obviously I'm having issues with my current Pixel phone on Android 15.

I'm using a Pixel 7 with Android 15 and it works

I'm using a Pixel 7 with Android 15 and it works

What IP you do you use to connect? Do you use DNS/Domains? And what "works", can you connect to other servers on the vp?

I'm using a Pixel 7 with Android 15 and it works

What IP you do you use to connect? Do you use DNS/Domains? And what "works", can you connect to other servers on the vp?

I have netbird installed on my router which exposes my whole home network via subnet routing. I can access all devices via the subnet as well as the router directly. I tried using DNS without any Problems too, though I'm not using netbirds DNS features.
All of the things I tried worked flawlessly on Android 15. On Android 14 everything was slow.

I just tried adding a route which uses the LAN IPv4 address of the peer I'm trying to connect to and uses that same peer as the routing peer—the issue persisted.
Obviously there isn't an issue with connecting to the peer as webpages load... eventually, but it's just so unbearably slow and I can't think why.

Just adding another datapoint to say that it's effecting android 13 for me on one device but not another also running android 13. As soon as I added my device to a new group and set an exit node speeds went up dramatically, as well to resources which arent on that exit node. So it's not a specific android version that's causing this probably.

Pixel 7, Android 15, app and phone both up to date, same issue.
Connection so slow I can't load a webpage on another peer through the VPN in P2P.

(the iperf server and the client are on the same physical LAN network)

Adding a debug point to this. Checking the GoLog through ADB on pixel 8 pro, this seems to be the error that is spitted out repeatedly.
11-08 20:53:54.956 E/GoLog   (12801): [ERRO] client/internal/dns/upstream.go:133 all queries to the upstream nameservers failed with timeout
11-08 20:53:54.972 E/GoLog   (12801): [INFO] client/internal/dns/upstream.go:240 upstreams [<IP_ADDRESS>:53] are responsive again. Adding them back to system

The ip in the info log is a peer that is set as the DNS server.

Not to be that guy, but is there an ETA? As this issue has been quite prolonged i have started migrating to headscale and with these news i am wondering if i should stop...

The new Netbird Android App Version (0.0.27) Works perfect for me now on my Pixel 9 Pro, Android 15.
Thank you so much!

Seems like newest Android application update fixes this issue for me.

Also for me.

Issue still occurs for me on Android 14, Samsung S21 Ultra, One UI 6.1.
Notably these log lines persisted from previous versions:
12-05 16:41:36.750  8144 12231 E GoLog   : [WARN] client/iface/iface.go:80 Failed to get interface by name tun0: route ip+net: netlinkrib: permission denied
12-05 16:41:36.997  8144 12231 E GoLog   : [DEBG] client/internal/stdnet/filter.go:31 trying to create a wgctrl client failed with: socket: permission denied

netbird-1733409704919.log.txt

I can confirm that the issue is resolved for me with the latest version of the android client.

Regarding my issue here, it seems the issue is that Dynamic routes (Domain routes), do not work at all, since configureInterface in Android is called with only static routes, and I cannot for the life of me find where it updates/adds new routes (or whichever method it uses to add/update routes just doesn't work)
After a lot of struggling I was able to come up with a temporary workaround (works on my device at least, so I'm hoping this could create some insight into why it's not working)
--- a/client/internal/engine.go
+++ b/client/internal/engine.go
@@ -1225,6 +1225,34 @@ func (e *Engine) readInitialSettings() ([]*route.Route, *nbdns.Config, error) {
                return nil, nil, err
        }
        routes := toRoutes(netMap.GetRoutes())
+       var wg sync.WaitGroup
+       var mu sync.Mutex
+       for _, r := range routes {
+               for _, d := range r.Domains {
+                       wg.Add(1)
+                       go func() {
+                               defer wg.Done()
+                               ips, err := net.LookupIP(string(d))
+                               if err != nil {
+                                       log.Errorf("Error resolving domain %s: %v", d, err)
+                               }
+                               mu.Lock()
+                               defer mu.Unlock()
+                               for _, ip := range ips {
+                                       if len(ip) == net.IPv4len {
+                                               routes = append(routes, &route.Route{
+                                                       Network: netip.MustParsePrefix(ip.String() + "/32"),
+                                               })
+                                       } else if len(ip) == net.IPv6len {
+                                               // routes = append(routes, &route.Route{
+                                               //      Network: netip.MustParsePrefix(ip.String() + "/128"),
+                                               // })
+                                       }
+                               }
+                       }()
+               }
+       }
+       wg.Wait()
        dnsCfg := toDNSConfig(netMap.GetDNSConfig())
        return routes, &dnsCfg, nil
 }

(Note: IPv6 commented out just because I was tired and didn't bother to test it since I don't have IPv6 connectivity anyway)

@mohamed-essam DNS routes are not supported yet because android has this requirement of needing to recreate the interface/vpn service to add routes. In the current version, we plan to add support for it, but I can't provide a good estimate yet.
As an alternative, you can use exit nodes for your android devices.

This is still a problem on Android 13.


ExpressRoute Tests Will Not Re-record

Express Route tests are failing to re-record, yielding the following error:
The access token is from the wrong issuer 'https://sts.windows.net/<guid>/'. It must match the tenant 'https://sts.windows.net/<guid2>/' associated with this subscription. Please use the authority (URL) 'https://login.windows.net/<guid2>' to get the token. Note, if the subscription is transferred to another tenant there is no impact to the services, but information about new tenant could take time to propagate (up to an hour). If you just transferred your subscription and see this error message, please try back later.

While this is investigated, these tests are being converted to LiveScenarioTest to facilitate getting the new Network API merged.

Environment summary
Install Method (e.g. pip, interactive script, apt-get, Docker, MSI, edge build) / CLI version (az --version) / OS version / Shell Type (e.g. bash, cmd.exe, Bash on Windows)
azure-cli (2.0.30)

acr (2.0.22)
acs (2.0.30)
advisor (0.5.0)
appservice (0.1.30)
backup (1.1.0)
batch (3.1.11)
batchai (0.1.6)
billing (0.1.7)
cdn (0.0.13)
cloud (2.0.12)
cognitiveservices (0.1.11)
configure (2.0.14)
consumption (0.2.2)
container (0.1.20)
core (2.0.30)
cosmosdb (0.1.19)
dev-tools (0.1.1)
dla (0.0.18)
dls (0.0.20)
eventgrid (0.1.11)
eventhubs (0.1.1)
extension (0.0.11)
feedback (2.1.0)
find (0.2.8)
interactive (0.3.18)
iot (0.1.18)
keyvault (2.0.20)
lab (0.0.20)
monitor (0.1.4)
network (2.0.26)
nspkg (3.0.2)
profile (2.0.21)
rdbms (0.2.0)
redis (0.2.11)
reservations (0.1.1)
resource (2.0.26)
role (2.0.21)
servicebus (0.1.1)
servicefabric (0.0.11)
sql (2.0.24)
storage (2.0.30)
testsdk (0.1.0)
vm (2.0.29)

Extensions:
subscription (0.1.0)

Python location 'c:\Users\trpresco\Documents\github\azure-cli\env\Scripts\python.exe'
Extensions directory 'C:\Users\trpresco\.azure\cliextensions'

Service error fixed by team, but now the tests need to be adjusted for service-side breaking changes.


Addressed issue #240

What?
Date difference displays whether the local date of a clock's region is a day ahead or a day behind of the date at the user's location. A "+1" is displayed if the local date is a day ahead and a "-1" is displayed if the local date is a day behind. The user can toggle this option in the Options pane for each clock they add.
Fixes bluecaret#240 from the original repo
Why?
This is a requested enhancement and a currently open issue: bluecaret#240
Although the issue requested an option to display the date in clocks 2-5, adding multiple dates could result in a confusing user interface because the date and the time are separate features so the date doesn't have to be located right next to the time. If there are multiple dates floating around separate from their respective times, a user would not know what was the actual date.
How?

Whether or not the date difference is enabled, the font size of the date difference, and the offset amount of the date difference are saved as part of the clock configuration under TimeSettings and can be referred to as clock.dateDiff.enabled, clock.dateDiff.scaling, and clock.dateDiff.offset for a Clock clock.
These new fields have also been added to the Clock class in models/clock.ts
If the dateDifference is on, the date difference will be calculated and displayed after the meridian.

Testing?

Successful local dev build
Manual testing through clicking and refreshing

Screenshots

Anything Else?

Translation is needed for the "Date difference" blurb as well as the blurbs of the size and offset options in the "Time" panel,

#240

Thank you very much for the contribution! However I'd prefer to see this implemented differently. Given there is already the "relative time" option with it's own sizing options, I'd prefer to see this implemented as part of that. #240 was more about the display of the day of the week.
I'm thinking there should be an option within relative time to display the time difference or the date difference. If date is chosen you should be able to choose between relative date (Tomorrow, Today, Yesterday) or the day of the week (Monday, Tuesday, etc). We could even allow both time and date differences but share the same formatting options within "relative time". This should keeps these related items together and not bloat the time config screen too much.
So right now there are these options within "relative time":

Relative Time
Dim relative time
Size
Offset

I'm suggesting it would look like this instead:

Relative time
Relative Day
Use day of week (only shows if relative day is on, if "use day of week" is disabled should default to showing relative day such as "yesterday" or "today")
Dim relative info
Size
Offset

How do you feel about that? Thank you for your help!


pine64-rockpro64: add fancontrol

Description of changes
Controls the fan so it doesn't spin at full force after installation.
rk3399's operating temps are -20 to 80°C. It has sensors for CPU and GPU. The MINSTART/-STOP values are a result of my own testing.
Tested my fork without any changes and with hardware.fancontrol.enable = false; to disable it.
Things done

[x] Tested the changes in your own NixOS Configuration
[x] Tested the changes end-to-end by using your fork of nixos-hardware and
importing it via <nixos-hardware> or Flake input

With these settings, the fan doesn't run in idle for me. With stress --cpu 6 the fan runs till ~90, which is still pretty quiet. I couldn't get it higher, and as soon as I end the stressing, it quickly calms comes down to a full stop.
It barely reached the "warm" stresshold configured in the kernel, so I think MINTEMP is set to an OK value.

Thanks!

Thanks for reaching out! It's good to see somebody else making use (or trying to :D) one's contribution.
Can you please post the content of:
/sys/class/hwmon/hwmon0/name
devices/virtual/thermal/thermal_zone0/temp*
/sys/class/hwmon/hwmon1/name
devices/virtual/thermal/thermal_zone1/temp*
/sys/class/hwmon/hwmon3/name
/sys/devices/platform/pwm-fan/pwm*

Could be wrong about the path of the last one, if it's incorrect I'll check this evening. Additionally if they exist:
/sys/class/hwmon/hwmon2/name
/sys/class/hwmon/hwmon4/name

Thanks for reaching out! It's good to see somebody else making use (or trying to :D) one's contribution.
Can you please post the content of:
/sys/class/hwmon/hwmon0/name
/sys/devices/virtual/thermal/thermal_zone0/temp*
/sys/class/hwmon/hwmon1/name
/sys/devices/virtual/thermal/thermal_zone1/temp*
/sys/class/hwmon/hwmon3/name
/sys/devices/platform/pwm-fan/pwm*

Could be wrong about the path of the last one, if it's incorrect I'll check this evening. Additionally if they exist:
/sys/class/hwmon/hwmon2/name
/sys/class/hwmon/hwmon4/name

Since you have an nvme drive installed (which apparently has a thermal sensor), and that one is hwmon0, every other hwmon is increased by one.
So if you wanted to get this to work, you'd just need to replace the following words in the fancontrol config:

hwmon0 -> hwmon1
hwmon1 -> hwmon2
hwmon3 -> hwmon4
It'd be nice if you could test that?

There's an upstream issue about not being able to use better identifiers than the number:
https://github.com/lm-sensors/lm-sensors/issues/227
I don't know what's the best way forward, maybe a different package? I used fancontrol because that's what some other board in this repo used.


RTL title

Item A from https://github.com/jzohrab/lute-v3/issues/165, moved here:
A. (Reading page) RTL titles are displayed incorrectly as LTR;

Fixed in develop.


Add meaning of WYSIWYG

What would you like to share?
Add the meaning of the slang, WYSIWYG which is 'What You See Is What You Get'. Read the project README to see instructions on how to add a new abbreviation.
Additional information
No response

@Njong392 May I work on this 🙂

Sure thing! Assigning you.


Setup golang build action for 'next' branch

Makes sure we run the build on PRs against the next branch.

Can we consider using the main branch and kill two birds with one stone?

I think we should consider moving to a main branch, but I don't think we want to have both a master and a main branch at the same time. The plan is to move to use main when we reconcile the next branch with master.

Re moving to main. GitHub has said they plan to introduce tooling for migrating master -> main for existing projects. They mention planning to deliver this tooling by EoY.


Multiple Slick Sliders are Creating a Blank Slide & Dot at the End of Each Carousel

I am unsure how else to word this, I have a hero slider that works as planned. However, further down the page, there are two more sliders that when initiated are creating a blank slide and dot for the navigation that are appended to the carousel.
Here is a link to the page where you can see it in action: https://www.camvaceng.com/
If you scroll down to the news and events section. You will see two sliders side by side, both of which have an extra slide and dot than required. I have tried literally 15 different ways to initiate the slider with no luck, the about 200 combinations of the parameters passes into the slick function. It either breaks more or doesn't work at all.
The sliders are populated with PHP but here is what they essentially would contain i terms of HTML:

 ITM Poland 2020

 June 2														-
					June 5 |  Poznan Congress Center, Poland

 CVE will be exhibiting at ITM Poland on the 2nd – 5th June 2020 at the Poznan Congress Center.

 Fabtech 2020

 November 18														-
					November 20 |  Las Vegas Convention Center, Las Vegas, NV 89109, USA

 CVE will be exhibiting at Fabtech, Las Vegas, on the 18th to 20th June 2020 at the Las Vegas Convention Center, 3150 Paradise Road, Las Vegas, NV 89109, USA

 Beijing Essen Welding & Cutting Fair

 June 2														-
					June 5 |  Shenzhen World Exhibition & Convention Center, Shenzhen, China

 CVE will be exhibiting at Beijing Essen Welding & Cutting Fair on the 2nd – 5th June 2020 at the Shenzhen World Exhibition & Convention Center, Shenzhen, China

 TWI 2020

 June 4 |  Granta Centre, TWI Ltd, Cambridge, UK

 CVE will be exhibiting at TWI, the UK and Joining Exhibition on the June 4th 2020 at the Granta Centre, TWI Ltd, Great Abington, Cambridge.

 EXPOWELDING 2020

 October 13														-
					October 15 |  Expo Silesia, 41219 Sosnowiec, Poland

 CVE will be exhibiting at the ExpoWelding, Sosnowiec, Poland on the 13th to 15th October 2020 at the Expo Silesia, Braci Mieroszewskich 124, 41219 Sosnowiec, Silesia, Poland

 METALEX 2020

 November 18														-
					November 21 |  Bangkok International Trade & Exhibition Centre

 CVE will be exhibiting at Metalex, Bangkok, Thailand on the 18th to 21st November 2020 at the Bangkok International Trade & Exhibition Centre, 88 Debaratana Rd, แขวง บางนาใต้ Bang Na, Bangkok, Thailand

This is the js:
	(function($){
		var index = 0;
		$('.news-events-slider').each(function() {
			$(this).slick({
				dots: true,
				arrows: false,
				infinite: false,
				autoplay: false,
				slidesToShow: 1
			});
		});
	})(jQuery);

====================================================================
I cannot replicate this in a jsfiddle. But hopefully the link will provide you with enough information. Here is my attempt at trying to replicate it in codepen:
https://codepen.io/jason-is-my-name/pen/KKpeRrr?editors=1111
====================================================================
Steps to reproduce the problem
Create multiple sliders on one page.
I cannot identify why else this would be caused, help...
====================================================================
What is the expected behaviour?
It should work, without creating extra slide and dot at the end of the carousel ad carousel nav
====================================================================
What is observed behaviour?
extra slide and dot at the end of the carousel ad carousel nav
====================================================================
More Details

Which browsers/versions does it happen on? all
Which jQuery/Slick version are you using? latest / slick 1.9
Did this work before? no

Looking at your code it appears that the issue is that you have broken the HTML by having two s between the  and

Hi @RWAP, These divs are created by slick. Here is my raw code:

Events

	<?php
	$latest_events = new WP_Query( array(
	'post_type' => 'events',
	'orderby' => 'publish_date',
	'order' => 'ASC'
	)); ?>

	<?php if( $latest_events->have_posts() ) : ?>

			<?php while( $latest_events->have_posts() ) : $latest_events->the_post(); ?>
				<?php
				$event_title 		= get_the_title();
				$event_start_date 	= get_field('event_start_date');
				$event_end_date 	= get_field('event_end_date');
				$event_location 	= get_field('event_location');
				$event_excerpt 		= excerpt(55);
				$event_link 		= get_the_permalink(); ?>

						<?php echo $event_title ?>

						<?php echo $event_start_date; ?>
						<?php if( $event_end_date ) : ?> - <?php echo $event_end_date; ?><?php endif; ?>
						<?php if( $event_location ) : ?>
							|
							<?php echo $event_location; ?>
						<?php endif; ?>

						<?php echo $event_excerpt; ?>

			<?php endwhile; ?>
			<?php wp_reset_postdata(); ?>

	<?php else : ?>

No events

	<?php endif; ?>

News

	<?php
	$latest_news = new WP_Query( array(
	'category_name' => 'news',
	'orderby' => 'publish_date',
	'order' => 'DESC'
	)); ?>

	<?php if( $latest_news->have_posts() ) : ?>

			<?php while( $latest_news->have_posts() ) : $latest_news->the_post(); ?>
				<?php
				// $post_thumbnail_id = get_post_thumbnail_id( $post->ID );
				// $post_thumbnail_alt = get_post_meta($post_thumbnail_id, '_wp_attachment_image_alt', true);
				// $post_thumbnail_url = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'single-post-thumbnail' )[0];
				$article_title = get_the_title();
				$article_date = get_the_date( get_option('data_format') );
				$article_excerpt = excerpt(11);
				// $post_time = get_post_time( 'g:i a' );
				$article_link = get_the_permalink(); ?>

						<a href="<?php echo $article_link; ?>" class="primary">
						<?php echo $article_title ?>

						<?php echo $article_date; ?>

						<?php echo $article_excerpt; ?>

					<a href="<?php echo $article_link; ?>" class="btn btn-outline primary h6 uppercase py1 mb1">
					View more

			<?php endwhile; ?>
			<?php wp_reset_postdata(); ?>

	<?php else : ?>

No news

	<?php endif; ?>

I then initiate the sliders using these snips of js:

I then get the unexpected result of the last slide that completely shouldn't be there, showing up as a blank slide :(
Like this attached image:

If anyone could help me debug this, the client is really pushing hard on this and I would really appreciate the help!

May I please request further support on this bug, appreciate your time, Jason.

 You are my favourite person alive right now! I knew it was something I had done but was completely blind to it!

@RWAP has resolved my issue.
If you are experiencing a similar issue, be sure to make sure your sliders have the appropriate closing tag on the element you are targeting with .slick().
Big thanks for returning to help.


"vcs log" output can be a bit too verbose for --limit_untagged

Problem
By printing VCS' commit message format per every commit, the output of vcs log --limit_untagged can be large, which often makes it hard to grasp.
I imagine the problem is pretty much the same with git developers adding --oneline option to log verb.
Attempted (but wasn't successful) approach
Using vcs custom I tried the following (the argument passed is taken from what vcs log --limit_untagged internally does).
vcs custom --git --args log --oneline `git describe --abbrev=0 --tags`..

root@92e14a2e6eca:/catkin_ws/src# vcs custom --git --args log --oneline `git describe --abbrev=0 --tags`..
fatal: Not a git repository (or any of the parent directories): .git
EEEEEEEEEEEEEEEEEE
=== ./intel-ros/realsense (git) ===
fatal: ..: '..' is outside repository
=== ./pokemon (git) ===
fatal: ..: '..' is outside repository
=== ./nintendo/boncurry/boncurry (git) ===
fatal: ..: '..' is outside repository
:
=== ./zivid-ros (git) ===
fatal: ..: '..' is outside repository

The following works. So I assume plugging in the value by back-tick doesn't work.
# vcs custom --git --args describe --abbrev=0 --tags
.....E............
=== ./intel-ros/realsense (git) ===
100.2217.1
=== ./pokemon (git) ===
3.7.0
=== ./nintendo/boncurry/boncurry (git) ===
5.1.0
:
=== ./zivid-ros (git) ===
v1.1.0

Potentially ideal condition
It'd be convenient if the output of vcs log --limit_untagged can be simplified when desired (maybe with an option).
Larger question
It's probably not difficult to change vcstool's code to add an option (haven't looked into it though) to achieve what's stated in the ideal condition. But that would add more leaf functionality and I'm afraid that would add more maintenance effort.
Changing custom verb so that it can accept back-tick would eliminate such a concern. Just an idea.

The backticks are being interpreted by the shell before vcstool is even invoked. So I don't see a way to achieve what you describe as the "ideal condition". I also wouldn't be a fan of passing an arbitrary expression string to vcstool which it then needs to evaluate.
Since #121 vcstool defaults to use --pretty=short. If you would like to contribute an extra option to choose e.g. a more compact formatting that would be great.


Replays marked as corrupt

All my replays from 2018 were moved to a folder marked corrupt, plus a few more. They are not corrupt.

Could you provide such a replay ?

7381860-JaggedAppliance.zip

thx

It seems to be that the client does not know the featuredmod ladder1v1 maybe it is an issue in spelling ladder1v1 or so. Will have a look at it

It can not find the map, but that is due to some broken logic in the client. I will need to ask downlord about it

So you need to have the map as it seems and you probably have not good the maps of this "old replays", but i will ask @micheljung if we should not search this map online if you dont have it on your disk

lol i am sure that does not do what it is supposed to do XD

got it

nice replay


iOS Wallet

The last version of the iOS wallet provided was at 1.10.1.    Would it be possible to provide the xcodeproj file at version 2.1?
I attempted to use the source code to compile the app with ionic cordova, but running the app failed.
The process created a xcodeproj file, but when the app is run on the iPhone, it goes into infinite loop - with the debug error " xxx Byteball[xxx:xxxxxx] Error: ("line":20215, "column":25, "sourceURL":"file:///var/containers/Bundle/Application/.../Byteball.app/www/partialClient.js")"
To compile the app I used the following commands:

npm install     -  from the Byteball source code directory (which installs most deps)
make ios-debug   - which creates the Xcodeproj files in a directory called byteballbuilds
From Xcode, enter my Team profile, then compile and run, with my iPhone as the target.

PS:  I did downgrade my Cordova to version 6 prior step 1, as instructed by the readme file.

Any help available?

Why is there no ongoing development? Would it be quicker/better to give incentives/rewards to developers for the iOS App to be coded? Or give it to contractors?

@Aragonite You forget to run bower install

Now in the App Store https://itunes.apple.com/us/app/byteball/id1147137332?ls=1&mt=8


wf-touch: 0-unstable-2021-03-19 -> 0-unstable-2024-04-24

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for wf-touch is: Touchscreen gesture library
meta.homepage for wf-touch is: https://github.com/WayfireWM/wf-touch
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0-unstable-2024-04-24 in filename of file in /nix/store/lg806fylczy3qdbadxj79ycccmybkgkr-wf-touch-0-unstable-2024-04-24

Rebuild report (if merged into master) (click to expand)

3 total rebuild path(s)

3 package rebuild(s)

First fifty rebuilds by attrpath

hyprlandPlugins.hyprgrass
wf-touch

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/lg806fylczy3qdbadxj79ycccmybkgkr-wf-touch-0-unstable-2024-04-24 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A wf-touch https://github.com/r-ryantm/nixpkgs/archive/2e5ae55bac0f2a010fe53c0eb34b317b24477460.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/2e5ae55bac0f2a010fe53c0eb34b317b24477460#wf-touch

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/lg806fylczy3qdbadxj79ycccmybkgkr-wf-touch-0-unstable-2024-04-24
ls -la /nix/store/lg806fylczy3qdbadxj79ycccmybkgkr-wf-touch-0-unstable-2024-04-24/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package failed to build:

hyprlandPlugins.hyprgrass

2 packages built:

wf-touch
wf-touch.dev

Maintainer pings
cc @donovanglover for testing.

Breaks hyprgrass


Can't find the source code for WebAuthenticationCoreManager

I need to replicate functionality using WebAuthenticationCoreManager but for the web app, specifically, ASP MVC.
Unfortunately, this class is available only for native apps, like Xamarin or UWP.
Could somebody point me to the implementation of this class?

Hi @artemiusgreat. The scope of this feedback channel covers specific documentation fixes, but I can help redirect you to the right support channel to get an answer to your question. The community of experts and Microsoft Engineers over at Microsoft Q&A offer timely answers to a multitude of technical questions surrounding the WinRT API documentation. Unfortunately, the WinRT APIs are not open source, so you would be able to access the source code for this class, but the folks in the Q&A forums may have some other suggestions for you.
If you do create a thread over at Microsoft Q&A, we would appreciate if you could share that link here so we can track the progress and incorporate any technical details into our documentation. Though I'm marking this Issue as closed now, please treat this thread as an open thread for follow-ups. Thanks!


Empty profile picture when network is throttled

Problem
When network is throttled and sometimes in normal mode in /leaderboard, there is a good amount of delay when the profile picture is loaded, sometimes as bad as 5 seconds. This is because the picture is lazy loaded to make the load time of the website faster but at the cost of user experience. Eager loading will just make the load time of site greater.
Solution
Use a base64url generator like plaiceholder to generate a blur url so that when the picture is being loaded there is a blured picture that has size of less than 1 kB acts as a placeholder for the picture.

Can anyone assign me this issue?


Burr Component Framework

Is your feature request related to a problem? Please describe.
This is more exploratory -- looking for ideas!
Question, can we:

Given a Burr app (maybe typed, see #139)
And if not typed a set of response models
And a server exposed through #304

Can we generate a UI or provide react-type components with something like ShadCN?
This could either:

Work on pydantic types (E.G. like fastUI does)
Have a few set patterns (chatbot, etc..)

Describe the solution you'd like
TBD, see the above.
Describe alternatives you've considered
Can always do custom.
Additional context
As asked on discord

Gradio has a JS library with frontend components for I/O. It would be convenient because it directly matches the server-side Python I/O code to interact with the Burr app.
However, this requires Burr users adopting Gradio features to some extent. If we're able to have sensible default for type -> gradio component, we could autogenerate the UI to some extent without users having to use Gradio explicitly.


Missing cmctl and kubectl-cert_manager binaries in GitHub releases

Describe the bug:

Hello, we have an automation that depends on the cmctl binaries from the cert-manager Github releases, which broke when it tried to get the v1.14.5 binaries from Github. After checking the releases page, I found that the GitHub release assets corresponding to the most recent cycle of cert-manager releases (v1.12.10, v1.13.6, v1.14.5 and v1.15.0-alpha.0) don't include any of the release binaries, and had only 4 assets in total.. This is a change of behavior from the previous releases which had a total of 22 assets.
Expected behaviour:

GitHub releases should include cert-manager binaries as they were in the past.
/kind bug

Just noticed the same thing, looks like the CLI has been moved to it's own repository now to decouple it's releases from cert-manager proper.
If you check the docs there are updated directions for installing from the new repository.

Thanks for reporting this! It does seem like a bug for these to be missing from the latest 1.12.x, 1.13.x and 1.14.x releases.
It's definitely worth saying that they will disappear from 1.15.x because as @lachlan-smith mentioned cmctl moved to its own repo.
I'll look into this!

@inteon will manually upload the binaries to the 3 affected releases today, and https://github.com/cert-manager/release/pull/179 should fix this so the next release doesn't have the same problem!

@inteon will manually upload the binaries to the 3 affected releases today, and cert-manager/release#179 should fix this so the next release doesn't have the same problem!

Done. All binaries should have been uploaded.

Thanks Tim, looks good! I'll close this issue now. Sorry again @abhay-krishna !


Add unit tests for command-line

[ ] Create tests/test_cli.py
[ ] Copy this test into that module (and rename it):

https://github.com/roocs/daops/blob/master/tests/test_operations/test_subset.py#L463-L488

[ ] Start by checking you can run it with: python -m pytest -c null tests/test_cli.py
[ ] Then change it so that it calls daops from the command-line instead of from inside python
[ ] Once it is all working, go into tests/test_operations/test_subset.py and copy these tests into tests/test_cli.py (renaming them as being called by cli:

[ ] https://github.com/roocs/daops/blob/master/tests/test_operations/test_subset.py#L131
[ ] https://github.com/roocs/daops/blob/master/tests/test_operations/test_subset.py#L160
[ ] https://github.com/roocs/daops/blob/master/tests/test_operations/test_subset.py#L306
[ ] https://github.com/roocs/daops/blob/master/tests/test_operations/test_subset.py#L360
[ ] https://github.com/roocs/daops/blob/master/tests/test_operations/test_subset.py#L428
[ ] https://github.com/roocs/daops/blob/master/tests/test_operations/test_subset.py#L518

@alaniwi : here is how to use level_interval:
https://github.com/roocs/clisops/blob/21ef1efa82808f653c6c1d958beb50e3a2ae1e7c/tests/ops/test_subset.py#L213
Use of LevelParameter:
https://github.com/roocs/roocs-utils/search?q=levelparameter

@agstephens I am not using level_interval or level_parameter because I have tested that everything can be passed through as strings provided that the format is correct. I think when I tested it previously and it didn't work, I didn't know what that format looked like. So I was able to strip code out of cli.py.
In test_cli.py, I am making sure to pass everything through as strings. All the tests are passing and I am closing this issue now.
I have not retained your example code for test_cli.py at all - now completely replaced with one based on test_subset.py - but it was helpful to see it. For convenience, here is the commit ID in the history where you added it: 72ad50567d4be2b1ed55eb1b9eab1dac789fccde


Update utils.ipxe - Breakin

Added note that it supports only amd64/x64. Booting on a i686 machine will fail as this tool was build for servers and clusters in mind, not for old desktops/laptops.
Added version and description: v4.26.1-53 (2015-10-22) - Hardware stress-test
Added comments for website and download link.
They have a PXE image as well. Can iPXE download http://www.advancedclustering.com/wp-content/uploads/2017/02/bootimage-4.26.1-53.tbz2 and untar on the fly and then load kernel and initrd?

Thanks for the contrib, closing this though as it adds a bit of unnecessary info to the menu option.


Any attempts on multi-frame training?

Hi, I am trying to adapt BEVDet4D style multi-frame inputs to OpenOcc. However, the results are not satisfying (with a slight performance drop: 8.7->8.6 mIoU). I am wondering if you have tried this. Thanks.

I haven't tried it yet. Can you provide detailed metrics for each category to explain the counterintuitive performance drop? Specifically, I'm curious if the multi-frame setting overfits to large-structured regions such as roads or is negatively impacted by moving objects like cars.

Sorry. I wrote some bugs in the code. The multi-frame training can improve performance.

May I ask how much multi-frame training has improved?

Sorry. I wrote some bugs in the code. The multi-frame training can improve performance.

May I ask how much multi-frame training has improved?


Related airdrop hunter 0xdf21b894a490cbdf49d9de7b9d780b79f7cb0ac7

Related Safe Addresses
0xbf51397608972087c5751460682d3bf33e6c4323
0x782cd5782852da009e3422dd1b34379e62c2aa23
0xbdbc2721254dd29b8638871108b1e5af358ef641
0x174cce510e7ac18ae05c9d67540ac686ebb51810
0x915f9956e06280c0438183322dca9d3022ed52a0
0xe4117d452bf2944e433a1825a000bacd7d5ca5bf
0xfaf987b0989efd38086fcc4525f1d97686d61406
0x394514b08b8d4383467e8beb3cf7f62c56eca894
0x076549e08e78d4a473412a8298fb0d370e008e09
0x9af26965e246fd8ec44f0bbbfe5ece3e15932179
0x4926b6a9f0c78938a52382dbd923c17f4765a2f3
0xfbb9145cb7cada2dd8609da517a4def116dac9da
0x8f1e1532384648f3e44ca8f617a3852c031bd1ab
0xdfc654c47909083beacd41f18984160d73947a27
0xd21a5d84baf43daec5bf68f7641e614b7a4f0c26
0x8c32960138f0387de89fb39c4355ec89bae24e2b
0x7387193d0ea093afd8d0c5857856811c984b6eb5
0x6ecb8c423a49eab3444d7fac879750113ad18852
0xfe9a15c9217801826e6658780a0d1bf0a8a21d05
0x4fe35f43c998ed486d16dc0fb1331f1fb7db3bbe
0xb433e13fffbd79432fb7f3fcffbb77c5ddcd7072
0x6910286783802b7c215601b79f1ec826d41b4f38
0x00564b75cad21eda503c9214f1e30aa204390a5c
0x4b4d21cc4a210e1267ae6eb9f1db5f8d8622dc4f
0x85d0a53df27d3e0d19f0b6f7ca8c5e31ac68d26d
0x04ff6cb3ee46892abc39204205e18d9cb3ec49b1
0xfeab0697182b871d34af9815aa1c731065da7547
0xf06a1fe01a19b83e6e323e4a977ed4cc12f7f677
0x33059596552b07b4de4e8ac36c8bd9588198287a
0x3ea23355ecdcfda257fae663c78c8a556ce5581b
0x000aa9987989de639988caabe4d54b2d2d644a0d
0xbea2577c7a3d85da6c5b6352f2d8033dd48f505c
0x8da58a0145f9daa60fbed5db6b0e340531c57b70
0xc1bd78bcd9abb1ce72f05b5984581a0e4eed2884
0x64a0bfe946990904330189c22278139e879a3384
0x8369b945340809e84f4e721cd155aba8e65d863e
-->
Reasoning
The account sends the same amount (small amount of eth) 0.00077856471 to multiple established vaults
Safe Address
0x76B5586a46B752a96Ba423b0d3aCd1b23bDc1d7C
-->

more related safe address:
0xd5c69f32978906ae3f1a44e2e242b38cc0849a05
0x5a88e61c4ee7f489F3aBDd6b65acCF919ed2D04A
0x4AB366bb8bC710C222B57BD2803806F3e53a5421
0xC186425f7bBf7A6C1D1EDE3dC40F5bf27bFb6eEA
0xBf374F68c519173816d96Ad6368839B3824c9BC7
0xf756c52816a0C8c7a4bfb0575F5B1e1e46171Fb0
0x2b3a6B9FD979f14B4Af5fF38ead6b1718DE5834D
0x93FA075eA1Ce1a0309174a0B882E323D24235CCB
0x3C0f3aB28A5d7558Ab11Ef0e569c15A253d32993
0x7CfdECE255141853DcCf3980f4Dc237C84DEf1b5
0xe1F666B99229513186FB542f95E4Bb7244A72777
0x0Fc8f70BcD007fF7197c68375a87D571aEc8754e
0x1514e5eb2E1E0514B6058023aa7d1cEc957Ae583
0xB0a13a50Bf39aFa507CE50a191Cc373B2F941594
0x058B63A3caa6D82041dB2Cc6Aaf6ce375eabd0A3
0xa37D1987F25E9E18E72383271ab68b760CaEFe83
0x82493dc8c62e2BA410114f4c078E43f218B392d1
0xB883375718F5dD55090c80Fa3A4b9642c14f798e
0xB2774fc74Cf0FFDB554fc159be282885d982BC23
0xB9003EB9E243568b2BEe8612f5D7C6f6c17831Fa
0xaD8A08301Fa20FD7b892FBC2CBAA482087e53Fcf
0x3AB4C4c4DeDfF1864D433e30934206A2a8Aa7365
0x124BE2675C373D8784F031A3143783b0E84DA64e

This report is incomprehensible and missing details, please structure it properly.

The account sends the same amount (small amount of eth) 0.00077856471 to multiple established vaults

Which account, pls elaborate how this is airdrop farming.

We haven't received any further information on this ticket and therefore deemed this submission invalid.
Unfortunately just the pure fact that Safes...

were created by the same address
have the same owner
conducted the same transactions
received assets from the same address

... is not enough reasoning for a valid submission, as there are legit user behaviour leading to such as well (relayer, scripts, power users, exchanges)
This submission didn't provide sufficient indicators to convince the team that there is some targeted airdrop farming behind the provided addresses. As per the rules, when in doubt we will default in favor of the airdrop recipients in order to not risk any false positives when sorting out airdrop hunters.


Service Connection - Source Type and Pipeline Type

Check how we can improve the JSON config for the sources in terms of source type and pipeline type

Take this up once the current refactor is done and the connectors are in working state again


The operation couldn’t be completed. No APNS token specified before fetching FCM Token

SDK version: 3.7.0
Environment: Production
Describe the bug
It appears that you're experiencing an issue with the rnfirebase library when using customer.io for push marketing notifications with APNS on iOS. Specifically, when you set config.showPushAppInForeground = true, you encounter the error message "The operation couldn't be completed. No APNS token specified before fetching FCM Token" when calling messaging().getToken() from Firebase. And foreground notification not working
Screenshots

Hello there.
It sounds like you're trying to get push notifications to show up on your iOS device, correct? The error message, "The operation couldn't be completed. No APNS token specified before fetching FCM Token" is an error that comes from the rnfirebase SDK, not the Customer.io SDK.
The error message happens because rnfirebase is not able to provide you with a FCM device token until it has been able to successfully receive a APN device token.
In order to have your app get a APN device token, you need to:

Follow all of the setup steps
Accept push permissions at runtime

Could you verify for me that you have followed all of these steps?
If you have, could you please provide to me these files:

MyAppPushNotificationsHandler
AppDelegate.mm
ios/Podfile
ios/Podfile.lock

I understand these files might have sensitive information in them. You can send them to<EMAIL_ADDRESS>instead of in this public github issue. If you do send the email, be sure to reference this github issue so the ticket can be routed to our team.
Thanks for contacting us today. Have a great day!

Thank you for your response.
The issue mentioned only occurs when I want to add the following code snippet to the file MyAppPushNotificationsHandler.swift:
MessagingPushAPN.initialize { config in
    config.showPushAppInForeground = true // true will display the push when the app is in the foreground
}

In reality, I only receive notifications from Customer.io when the app is in the background. It doesn't work as expected when the app is in the foreground.

MyAppPushNotificationsHandler.swift

import Foundation
import CioMessagingPushAPN
import CioTracking

@objc
public class MyAppPushNotificationsHandler : NSObject {

  public override init() {}

  @objc(setupCustomerIOClickHandling)
  public func setupCustomerIOClickHandling() {
    // This line of code is required in order for the Customer.io SDK to handle push notification click events.
    // We are working on removing this requirement in a future release.
    // Remember to modify the siteId, apiKey and region with your own values.
    CustomerIO.initialize(siteId: "my-siteId", apiKey: "my-apiKey", region: .US) { config in
    }
  }

  @objc(application:deviceToken:)
  public func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
    MessagingPush.shared.application(application, didRegisterForRemoteNotificationsWithDeviceToken: deviceToken)
  }

  @objc(application:error:)
  public func application(_ application: UIApplication, didFailToRegisterForRemoteNotificationsWithError error: Error) {
    MessagingPush.shared.application(application, didFailToRegisterForRemoteNotificationsWithError: error)
  }
}

AppDelegate.mm

#import "AppDelegate.h"
#import "SampleApp-Swift.h"
#import <Firebase.h>
#import "RNBootSplash.h"
#import <RNGoogleSignin/RNGoogleSignin.h>
#import <React/RCTLinkingManager.h>
#import <AppCenterReactNative.h>
#import <AppCenterReactNativeAnalytics.h>
#import <AppCenterReactNativeCrashes.h>
#import "RNFBMessagingModule.h"
#import <React/RCTBundleURLProvider.h>
#import <AuthenticationServices/AuthenticationServices.h>
#import <SafariServices/SafariServices.h>
#import <FBAEMKit/FBAEMKit-Swift.h>
#import <FBSDKCoreKit/FBSDKCoreKit-Swift.h>
#import <CodePush/CodePush.h>

@implementation AppDelegate
MyAppPushNotificationsHandler* pnHandlerObj = [[MyAppPushNotificationsHandler alloc] init];

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
  [FIRApp configure];
  [FBSDKApplicationDelegate.sharedInstance initializeSDK];
  [[FBSDKApplicationDelegate sharedInstance] application:application
                         didFinishLaunchingWithOptions:launchOptions];
  self.moduleName = @"SampleApp";
  // You can add your custom initial props in the dictionary below.
  // They will be passed down to the ViewController used by React Native.
  self.initialProps = [RNFBMessagingModule addCustomPropsToUserProps:nil withLaunchOptions:launchOptions];

  [super application:application didFinishLaunchingWithOptions:launchOptions];

  [application registerForRemoteNotifications];
  [pnHandlerObj setupCustomerIOClickHandling];

  [RNBootSplash initWithStoryboard:@"BootSplash" rootView:self.window.rootViewController.view]; // <- initialization using the storyboard file name

  return YES;
}

- (NSURL *)sourceURLForBridge:(RCTBridge *)bridge
{
#if DEBUG
  return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index"];
#else
  return [CodePush bundleURL];
#endif
}

- (BOOL)application:(UIApplication *)app
            openURL:(NSURL *)url
            options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options
{
  NSDictionary* infoDict = [[NSBundle mainBundle] infoDictionary];
  NSString* fbappid = [infoDict objectForKey:@"FacebookAppID"];
  [FBAEMReporter configureWithNetworker:nil appID:fbappid reporter:nil];
  [FBAEMReporter enable];
  [FBAEMReporter handle:url];

  if ([[FBSDKApplicationDelegate sharedInstance] application:app openURL:url options:options]) {
    return YES;
  }

  if ([RNGoogleSignin application:app openURL:url options:options]) {
    return YES;
  }

  if ([RCTLinkingManager application:app openURL:url options:options]) {
    return YES;
  }

  return NO;
}

- (BOOL)application:(UIApplication *)application continueUserActivity:(nonnull NSUserActivity *)userActivity
 restorationHandler:(nonnull void (^)(NSArray<id<UIUserActivityRestoring>> * _Nullable))restorationHandler
{
 return [RCTLinkingManager application:application continueUserActivity:userActivity restorationHandler:restorationHandler];
}

// Required to register device token.
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken
{
  // Register device to receive push notifications with device token
  [pnHandlerObj application:application deviceToken:deviceToken];
}

// Required for the registrationError event.
- (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error
{
  [pnHandlerObj application:application error:error];
}

@end

Podfile

def node_require(script)
  # Resolve script with node to allow for hoisting
  require Pod::Executable.execute_command('node', ['-p',
    "require.resolve(
      '#{script}',
      {paths: [process.argv[1]]},
    )", __dir__]).strip
end

node_require('react-native/scripts/react_native_pods.rb')
node_require('react-native-permissions/scripts/setup.rb')

platform :ios, '13.0'
prepare_react_native_project!

# ⬇ uncomment wanted permissions (don't forget to remove the last comma)
setup_permissions([
  # 'AppTrackingTransparency',
  # 'BluetoothPeripheral',
  # 'Calendars',
  # 'Camera',
  # 'Contacts',
  # 'FaceID',
  'LocationAccuracy',
  # 'LocationAlways',
  'LocationWhenInUse'
  # 'MediaLibrary',
  # 'Microphone',
  # 'Motion',
  # 'Notifications',
  # 'PhotoLibrary',
  # 'PhotoLibraryAddOnly',
  # 'Reminders',
  # 'SpeechRecognition',
  # 'StoreKit'
])

# If you are using a `react-native-flipper` your iOS build will fail when `NO_FLIPPER=1` is set.
# because `react-native-flipper` depends on (FlipperKit,...) that will be excluded
#
# To fix this you can also exclude `react-native-flipper` using a `react-native.config.js`
# ```js
# module.exports = {
#   dependencies: {
#     ...(process.env.NO_FLIPPER ? { 'react-native-flipper': { platforms: { ios: null } } } : {}),
# ```
flipper_config = ENV['NO_FLIPPER'] == "1" ? FlipperConfiguration.disabled : FlipperConfiguration.enabled

linkage = ENV['USE_FRAMEWORKS']
if linkage != nil
  Pod::UI.puts "Configuring Pod with #{linkage}ally linked Frameworks".green
  use_frameworks! :linkage => :static
end

target 'SampleApp' do
  config = use_native_modules!

  # Flags change depending on the env values.
  flags = get_default_flags()

  pod 'customerio-reactnative/apn', :path => '../node_modules/customerio-reactnative'

  use_react_native!(
    :path => config[:reactNativePath],
    # Hermes is now enabled by default. Disable by setting this flag to false.
    # Upcoming versions of React Native may rely on get_default_flags(), but
    # we make it explicit here to aid in the React Native upgrade process.
    :hermes_enabled => true,
    :fabric_enabled => false,
    # Enables Flipper.
    #
    # Note that if you have use_frameworks! enabled, Flipper will not work and
    # you should disable the next line.
    :flipper_configuration => flipper_config,
    # An absolute path to your application root.
    :app_path => "#{Pod::Config.instance.installation_root}/.."
  )

  pod 'Firebase', :modular_headers => true
  pod 'FirebaseCoreInternal', :modular_headers => true
  pod 'GoogleUtilities', :modular_headers => true
  pod 'FirebaseCore', :modular_headers => true
  pod 'FirebaseCoreExtension', :modular_headers => true
  pod 'FirebaseABTesting', :modular_headers => true
  pod 'FirebaseInstallations', :modular_headers => true
  pod 'GoogleDataTransport', :modular_headers => true
  pod 'FirebaseSessions', :modular_headers => true
  pod 'nanopb', :modular_headers => true
  pod 'AppAuth', :modular_headers => true
  pod 'GTMSessionFetcher', :modular_headers => true

  pod 'react-native-fbsdk-next', :path => '../node_modules/react-native-fbsdk-next'
  pod 'react-native-date-picker', :path => '../node_modules/react-native-date-picker'
  pod 'react-native-blob-util', :path => '../node_modules/react-native-blob-util'

  target 'SampleAppTests' do
    inherit! :complete
    # Pods for testing
  end
  ENVFILES = {
    'Prod' => '$(PODS_ROOT)/../../.env.production',
  }

  post_install do |installer|
    react_native_post_install(
      installer,
      config[:reactNativePath],
      :mac_catalyst_enabled => false
    )
    __apply_Xcode_12_5_M1_post_install_workaround(installer)
    installer.pods_project.targets.each do |target|
      target.build_configurations.each do |config|
        if target.name == 'react-native-config'
          config.build_settings['ENVFILE'] = ENVFILES[config.name]
        end
      end
    end
  end
end

target 'ImageNotification' do
  pod 'Firebase', :modular_headers => true
  pod 'FirebaseCoreInternal', :modular_headers => true
  pod 'GoogleUtilities', :modular_headers => true
  pod 'FirebaseCore', :modular_headers => true
  pod 'FirebaseCoreExtension', :modular_headers => true
  pod 'Firebase/Messaging', :modular_headers => true # eg 6.31.0
end

target 'NotificationServiceExtension' do
  # Notice the '-richpush' in the line below. This line of code is different from what you added for your main target.
  pod 'customerio-reactnative-richpush/apn', :path => '../node_modules/customerio-reactnative'
end

Thanks for giving additional information.
Could you please describe the issue that you're encountering? Sorry, I am not completely sure what it is.

You mention that you are able to see push notifications sent by Customer.io on the iOS device when the app is in the background, but not when the app is in the foreground. Is this the issue?
You mentioned an error message "The operation couldn't be completed. No APNS token specified before fetching FCM Token" when calling messaging().getToken() from Firebase. Is this the issue?

I did notice something. It looks like you're using Firebase messaging for push notifications in your app, but you have the APN version of the Customer.io SDK installed in your app. Perhaps this is causing the issues for you? We give instructions in our documentation for FCM. If you are using FCM in your app for push notifications, I suggest following those instructions instead of the APN instructions.
I hope you have a great rest of your day!

Thank you, @levibostian , for your response.
I have re-implemented to receive notifications via FCM as instructed on customer.io. It works well when the application is in the background, but when it is in the foreground, it does not work at all as expected. I have checked extensively, but no notifications are received when in the foreground.
const unsubscribe = messaging().onMessage(async remoteMessage => {
console.log("remoteMessage:", remoteMessage)
});

messaging().onMessage does not trigger.
Please help me!

MyAppPushNotificationsHandler

import Foundation
import CioMessagingPushFCM
import FirebaseMessaging
import CioTracking

@objc
public class MyAppPushNotificationsHandler : NSObject {

  public override init() {}

  @objc(setupCustomerIOClickHandling)
  public func setupCustomerIOClickHandling() {
    // This line of code is required in order for the Customer.io SDK to handle push notification click events.
    // We are working on removing this requirement in a future release.
    // Remember to modify the siteId and apiKey with your own values.
    CustomerIO.initialize(siteId: "my-siteid", apiKey: "my-apikey", region: Region.US) { config in

      // Automatically register push device tokens to the Customer.io SDK
      config.autoTrackDeviceAttributes = true

      // This is convenient for internal testing.
      // It is optional.
      config.logLevel = .debug
    }
    MessagingPushFCM.initialize {config in
      config.showPushAppInForeground = true
    }
  }

  // Register device on receiving a device token (FCM)
  @objc(didReceiveRegistrationToken:fcmToken:)
  public func didReceiveRegistrationToken(_ messaging: Messaging, didReceiveRegistrationToken fcmToken: String?) {
    MessagingPush.shared.messaging(messaging, didReceiveRegistrationToken: fcmToken)
  }
}

AppDelegate

#import "AppDelegate.h"
#import "SampleApp-Swift.h"
#import <Firebase.h>
#import "RNBootSplash.h"
#import <RNGoogleSignin/RNGoogleSignin.h>
#import <React/RCTLinkingManager.h>
#import <AppCenterReactNative.h>
#import <AppCenterReactNativeAnalytics.h>
#import <AppCenterReactNativeCrashes.h>
#import "RNFBMessagingModule.h"
#import <React/RCTBundleURLProvider.h>
#import <AuthenticationServices/AuthenticationServices.h>
#import <SafariServices/SafariServices.h>
#import <FBAEMKit/FBAEMKit-Swift.h>
#import <FBSDKCoreKit/FBSDKCoreKit-Swift.h>
#import <CodePush/CodePush.h>
#import <FirebaseCore.h>

@implementation AppDelegate
MyAppPushNotificationsHandler *pnHandlerObj = [[MyAppPushNotificationsHandler alloc] init];

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{

  self.moduleName = @"SampleApp";
  // You can add your custom initial props in the dictionary below.
  // They will be passed down to the ViewController used by React Native.
  self.initialProps = [RNFBMessagingModule addCustomPropsToUserProps:nil withLaunchOptions:launchOptions];

  [FIRApp configure];
  [FIRMessaging messaging].delegate = self;
  [FBSDKApplicationDelegate.sharedInstance initializeSDK];
  [[FBSDKApplicationDelegate sharedInstance] application:application
                         didFinishLaunchingWithOptions:launchOptions];

  [super application:application didFinishLaunchingWithOptions:launchOptions];

  [pnHandlerObj setupCustomerIOClickHandling];

  [RNBootSplash initWithStoryboard:@"BootSplash" rootView:self.window.rootViewController.view]; // <- initialization using the storyboard file name

  return YES;
}

- (NSURL *)sourceURLForBridge:(RCTBridge *)bridge
{
#if DEBUG
  return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index"];
#else
  return [CodePush bundleURL];
#endif
}

- (BOOL)application:(UIApplication *)app
            openURL:(NSURL *)url
            options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options
{
  NSDictionary* infoDict = [[NSBundle mainBundle] infoDictionary];
  NSString* fbappid = [infoDict objectForKey:@"FacebookAppID"];
  [FBAEMReporter configureWithNetworker:nil appID:fbappid reporter:nil];
  [FBAEMReporter enable];
  [FBAEMReporter handle:url];

  if ([[FBSDKApplicationDelegate sharedInstance] application:app openURL:url options:options]) {
    return YES;
  }

  if ([RNGoogleSignin application:app openURL:url options:options]) {
    return YES;
  }

  if ([RCTLinkingManager application:app openURL:url options:options]) {
    return YES;
  }

  return NO;
}

- (BOOL)application:(UIApplication *)application continueUserActivity:(nonnull NSUserActivity *)userActivity
 restorationHandler:(nonnull void (^)(NSArray<id<UIUserActivityRestoring>> * _Nullable))restorationHandler
{
 return [RCTLinkingManager application:application continueUserActivity:userActivity restorationHandler:restorationHandler];
}

@end

Podfile

def node_require(script)
  # Resolve script with node to allow for hoisting
  require Pod::Executable.execute_command('node', ['-p',
    "require.resolve(
      '#{script}',
      {paths: [process.argv[1]]},
    )", __dir__]).strip
end

node_require('react-native/scripts/react_native_pods.rb')
node_require('react-native-permissions/scripts/setup.rb')

platform :ios, '13.0'
prepare_react_native_project!
use_modular_headers!

# ⬇ uncomment wanted permissions (don't forget to remove the last comma)
setup_permissions([
  # 'AppTrackingTransparency',
  # 'BluetoothPeripheral',
  # 'Calendars',
  # 'Camera',
  # 'Contacts',
  # 'FaceID',
  'LocationAccuracy',
  # 'LocationAlways',
  'LocationWhenInUse'
  # 'MediaLibrary',
  # 'Microphone',
  # 'Motion',
  # 'Notifications',
  # 'PhotoLibrary',
  # 'PhotoLibraryAddOnly',
  # 'Reminders',
  # 'SpeechRecognition',
  # 'StoreKit'
])

# If you are using a `react-native-flipper` your iOS build will fail when `NO_FLIPPER=1` is set.
# because `react-native-flipper` depends on (FlipperKit,...) that will be excluded
#
# To fix this you can also exclude `react-native-flipper` using a `react-native.config.js`
# ```js
# module.exports = {
#   dependencies: {
#     ...(process.env.NO_FLIPPER ? { 'react-native-flipper': { platforms: { ios: null } } } : {}),
# ```
flipper_config = ENV['NO_FLIPPER'] == "1" ? FlipperConfiguration.disabled : FlipperConfiguration.enabled

linkage = ENV['USE_FRAMEWORKS']
if linkage != nil
  Pod::UI.puts "Configuring Pod with #{linkage}ally linked Frameworks".green
  use_frameworks! :linkage => :static
end

target 'SampleApp' do
  config = use_native_modules!

  # Flags change depending on the env values.
  flags = get_default_flags()

  pod 'customerio-reactnative/fcm', :path => '../node_modules/customerio-reactnative'

  use_react_native!(
    :path => config[:reactNativePath],
    # Hermes is now enabled by default. Disable by setting this flag to false.
    # Upcoming versions of React Native may rely on get_default_flags(), but
    # we make it explicit here to aid in the React Native upgrade process.
    :hermes_enabled => true,
    :fabric_enabled => false,
    # Enables Flipper.
    #
    # Note that if you have use_frameworks! enabled, Flipper will not work and
    # you should disable the next line.
    #:flipper_configuration => flipper_config,
    # An absolute path to your application root.
    :app_path => "#{Pod::Config.instance.installation_root}/.."
  )

  pod 'Firebase'
  pod 'FirebaseCoreInternal'
  pod 'GoogleUtilities'
  pod 'FirebaseCore'
  pod 'FirebaseCoreExtension'
  pod 'FirebaseABTesting'
  pod 'FirebaseInstallations'
  pod 'GoogleDataTransport'
  pod 'FirebaseSessions'
  pod 'nanopb'
  pod 'AppAuth'
  pod 'GTMSessionFetcher'

  pod 'react-native-fbsdk-next', :path => '../node_modules/react-native-fbsdk-next'
  pod 'react-native-date-picker', :path => '../node_modules/react-native-date-picker'
  pod 'react-native-blob-util', :path => '../node_modules/react-native-blob-util'

  target 'SampleAppTests' do
    inherit! :complete
    # Pods for testing
  end
  ENVFILES = {
    'Prod' => '$(PODS_ROOT)/../../.env.production',
  }

  post_install do |installer|
    react_native_post_install(
      installer,
      config[:reactNativePath],
      :mac_catalyst_enabled => false
    )
    __apply_Xcode_12_5_M1_post_install_workaround(installer)
    installer.pods_project.targets.each do |target|
      target.build_configurations.each do |config|
        if target.name == 'react-native-config'
          config.build_settings['ENVFILE'] = ENVFILES[config.name]
        end
      end
    end
  end
end

target 'ImageNotification' do
  pod 'Firebase', :modular_headers => true
  pod 'FirebaseCoreInternal', :modular_headers => true
  pod 'GoogleUtilities', :modular_headers => true
  pod 'FirebaseCore', :modular_headers => true
  pod 'FirebaseCoreExtension', :modular_headers => true
  pod 'Firebase/Messaging', :modular_headers => true # eg 6.31.0
end

target 'NotificationServiceExtension' do
  pod 'customerio-reactnative-richpush/fcm', :path => '../node_modules/customerio-reactnative'
end

Try this patch and see if it works after :) Swizzling is not easy
customerio-expo-plugin+1.0.0-beta.15.patch

Closing issue due to inactivity.
Feel free to add new comments and we would be happy to re-open and help.


Add support for ANY method

functions:
  foo:
    handler: handler.foo
    events:
      - http:
          path: '/foo'
          method: any

ANY Method – Instead of specifying individual behaviors for each HTTP method (GET, POST, PUT, and so forth) you can now use the catch-all ANY method to define the same integration behavior for all requests.

source: https://aws.amazon.com/blogs/aws/api-gateway-update-new-features-simplify-api-development/
Supplement #80 with covering test.
And...⚠  second commit also prevent OPTIONS handlers to always be created, but instead only create handler when cors: true is set. From my test this would be more close to AWS, even if express has some default automatic OPTIONS handlers (see https://github.com/expressjs/express/issues/2246). [needs-discussion]?

@nrako  It would be great if you could comment in #135 if you use the serve functionality or not, so that we can decide how to proceed there.

@HyperBrain I haven't circled around serverless-webpack much lately. Looks like serverless-offline could be the way to go, but I can't really give a well-thought opinion on the serve functionality. In any case feel free to close the PR if necessary.

@nrako Thanks for coming back. A lot of other people in the community work with serverless-offline together with serverless-webpack and it shows out that the offline plugin (which is centrally built around offline emulation) does the job pretty well and better than serve.
We will concentrate on the packaging and let the emulation stuff for plugins which are solely made for that 😄 .

serve will be removed in the next v3.0.0 release in favor of serverless-offline (see #152 ). No efforts will be spent on the function anymore. So I'll close this issue.


Linkify icon misswords.

Hi first of all awesome library.
Well after testing this library on my  project i noticed that you guys have on the icon.html page  this html markup to use the link icon

and it dosnt works, it works like this.

Its just a little typo but it will be nice to fix it to don't confuse newcomers like me =p

Thanks, it's definitely incorrect

Fixed in docs


touch doesn't use interrupt wire

Is there a reason why the reading of the touch chip interrupt line is commented out here? Seems to burn cycles when nothing is pressed.
bool touch::ispressed()
{
    //bool touch;
    uint16_t pos_x,pos_y;
    //touch = ( digitalRead(39) == LOW ) ? true : false;
    if(  readTouchtoBuff(&pos_x,&pos_y) == 0x02 )
    {
        return true;
    }
    else
    {
        return false;
    }

    return false;
}

The INT on the FT6336U gives a pulsed signal by default.
By manipulating the register of the FT6336U, switch between LOW and HIGH in conjunction with touch.
I solved that with pull request #3 .

Yeah. I wrote a whole new version of the touch driver that supports two touches as well as a TouchButton library to provide Arduino style buttons. Hope to incorporate gestures soon. See PR https://github.com/m5stack/M5Core2/pull/9.
(I was thinking for a moment of making the touch driver an interrupt driven, but that can't be done as it has no way of knowing what else is going on on that I2C bus.)


Different input resolution?

Hi there,
I managed to train the model correctly on my dataset and I pretty happy about results.
I would like now to use as input an image with higher resolution. In what way should I change the network architecture?

Hi, a very interesting question. To be honest, I'm not sure which part of the network needs to be modified accordingly. Do you have some findings to share? For example, the efficiency problem after increased the resolution? Thanks.

Not really, I used the standard format 640x480. But it is definitely something to investigate. Especially for small pieces, better resolution might imply better performances.


{pending} from useAsyncData always true though set { immediate: false }

Environment
Nuxt project info:                                                    18:58:57

Operating System: Linux
Node Version:     v16.13.0
Nuxt Version:     3.2.0
Nitro Version:    2.2.1
Package Manager<EMAIL_ADDRESS>Builder:          vite
User Config:      srcDir, modules, alias, app, components, vite, pinia, ssr
Runtime Modules<EMAIL_ADDRESS><EMAIL_ADDRESS>Build Modules:    -

Reproduction
I will provide tomorrow in office
Describe the bug
const { data, refresh, pending } = useAsyncData(
  `taxstatus-${props.rfc}`,
  () =>
    props.type === "PM"
      ? getPMTaxStatus(props.rfc, props.password)
      : getPFTaxStatus(props.rfc, props.password),
  { immediate: false }
);

The pending is always true.
Additional context
No response
Logs
No response

useAsyncData returns Promise, you forgot prepend await.
const { data, refresh, pending } = await useAsyncData(..

I think the issue is the same as https://github.com/nuxt/nuxt/issues/15714.
Here's our plan and reasoning: https://github.com/nuxt/nuxt/issues/18810.

@danielroe Oh sorry I've searched the pending issue but not found that one already exists.
Thanks.


add module:make-request

hello dear
it's better to add module:make-request to project :)
thank you

Hello,
Good idea, pull request welcome.

thank you , but "create pull request" button is disabled for me

@hamrahpay you are doing the right way.?

thank you , but "create pull request" button is disabled for me

You have forked the repo?
Refs: Creating a pull request and Creating a pull request from a fork

You can probably close this ticket @nWidart as the functionality exists.

Indeed!, thanks for bringing this up. 👍


[QUESTION] Simplification of Equation 7.1?

In Chapter 7 on AdaBoost, the equation (7.1) for the weighted error rate of the j-th predictor is from my understanding, the sum of the weights of the incorrectly classified samples divided by the sum of all weights. However, since these weights are normalized (as per equation 7.3), there isn't any reason to divide by the sum of all weights as that will always be 1. Is this correct or am missing something?

Hi @claudio525 ,
Thanks for your feedback. You're right, equation 7.1 can be simplified by removing the denominator, since it's always equal to 1 due to the normalization step.
I'll update the book. Thanks again! 👍


Possible typo in tutorial, doesn't make sense to me

On this page http://stablekernel.github.io/aqueduct/tut/deploying-and-other-fun-things.html, just under the line "GRANT CONNECT ON DATABASE quiz TO quiz_app;", there is a line that start with a small dark rectangle with a backslash inside, followed by a "c". The HTML code for that rectangle is \. I cannot make any sense of it. Is it a typo?

It seems it should have been a plain \c quiz. When I tried that, I got You are now connected to database "quiz" as user .... And then \dtworks fine.

Fixed


[Question] Does this work with github groups?

I would like to mention a github group for review instead of an individual user, does this library support that? In my testing, it does not seem to.

Hi, any update on this matter? :)

Sorry for late reply.
Just released https://github.com/shufo/auto-assign-reviewer-by-files/releases/tag/v1.1.4 with team reviewers support.


Deployment

Hi,
First of all great initiative, secondly I've encountered a few issues.
Issue 1) Deployment failes due to line containing Import-DscResource -ModuleName 'xWebAdministration' -ModuleVersion '<IP_ADDRESS>', worked around by simply removing -Moduleversion parameter
Issue 2)
Application startup exception: System.NullReferenceException: Object reference not set to an instance of an object.
at CertificateManager.Startup.ConfigureServices(IServiceCollection services)
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at Microsoft.AspNetCore.Hosting.ConventionBasedStartup.ConfigureServices(IServiceCollection services)
at Microsoft.AspNetCore.Hosting.Internal.WebHost.EnsureApplicationServices()
at Microsoft.AspNetCore.Hosting.Internal.WebHost.BuildApplication()
Hosting environment: Production
Content root path: c:\Program Files\CertificateManager
Now listening on: http://localhost:14455
Application started. Press Ctrl+C to shut down.
Application is shutting down...
I have not managed to solve it, any ideas?

Hi, my apologies for the delayed response. I haven't had time to work on this project since I'm no longer in a windows environment. I don't have a solution for you, but I do want to return to this project at some point.

No worries I solved it :). Will post solution a bit later.

Hi! I'm not sure if this app is still useful, but I think I fixed the deployment issue, at least in my testing on server 2016. I updated the README with new instructions. There was one final step that I forget to mention, which is to navigate to the /initial-setup endpoint to get everything configured, and after that, it should restart and bring you to a login page. The release and deploy workflow is very outdated unfortunately.
There are many outstanding issues with the current state of the app, so I wouldn't really recommend this in a production scenario at the moment. My plan is to rewrite this in Go and HTMX so it's a bit easier to maintain for anyone who is looking for a nice replacement for the retired server 2003 pki web app experience.
Thank you for your patience and interest in this hobby project of mine :smile:


feat(cli): better ux in account validation

This change will add a better user-experience to the lacework configure
command so that if the user provides the complete URL as the account
name we will subtract the account and notify the end-user:
$ lacework configure
Passing '.lacework.net' domain not required.

Closes https://github.com/lacework/go-sdk/issues/86
Signed-off-by: Salim Afiune Maya<EMAIL_ADDRESS>

@afiune The update is working for me, but I am still not sure about the user experience...
This line...
Account subtracted from URL 'tech-ally.lacework.net' (should only be the subdomain of URL)
...is not totally clear to me. I think the goal is to let the user know they don't need to pass .lacework.net so they don't do that again with other accounts they configure.
What about this?
Passing '.lacework.net' domain is not required. Using <account>
I think it is the language Account subtracted from URL that is not totally clear.

Sounds good. I'll update the message as suggested. 💯

@scottford-lw updated!


Crash in tranform_keys Presto lambda function

Bug description
A simple repro:
TEST_F(TransformKeysTest, evaluateSubsetOfRows) {
  // Test to verify that output complex vector of valid internal state is
  // generated when only a subset of the rows are evaluated. To simulate this,
  // the trailing rows are unselected to generate a keys vector of smaller size
  // so that indices for those rows would point to out of bounds location in
  // keys.
  vector_size_t size = 100;
  auto input = makeRowVector({
      makeMapVector<int64_t, int32_t>(
          size,
          [](auto row) { return row % 5; },
          [](auto row) { return row % 7; },
          [](auto row) { return row % 11; },
          nullEvery(13)),
  });

  // 33 (size / 3) bits are used, but a total of 64 bits are selected. There is
  // a tail of 31 selected bits.
  SelectivityVector inputRows(size / 3);

  auto result = evaluate<MapVector>(
      "transform_keys(c0, (k, v) -> k + 5)", input, inputRows);
  auto expectedResult = makeMapVector<int64_t, int32_t>(
      inputRows.size(),
      [](auto row) { return row % 5; },
      [](auto row) { return row % 7 + 5; },
      [](auto row) { return row % 11; },
      nullEvery(13));
  assertEqualVectors(expectedResult, result, inputRows);
}

TransformKeys::apply receives a map vector of size 100 with a SelectivityVector of size 33 and all rows [0, 32] selected. It evaluates lambda on 33 rows and produces a new keys vector of size 33. It then creates a new map vector of size 100 with keys vector of size 33. It uses addNullsForUnselectedRows to mark all rows outside of [0, 32] as null.
This should work, but addNullsForUnselectedRows fails to properly set rows outside of [0, 32] to null. It uses memcpy to copy SelectivityVectors bits into nulls buffer. It copies a few extra rows at the tail because 33 is not a multiple of 8. If these bits happen to be 1 (selected), the null buffer gets a few rows past row 32 marked as not-null. This results in an invalid MapVector and causes a crash in MapVector::canonicalize.
  memcpy(
      nulls->asMutable<uint64_t>(),
      rows.asRange().bits(),
      bits::nbytes(rows.end()));

A fix is to replace memcpy with bits::orBits: #9279
Also, there is no need to create MapVector of the original size. It is sufficient to create a vector of rows.end() size. Similarly, no need to allocate nulls buffer to fit original size bits. This optimization is in #9280
There are a few more places that use memcpy incorrectly. Need to fix these as well.

ZipWith.cpp
ArrayAggAggregate.cpp
MapAggAggregate.cpp
MapUnionAggregate.cpp
SetAggregates.cpp

CC: @bikramSingh91
System information
n/a
Relevant logs
No response

Usage of memcpy in the following places is ok. These places create nulls buffers with N entries and copy bits::nbytes(N) bytes. The extra tail bits are not valid in the nulls buffer and therefore their values do not matter. This is different from transformXxx functions where nulls buffers have N valid entries, but we copy bits::nbytes(M) bytes into it where M could be less than N in case rows after M have an error. In this case tail bits may fall within the valid range of the nulls buffer.

ZipWith.cpp
ArrayAggAggregate.cpp
MapAggAggregate.cpp
MapUnionAggregate.cpp
SetAggregates.cpp

That said, it would be nice to refactor this code to move the logic of creating nulls buffer with nulls for unselected rows into a shared place (a method on SelectivityVector?).

Fixed in #9279


Bug Report:

My version of Kade Engine won't compile. (1.5.4) this is the error

Considering you don't have linc_luajit installed in haxelib, or i'm wrong.

Considering you don't have linc_luajit installed in haxelib, or i'm wrong.

thanks it works now


Bug: No Vite v5 support

Info

Tool
Version

vite-plugin-time-reporter
v2.2.0

Vite
v5.0.0

Context
In order to upgrade to vite 5, I either need to wait or uninstall this plugin temporarily until there's support since the peerDependency does not include ^5.0.0

will set this on my todo list for tomorrow :+1:

@Shinigami92  😮 that was a quick response! Love it. Thank you so much!

support added via 82eda48


Fix Ingestion code

wrong syntax and missing variables

@danield137 : Thanks for your contribution! The author, @orspod, has been notified to review your proposed change.

#sign-off


feat: add JavaScript implementation for iter/cusome

Resolves #2334
Description

What is the purpose of this pull request?

This pull request:

Implementation of the iterCuSome function in the lib folder.
Documentation updates in the docs folder:

Added REPL usage examples to docs/repl.txt.
Created TypeScript type definitions in the docs/types folder.

Updated README.md.
Added benchmarks to the benchmark folder.
Added unit tests to the test folder.

Related Issues

Does this pull request have any related issues?

This pull request:

resolves #2334

Questions

Any questions for reviewers of this pull request?

No.
Other

Any other information relevant to this pull request? This may include screenshots, references, and/or implementation notes.

No.
Checklist

Please ensure the following tasks are completed before submitting this pull request.

[x] Read, understood, and followed the contributing guidelines.

@stdlib-js/reviewers

@TheNourhan I think you misunderstood the RFC. The iterator should never end until the source iterator ends. It should cumulatively test for at least n elements, forever returning true until the source iterator no longer has iterated values. See other cumulative iterators for an example.
Also, please ensure that your source implementation matches the style and conventions of other iterator packages.

@kgryte Sorry for the confusion, I've edited it

Additionally, CI failures also need to be addressed before this PR can be merged.

@kgryte I made all the changes you requested, I hope everything is fine now :)

If there something I can improve to move forward with the merger? @kgryte


Move MAC Addresses to full fields instead of attributes in Equipment

MAC address is an identifier for endpoints that we want to use to compare PEAKS data against scans of our network. In that context it would be great if MAC Addresses could be moved up to full fields (not as  dynamic attributes) for exporting ease rather than having to deal with data cleanup with attribute exports.  If we can't easily export PEAKS data with MAC addresses to pull into a local database to compare against scan data, we will likely continue to maintain local equipment databases, which is a time waster. If a one-to-many setup for equipment to MAC address is not feasible, then even if we just got MAC1, MAC2, MAC3, and MAC4 fields put in as full fields, that would help with exporting the data to run queries against scan data to find unmatched endpoints.

Votes: 6
Author: jruhe
Voters: jruhe,rcasteli,shchee,vanslyke,cfsiever,jlutang

We'll refactor the equipment reports to list MAC addr columns first among attributes so it should be easy to pull & determine mac for all computers.
Author: postit


Add Gradle plugin for build time infrastructure

The build time transformation infrastructure is currently being called by a Maven plugin. We need a Gradle equivalent for that.

Gradle sampleswebflux-kotlin and security-kotlin are disabled on the CI for now with a .ignore file, we should enable the CI build by removing those files when the Gradle support will be ready.


Migrate to v4

When upgrade to v4, the textStyle seems not to apply to the theme. Some screenshots below:
v3.2.1

v4

Do I need to rewrite the theme and restructure all of my components to make it compatible with the old styles?

Which version are you using? V4.0.1 fixed an issue with textStyle

Yes, I have installed v4.0.1 but the problem is still there.

Thanks, can you post a codesandbox for reproduction?


v2 Error

I'm running OnlyOffice in a docker on Unraid and have installed this plugin in the sdkjs-plugins directory. When I try to run the plugin I get the following error:
Error: You have '/v2/' in your path, but not at the root. Try an URL like 'http://server/v2/...'
I also have an instance of LanguageTool installed on my server in another docker and have tried changing the URL in the langTool.js script to point to that subdomain but the error still shows. Any ideas how to get it working? Thanks.

Is this problem actual only for languagetool plugin or any other
I don't think we have Unraid in our access, could you try to repoduce it with native docker setup (on Ubuntu for example)?

Wow, that was a much faster response than I expected. Thank you.
As an experiment I removed the docker I was using and tried a different, newer, one. The error went away and it looks like it works now. If anything changes I'll be sure to let you know. Thanks again.

I also had the same problem with this image: https://github.com/Erikvl87/docker-languagetool so I changed the URLs to:
https://languagetool.org/v2/check
omitting the “API” part, and it's all working now. Just commenting here in case someone else has the same problem.


revamped conftest into helpful_scripts

Addresses https://github.com/smartcontractkit/chainlink-mix/issues/10


Merge broadcast_like docstrings, analyze implementation problem

This PR fixed the forked code connected to #3129.

[x] Closes #3129
[x] Tests added
[x] Fully documented, including whats-new.rst for all changes and api.rst for new API

Hello @DavidMertz! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file xarray/core/dataarray.py:

Line 999:24: E128 continuation line under-indented for visual indent
Line 1000:24: E128 continuation line under-indented for visual indent

In the file xarray/tests/test_dataarray.py:

Line 1266:1: W293 blank line contains whitespace
Line 1278:1: W293 blank line contains whitespace

Thanks @DavidMertz
Line 2042 of dataset.py should be
return _broadcast_helper(args[1], exclude, dims_map, common_coords) i.e. args[1] instead of self.
Can you make that change (and the same change in dataarray.py, Line 1019)?

Made changes suggested by @dcherian. This resolves the detected bug in the test.  If CI passes, this should be ready to merge.

Thanks for catching that @DavidMertz. Can you add back the original, simpler test too? This one is really just testing align. You could use @pytest.mark.parametrize to provide two different sets of arr1, arr2 arguments.

thanks @DavidMertz and @dcherian !