cannot start sync slam on a remote pc

Please provide the following information:

OS: Ubuntu 20.04.05 LTS
ROS Distro: Galactic
Built from source or installed: installed according to the official documentation
Package version: ros-galactic-turtlebot4-navigation (0.1.2-1focal.20220922.210710)

Expected behaviour
A map should be created and updated in rviz2
Actual behaviour
According to the turtlebot4 user manual I try to start slam_sync.launch.py on a remote pc, but I get the following error repeatedly:
[sync_slam_toolbox_node-1] [INFO] [1665068583.432561558] [slam_toolbox]: Message Filter dropping message: frame 'rplidar_link' at time<PHONE_NUMBER>.845 for reason 'discarding message because the queue is full'

When executing view_robot.launch.py, in another terminal, the following errors are shown, repeatedly:
[rviz2-1] [INFO] [1665068580.660212631] [rviz2]: Message Filter dropping message: frame 'rplidar_link' at time<PHONE_NUMBER>,397 for reason 'discarding message because the queue is full'
[rviz2-1] Warning: Invalid frame ID "wheel_drop_left" passed to canTransform argument source_frame - frame does not exist
[rviz2-1]          at line 156 in /tmp/binarydeb/ros-galactic-tf2-0.17.4/src/buffer_core.cpp
[rviz2-1] Warning: Invalid frame ID "wheel_drop_right" passed to canTransform argument source_frame - frame does not exist
[rviz2-1]          at line 156 in /tmp/binarydeb/ros-galactic-tf2-0.17.4/src/buffer_core.cpp
[rviz2-1] Warning: Invalid frame ID "wheel_drop_left" passed to canTransform argument source_frame - frame does not exist
[rviz2-1]          at line 156 in /tmp/binarydeb/ros-galactic-tf2-0.17.4/src/buffer_core.cpp
[rviz2-1] Warning: Invalid frame ID "wheel_drop_right" passed to canTransform argument source_frame - frame does not exist
[rviz2-1]          at line 156 in /tmp/binarydeb/ros-galactic-tf2-0.17.4/src/buffer_core.cpp
[rviz2-1] [INFO] [1665068581.171618589] [rviz2]: Message Filter dropping message: frame 'rplidar_link' at time<PHONE_NUMBER>,532 for reason 'discarding message because the queue is full'
[rviz2-1] Warning: Invalid frame ID "wheel_drop_left" passed to canTransform argument source_frame - frame does not exist
[rviz2-1]          at line 156 in /tmp/binarydeb/ros-galactic-tf2-0.17.4/src/buffer_core.cpp
[rviz2-1] Warning: Invalid frame ID "wheel_drop_right" passed to canTransform argument source_frame - frame does not exist
[rviz2-1]          at line 156 in /tmp/binarydeb/ros-galactic-tf2-0.17.4/src/buffer_core.cpp
[rviz2-1] Warning: Invalid frame ID "wheel_drop_left" passed to canTransform argument source_frame - frame does not exist
[rviz2-1]          at line 156 in /tmp/binarydeb/ros-galactic-tf2-0.17.4/src/buffer_core.cpp
[rviz2-1] Warning: Invalid frame ID "wheel_drop_right" passed to canTransform argument source_frame - frame does not exist
[rviz2-1]          at line 156 in /tmp/binarydeb/ros-galactic-tf2-0.17.4/src/buffer_core.cpp
[rviz2-1] [INFO] [1665068581.612268664] [rviz2]: Message Filter dropping message: frame 'rplidar_link' at time<PHONE_NUMBER>,060 for reason 'discarding message because the queue is full'

Starting sync SLAM on the Raspberry directly is creating the map as expected, with no errors.
To Reproduce
Provide the steps to reproduce:

On the remote PC run

ros2 launch turtlebot4_navigation slam_sync.launch.py

On the remote PC, in another terminal, run

ros2 launch turtlebot4_viz view_robot.launch.py

see the error

Other notes

When rviz2 is started i can see a static map, which will never get updated. In the TF-tree map and odom is in state Transform OK the rest shows No transform from ...
On the remote PC i can echo lidar data, running ros2 topic echo /scan
Both, the Raspberry and the remote PC, are connected to the same router via 5GHz-WLAN.
Time is in sync on the Raspberry and the remote PC with the following command sudo ntpdate ntp.ubuntu.com

rviz2:

Best regards
Tim

@timbo-r Is your Create3 connected to a 2.4GHz WiFi that is bridged with the 5GHz? Are you able to see topics such as /odom from your remote PC?

Hi @roni-kreinin,
thank you for the quick response. Yes that is right: The Create3 is connected to the same WIFI (2.4GHz) as the Raspberry and the remote PC (5GHz). Also these are the only devices connected to the router, because it is a test environment dedicated to turtlebot scenarios. I can confirm that I can echo the odom data with ros2 topic echo /odom while controlling the robot via ros2 run teleop_twist_keyboard teleop_twist_keyboard.
ros2 topic echo /odom

---
header:
  stamp:
    sec:<PHONE_NUMBER>
    nanosec: 62158851
  frame_id: odom
child_frame_id: base_link
pose:
  pose:
    position:
      x: -0.932745099067688
      y: 0.1608704924583435
      z: 0.0011600771686062217
    orientation:
      x: -0.006052435375750065
      y: 0.004871389828622341
      z: -0.9843089580535889
      w: 0.1762823462486267
  covariance:
  - 0.0
  - 0.0
  - 0.0
  - 0.0
  - 0.0
  - 0.0
  - 0.0
  - 0.0
  - 0.0
  - 0.0
[...]

Are you running this on a VM or old hardware? If you are getting the discarding message because the queue is full message repeatedly then it may be that slam_toolbox is not able to calculate fast enough. Can you try running slam_async.launch.py on your remote PC and see if you get the same issue?

Yes, you're right: the remote PC is running in a VM.
When running ros2 launch turtlebot4_navigation slam_async.launch.py, the error is the same as before:
[async_slam_toolbox_node-1] [INFO] [1665088015.191098923] [slam_toolbox]: Message Filter dropping message: frame 'rplidar_link' at time<PHONE_NUMBER>.055 for reason 'discarding message because the queue is full'
[async_slam_toolbox_node-1] [INFO] [1665088015.330901187] [slam_toolbox]: Message Filter dropping message: frame 'rplidar_link' at time<PHONE_NUMBER>.190 for reason 'discarding message because the queue is full'
[async_slam_toolbox_node-1] [INFO] [1665088015.484252599] [slam_toolbox]: Message Filter dropping message: frame 'rplidar_link' at time<PHONE_NUMBER>.325 for reason 'discarding message because the queue is full'
[async_slam_toolbox_node-1] [INFO] [1665088015.584534679] [slam_toolbox]: Message Filter dropping message: frame 'rplidar_link' at time<PHONE_NUMBER>.448 for reason 'discarding message because the queue is full'
[async_slam_toolbox_node-1] [INFO] [1665088015.719445599] [slam_toolbox]: Message Filter dropping message: frame 'rplidar_link' at time<PHONE_NUMBER>.583 for reason 'discarding message because the queue is full'
[async_slam_toolbox_node-1] [INFO] [1665088015.854575600] [slam_toolbox]: Message Filter dropping message: frame 'rplidar_link' at time<PHONE_NUMBER>.718 for reason 'discarding message because the queue is full'
[async_slam_toolbox_node-1] [INFO] [1665088015.994820038] [slam_toolbox]: Message Filter dropping message: frame 'rplidar_link' at time<PHONE_NUMBER>.853 for reason 'discarding message because the queue is full'

And in the terminal running rviz with ros2 launch turtlebot4_viz view_robot.launch.py:
[rviz2-1] [INFO] [1665088016.815656080] [rviz2]: Message Filter dropping message: frame 'rplidar_link' at time<PHONE_NUMBER>,448 for reason 'discarding message because the queue is full'
[rviz2-1] Warning: Invalid frame ID "wheel_drop_left" passed to canTransform argument source_frame - frame does not exist
[rviz2-1]          at line 156 in /tmp/binarydeb/ros-galactic-tf2-0.17.4/src/buffer_core.cpp
[rviz2-1] Warning: Invalid frame ID "wheel_drop_right" passed to canTransform argument source_frame - frame does not exist
[rviz2-1]          at line 156 in /tmp/binarydeb/ros-galactic-tf2-0.17.4/src/buffer_core.cpp
[rviz2-1] Warning: Invalid frame ID "wheel_drop_left" passed to canTransform argument source_frame - frame does not exist
[rviz2-1]          at line 156 in /tmp/binarydeb/ros-galactic-tf2-0.17.4/src/buffer_core.cpp
[rviz2-1] Warning: Invalid frame ID "wheel_drop_right" passed to canTransform argument source_frame - frame does not exist
[rviz2-1]          at line 156 in /tmp/binarydeb/ros-galactic-tf2-0.17.4/src/buffer_core.cpp
[rviz2-1] [INFO] [1665088016.973487700] [rviz2]: Message Filter dropping message: frame 'rplidar_link' at time<PHONE_NUMBER>,583 for reason 'discarding message because the queue is full'

Here is a screenshot of htop while running both commands:

From the slam_toolbox error messages it does seem that it is dropping every /scan message which is why the map doesn't update. Are you able to give the VM some more processing power?

I double the cores of the vm, but get the same errors ....
ros2 launch turtlebot4_navigation slam_async.launch.py

[async_slam_toolbox_node-1] [INFO] [1665089743.407484579] [slam_toolbox]: Message Filter dropping message: frame 'rplidar_link' at time<PHONE_NUMBER>.265 for reason 'discarding message because the queue is full'
[async_slam_toolbox_node-1] [INFO] [1665089743.539295579] [slam_toolbox]: Message Filter dropping message: frame 'rplidar_link' at time<PHONE_NUMBER>.401 for reason 'discarding message because the queue is full'
[async_slam_toolbox_node-1] [INFO] [1665089743.673941464] [slam_toolbox]: Message Filter dropping message: frame 'rplidar_link' at time<PHONE_NUMBER>.536 for reason 'discarding message because the queue is full'
[async_slam_toolbox_node-1] [INFO] [1665089743.809411586] [slam_toolbox]: Message Filter dropping message: frame 'rplidar_link' at time<PHONE_NUMBER>.671 for reason 'discarding message because the queue is full'
[async_slam_toolbox_node-1] [INFO] [1665089743.939112176] [slam_toolbox]: Message Filter dropping message: frame 'rplidar_link' at time<PHONE_NUMBER>.806 for reason 'discarding message because the queue is full'
[async_slam_toolbox_node-1] [INFO] [1665089744.067080610] [slam_toolbox]: Message Filter dropping message: frame 'rplidar_link' at time<PHONE_NUMBER>.929 for reason 'discarding message because the queue is full'
[async_slam_toolbox_node-1] [INFO] [1665089744.206619290] [slam_toolbox]: Message Filter dropping message: frame 'rplidar_link' at time<PHONE_NUMBER>.064 for reason 'discarding message because the queue is full'
[async_slam_toolbox_node-1] [INFO] [1665089744.337312966] [slam_toolbox]: Message Filter dropping message: frame 'rplidar_link' at time<PHONE_NUMBER>.199 for reason 'discarding message because the queue is full'
[async_slam_toolbox_node-1] [INFO] [1665089744.472001318] [slam_toolbox]: Message Filter dropping message: frame 'rplidar_link' at time<PHONE_NUMBER>.334 for reason 'discarding message because the queue is full'
[async_slam_toolbox_node-1] [INFO] [1665089744.607985702] [slam_toolbox]: Message Filter dropping message: frame 'rplidar_link' at time<PHONE_NUMBER>.469 for reason 'discarding message because the queue is full'

ros2 launch turtlebot4_viz view_robot.launch.py

[rviz2-1] Warning: Invalid frame ID "wheel_drop_right" passed to canTransform argument source_frame - frame does not exist
[rviz2-1]          at line 156 in /tmp/binarydeb/ros-galactic-tf2-0.17.4/src/buffer_core.cpp
[rviz2-1] [INFO] [1665089744.717440175] [rviz2]: Message Filter dropping message: frame 'rplidar_link' at time<PHONE_NUMBER>,265 for reason 'discarding message because the queue is full'
[rviz2-1] Warning: Invalid frame ID "wheel_drop_left" passed to canTransform argument source_frame - frame does not exist
[rviz2-1]          at line 156 in /tmp/binarydeb/ros-galactic-tf2-0.17.4/src/buffer_core.cpp
[rviz2-1] Warning: Invalid frame ID "wheel_drop_right" passed to canTransform argument source_frame - frame does not exist
[rviz2-1]          at line 156 in /tmp/binarydeb/ros-galactic-tf2-0.17.4/src/buffer_core.cpp
[rviz2-1] [INFO] [1665089744.868962972] [rviz2]: Message Filter dropping message: frame 'rplidar_link' at time<PHONE_NUMBER>,401 for reason 'discarding message because the queue is full'
[rviz2-1] Warning: Invalid frame ID "wheel_drop_left" passed to canTransform argument source_frame - frame does not exist
[rviz2-1]          at line 156 in /tmp/binarydeb/ros-galactic-tf2-0.17.4/src/buffer_core.cpp
[rviz2-1] Warning: Invalid frame ID "wheel_drop_right" passed to canTransform argument source_frame - frame does not exist
[rviz2-1]          at line 156 in /tmp/binarydeb/ros-galactic-tf2-0.17.4/src/buffer_core.cpp
[rviz2-1] [INFO] [1665089745.002023125] [rviz2]: Message Filter dropping message: frame 'rplidar_link' at time<PHONE_NUMBER>,536 for reason 'discarding message because the queue is full'
[rviz2-1] Warning: Invalid frame ID "wheel_drop_left" passed to canTransform argument source_frame - frame does not exist
[rviz2-1]          at line 156 in /tmp/binarydeb/ros-galactic-tf2-0.17.4/src/buffer_core.cpp
[rviz2-1] Warning: Invalid frame ID "wheel_drop_right" passed to canTransform argument source_frame - frame does not exist
[rviz2-1]          at line 156 in /tmp/binarydeb/ros-galactic-tf2-0.17.4/src/buffer_core.cpp
[rviz2-1] [INFO] [1665089745.131237899] [rviz2]: Message Filter dropping message: frame 'rplidar_link' at time<PHONE_NUMBER>,671 for reason 'discarding message because the queue is full'
[rviz2-1] Warning: Invalid frame ID "wheel_drop_left" passed to canTransform argument source_frame - frame does not exist
[rviz2-1]          at line 156 in /tmp/binarydeb/ros-galactic-tf2-0.17.4/src/buffer_core.cpp
[rviz2-1] Warning: Invalid frame ID "wheel_drop_right" passed to canTransform argument source_frame - frame does not exist
[rviz2-1]          at line 156 in /tmp/binarydeb/ros-galactic-tf2-0.17.4/src/buffer_core.cpp
[rviz2-1] [INFO] [1665089745.233205773] [rviz2]: Message Filter dropping message: frame 'rplidar_link' at time<PHONE_NUMBER>,806 for reason 'discarding message because the queue is full'

htop wile running both commands:

when running ros2 topic echo /scan i'm able to see the data of the lidar:
---
header:
  stamp:
    sec:<PHONE_NUMBER>
    nanosec: 660888106
  frame_id: rplidar_link
angle_min: -3.1241393089294434
angle_max: 3.1415927410125732
angle_increment: 0.008714509196579456
time_increment: 0.00018494343385100365
scan_time: 0.13297432661056519
range_min: 0.15000000596046448
range_max: 12.0
ranges:
- 0.3479999899864197
- 0.34200000762939453
- 0.34299999475479126
- 0.34299999475479126
- 0.34200000762939453
- 0.33899998664855957
- 0.33899998664855957
- 0.3409999907016754
- 0.3409999907016754
- 0.34200000762939453
- 0.34200000762939453
- 0.34299999475479126
- 0.34299999475479126
- 0.3449999988079071
- 0.34599998593330383
[...]

I had faced similar issue. I ran this command: ros2 launch turtlebot4_bringup rplidar.launch.py into RPI once or twice. It worked. Sometimes, I need to reset the whole network configuration. I am still trying understand the reason behind it.

Hi - Has there been any progress on this. I've seeing the same errors. If I run slam on the RPi or on my remote PC. Regardless of whether it's Async or not. The remote PC is more than powerful enough. Seems to be a bottleneck someplace.
Mark

Hi, I'm also getting same error as @timbo-r .
create3 and RPi are on  2.4GHz interface
Kindly help @roni-kreinin

iRobot has released G.4.3 firmware which has a "Restart ntpd" feature. I would recommend trying that to get the RPi and Create3 to sync.

I was able to test this scenario in a vm on another host with a befier cpu and the map was created without those errors mentioned above.
But I will try the new firmware ... thank you @roni-kreinin ....

I tried restarting ntpd also, still no luck @roni-kreinin

@Basavaraj-PN Does the robot sync if you reboot the robot through the webserver? Application -> Reboot Robot

No it's not syncing.

@roni-kreinin, did exactly you said still not working.

Feb 28 04:48:11 iRobot-0470DA18552547709DEE29B254217E87 user.notice ntpd: ntpd: bad address '3.irobot.pool.ntp.org'
Feb 28 04:48:13 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:449 errno:Address not available) route does not belong to main routing table
Feb 28 04:48:13 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:249 errno:Address not available) aos_net_parse_routes failed
Feb 28 04:48:13 iRobot-0470DA18552547709DEE29B254217E87 daemon.notice network[1468]: [INFO] (src/wifi_control.c:1542) have IP but have not read GW addr
Feb 28 04:48:13 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:449 errno:Address not available) route does not belong to main routing table
Feb 28 04:48:13 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:249 errno:Address not available) aos_net_parse_routes failed
Feb 28 04:48:15 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:449 errno:Address not available) route does not belong to main routing table
Feb 28 04:48:15 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:249 errno:Address not available) aos_net_parse_routes failed
Feb 28 04:48:15 iRobot-0470DA18552547709DEE29B254217E87 daemon.notice network[1468]: [INFO] (src/wifi_control.c:1542) have IP but have not read GW addr
Feb 28 04:48:15 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:449 errno:Address not available) route does not belong to main routing table
Feb 28 04:48:15 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:249 errno:Address not available) aos_net_parse_routes failed
Feb 28 04:48:16 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:449 errno:Address not available) route does not belong to main routing table
Feb 28 04:48:16 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:249 errno:Address not available) aos_net_parse_routes failed
Feb 28 04:48:16 iRobot-0470DA18552547709DEE29B254217E87 daemon.notice network[1468]: [INFO] (src/wifi_control.c:1542) have IP but have not read GW addr
Feb 28 04:48:16 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:449 errno:Address not available) route does not belong to main routing table
Feb 28 04:48:16 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:249 errno:Address not available) aos_net_parse_routes failed
Feb 28 04:48:16 iRobot-0470DA18552547709DEE29B254217E87 user.notice ntpd: ntpd: bad address '2.irobot.pool.ntp.org'
Feb 28 04:48:17 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:449 errno:Address not available) route does not belong to main routing table
Feb 28 04:48:17 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:249 errno:Address not available) aos_net_parse_routes failed
Feb 28 04:48:18 iRobot-0470DA18552547709DEE29B254217E87 daemon.notice network[1468]: [INFO] (src/wifi_control.c:1542) have IP but have not read GW addr
Feb 28 04:48:18 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:449 errno:Address not available) route does not belong to main routing table
Feb 28 04:48:18 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:249 errno:Address not available) aos_net_parse_routes failed
Feb 28 04:48:19 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:449 errno:Address not available) route does not belong to main routing table
Feb 28 04:48:19 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:249 errno:Address not available) aos_net_parse_routes failed
Feb 28 04:48:19 iRobot-0470DA18552547709DEE29B254217E87 daemon.notice network[1468]: [INFO] (src/wifi_control.c:1542) have IP but have not read GW addr
Feb 28 04:48:19 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:449 errno:Address not available) route does not belong to main routing table
Feb 28 04:48:19 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:249 errno:Address not available) aos_net_parse_routes failed
Feb 28 04:48:19 iRobot-0470DA18552547709DEE29B254217E87 daemon.info avahi-daemon[1223]: Joining mDNS multicast group on interface wlan0.IPv4 with address <IP_ADDRESS>.
Feb 28 04:48:19 iRobot-0470DA18552547709DEE29B254217E87 daemon.info avahi-daemon[1223]: New relevant interface wlan0.IPv4 for mDNS.
Feb 28 04:48:19 iRobot-0470DA18552547709DEE29B254217E87 daemon.info avahi-daemon[1223]: Registering new address record for <IP_ADDRESS> on wlan0.IPv4.
Feb 28 04:48:20 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:449 errno:Address not available) route does not belong to main routing table
Feb 28 04:48:20 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:249 errno:Address not available) aos_net_parse_routes failed
Feb 28 04:48:20 iRobot-0470DA18552547709DEE29B254217E87 daemon.notice network[1468]: [INFO] (src/wifi_control.c:1542) have IP but have not read GW addr
Feb 28 04:48:20 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:449 errno:Address not available) route does not belong to main routing table
Feb 28 04:48:20 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:249 errno:Address not available) aos_net_parse_routes failed
Feb 28 04:48:21 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:449 errno:Address not available) route does not belong to main routing table
Feb 28 04:48:21 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:249 errno:Address not available) aos_net_parse_routes failed
Feb 28 04:48:21 iRobot-0470DA18552547709DEE29B254217E87 daemon.notice network[1468]: [INFO] (src/wifi_control.c:1542) have IP but have not read GW addr
Feb 28 04:48:21 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:449 errno:Address not available) route does not belong to main routing table
Feb 28 04:48:21 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:249 errno:Address not available) aos_net_parse_routes failed
Feb 28 04:48:21 iRobot-0470DA18552547709DEE29B254217E87 user.notice ntpd: ntpd: bad address '1.irobot.pool.ntp.org'
Feb 28 04:48:22 iRobot-0470DA18552547709DEE29B254217E87 daemon.notice network[1468]: [INFO] (src/gateway_pinger.c:113) wifi is disconnected
Feb 28 04:48:22 iRobot-0470DA18552547709DEE29B254217E87 daemon.notice network[1468]: [INFO] (src/gateway_pinger.c:219) no gateway to ping
Feb 28 04:48:22 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:449 errno:Address not available) route does not belong to main routing table
Feb 28 04:48:22 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:249 errno:Address not available) aos_net_parse_routes failed
Feb 28 04:48:22 iRobot-0470DA18552547709DEE29B254217E87 daemon.notice network[1468]: [INFO] (src/wifi_control.c:1542) have IP but have not read GW addr
Feb 28 04:48:22 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:449 errno:Address not available) route does not belong to main routing table
Feb 28 04:48:22 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:249 errno:Address not available) aos_net_parse_routes failed
Feb 28 04:48:23 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:449 errno:Address not available) route does not belong to main routing table
Feb 28 04:48:23 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:249 errno:Address not available) aos_net_parse_routes failed
Feb 28 04:48:23 iRobot-0470DA18552547709DEE29B254217E87 daemon.notice network[1468]: [INFO] (src/wifi_control.c:1542) have IP but have not read GW addr
Feb 28 04:48:23 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:449 errno:Address not available) route does not belong to main routing table
Feb 28 04:48:23 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:249 errno:Address not available) aos_net_parse_routes failed
Feb 28 04:48:24 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:449 errno:Address not available) route does not belong to main routing table
Feb 28 04:48:24 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:249 errno:Address not available) aos_net_parse_routes failed
Feb 28 04:48:24 iRobot-0470DA18552547709DEE29B254217E87 daemon.notice network[1468]: [INFO] (src/wifi_control.c:1542) have IP but have not read GW addr
Feb 28 04:48:24 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:449 errno:Address not available) route does not belong to main routing table
Feb 28 04:48:24 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:249 errno:Address not available) aos_net_parse_routes failed
Feb 28 04:48:25 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:449 errno:Address not available) route does not belong to main routing table
Feb 28 04:48:25 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:249 errno:Address not available) aos_net_parse_routes failed
Feb 28 04:48:25 iRobot-0470DA18552547709DEE29B254217E87 daemon.notice network[1468]: [INFO] (src/wifi_control.c:1542) have IP but have not read GW addr
Feb 28 04:48:25 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:449 errno:Address not available) route does not belong to main routing table
Feb 28 04:48:25 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:249 errno:Address not available) aos_net_parse_routes failed
Feb 28 04:48:26 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:449 errno:Address not available) route does not belong to main routing table
Feb 28 04:48:26 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:249 errno:Address not available) aos_net_parse_routes failed
Feb 28 04:48:26 iRobot-0470DA18552547709DEE29B254217E87 daemon.notice network[1468]: [INFO] (src/wifi_control.c:1542) have IP but have not read GW addr
Feb 28 04:48:26 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:449 errno:Address not available) route does not belong to main routing table
Feb 28 04:48:26 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:249 errno:Address not available) aos_net_parse_routes failed
Feb 28 04:48:26 iRobot-0470DA18552547709DEE29B254217E87 user.notice ntpd: ntpd: bad address '0.irobot.pool.ntp.org'
Feb 28 04:48:26 iRobot-0470DA18552547709DEE29B254217E87 user.notice ntpd: ntpd: timed out waiting for <IP_ADDRESS>, reach 0x00, next query in 32s
Feb 28 04:48:27 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:449 errno:Address not available) route does not belong to main routing table
Feb 28 04:48:27 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:249 errno:Address not available) aos_net_parse_routes failed
Feb 28 04:48:27 iRobot-0470DA18552547709DEE29B254217E87 daemon.notice network[1468]: [INFO] (src/wifi_control.c:1542) have IP but have not read GW addr
Feb 28 04:48:27 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:449 errno:Address not available) route does not belong to main routing table
Feb 28 04:48:27 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:249 errno:Address not available) aos_net_parse_routes failed
Feb 28 04:48:28 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:449 errno:Address not available) route does not belong to main routing table
Feb 28 04:48:28 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:249 errno:Address not available) aos_net_parse_routes failed
Feb 28 04:48:28 iRobot-0470DA18552547709DEE29B254217E87 daemon.notice network[1468]: [INFO] (src/wifi_control.c:1542) have IP but have not read GW addr
Feb 28 04:48:28 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:449 errno:Address not available) route does not belong to main routing table
Feb 28 04:48:28 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:249 errno:Address not available) aos_net_parse_routes failed
Feb 28 04:48:29 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:449 errno:Address not available) route does not belong to main routing table
Feb 28 04:48:29 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:249 errno:Address not available) aos_net_parse_routes failed
Feb 28 04:48:29 iRobot-0470DA18552547709DEE29B254217E87 daemon.notice network[1468]: [INFO] (src/wifi_control.c:1542) have IP but have not read GW addr
Feb 28 04:48:29 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:449 errno:Address not available) route does not belong to main routing table
Feb 28 04:48:29 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:249 errno:Address not available) aos_net_parse_routes failed
Feb 28 04:48:30 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:449 errno:Address not available) route does not belong to main routing table
Feb 28 04:48:30 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:249 errno:Address not available) aos_net_parse_routes failed
Feb 28 04:48:30 iRobot-0470DA18552547709DEE29B254217E87 daemon.notice network[1468]: [INFO] (src/wifi_control.c:1542) have IP but have not read GW addr
Feb 28 04:48:30 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:449 errno:Address not available) route does not belong to main routing table
Feb 28 04:48:30 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:249 errno:Address not available) aos_net_parse_routes failed
Feb 28 04:48:31 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:449 errno:Address not available) route does not belong to main routing table
Feb 28 04:48:31 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:249 errno:Address not available) aos_net_parse_routes failed
Feb 28 04:48:31 iRobot-0470DA18552547709DEE29B254217E87 daemon.notice network[1468]: [INFO] (src/wifi_control.c:1542) have IP but have not read GW addr
Feb 28 04:48:31 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:449 errno:Address not available) route does not belong to main routing table
Feb 28 04:48:31 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:249 errno:Address not available) aos_net_parse_routes failed
Feb 28 04:48:32 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:449 errno:Address not available) route does not belong to main routing table
Feb 28 04:48:32 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:249 errno:Address not available) aos_net_parse_routes failed
Feb 28 04:48:32 iRobot-0470DA18552547709DEE29B254217E87 daemon.notice network[1468]: [INFO] (src/wifi_control.c:1542) have IP but have not read GW addr
Feb 28 04:48:32 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:449 errno:Address not available) route does not belong to main routing table
Feb 28 04:48:32 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:249 errno:Address not available) aos_net_parse_routes failed
Feb 28 04:48:33 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:449 errno:Address not available) route does not belong to main routing table
Feb 28 04:48:33 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:249 errno:Address not available) aos_net_parse_routes failed
Feb 28 04:48:33 iRobot-0470DA18552547709DEE29B254217E87 daemon.notice network[1468]: [INFO] (src/wifi_control.c:1542) have IP but have not read GW addr
Feb 28 04:48:33 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:449 errno:Address not available) route does not belong to main routing table
Feb 28 04:48:33 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:249 errno:Address not available) aos_net_parse_routes failed
Feb 28 04:48:34 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:449 errno:Address not available) route does not belong to main routing table
Feb 28 04:48:34 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:249 errno:Address not available) aos_net_parse_routes failed
Feb 28 04:48:34 iRobot-0470DA18552547709DEE29B254217E87 daemon.notice network[1468]: [INFO] (src/wifi_control.c:1542) have IP but have not read GW addr
Feb 28 04:48:34 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:449 errno:Address not available) route does not belong to main routing table
Feb 28 04:48:34 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:249 errno:Address not available) aos_net_parse_routes failed
Feb 28 04:48:35 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:449 errno:Address not available) route does not belong to main routing table
Feb 28 04:48:35 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:249 errno:Address not available) aos_net_parse_routes failed
Feb 28 04:48:35 iRobot-0470DA18552547709DEE29B254217E87 daemon.notice network[1468]: [INFO] (src/wifi_control.c:1542) have IP but have not read GW addr
Feb 28 04:48:35 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:449 errno:Address not available) route does not belong to main routing table
Feb 28 04:48:35 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:249 errno:Address not available) aos_net_parse_routes failed
Feb 28 04:48:36 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:449 errno:Address not available) route does not belong to main routing table
Feb 28 04:48:36 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:249 errno:Address not available) aos_net_parse_routes failed
Feb 28 04:48:36 iRobot-0470DA18552547709DEE29B254217E87 daemon.notice network[1468]: [INFO] (src/wifi_control.c:1542) have IP but have not read GW addr
Feb 28 04:48:36 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:449 errno:Address not available) route does not belong to main routing table
Feb 28 04:48:36 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:249 errno:Address not available) aos_net_parse_routes failed
Feb 28 04:48:37 iRobot-0470DA18552547709DEE29B254217E87 user.notice mosquitto:<PHONE_NUMBER>: New connection from <IP_ADDRESS> on port 1883.
Feb 28 04:48:37 iRobot-0470DA18552547709DEE29B254217E87 user.notice mosquitto:<PHONE_NUMBER>: New client connected from <IP_ADDRESS> as mosqpub/2062-iRobot-047 (c1, k60).
Feb 28 04:48:37 iRobot-0470DA18552547709DEE29B254217E87 user.notice mosquitto:<PHONE_NUMBER>: Client mosqpub/2062-iRobot-047 disconnected.
Feb 28 04:48:37 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:449 errno:Address not available) route does not belong to main routing table
Feb 28 04:48:37 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:249 errno:Address not available) aos_net_parse_routes failed
Feb 28 04:48:37 iRobot-0470DA18552547709DEE29B254217E87 daemon.notice network[1468]: [INFO] (src/wifi_control.c:1542) have IP but have not read GW addr
Feb 28 04:48:37 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:449 errno:Address not available) route does not belong to main routing table
Feb 28 04:48:37 iRobot-0470DA18552547709DEE29B254217E87 daemon.err network[1468]: [ERROR] (src/aos_net.c:249 errno:Address not available) aos_net_parse_routes failed
Feb 28 04:48:42 iRobot-0470DA18552547709DEE29B254217E87 daemon.notice network[1468]: [INFO] (src/gateway_pinger.c:169) ready to ping using sudo arping -Iwlan0 -c1 <IP_ADDRESS> -w 2
Feb 28 04:48:44 iRobot-0470DA18552547709DEE29B254217E87 user.notice create-platform: [INFO] [1677559724.164877297] [system_health]: CPU usage: max 100 [%] mean 100 [%] RAM usage: 29/59 [MB]
Feb 28 04:48:44 iRobot-0470DA18552547709DEE29B254217E87 user.notice create-platform: Restarting create-platform
Feb 28 04:48:46 iRobot-0470DA18552547709DEE29B254217E87 user.notice create-platform: [INFO] [1677559726.899081992] [create-platform]: Received termination signal 15
Feb 28 04:48:46 iRobot-0470DA18552547709DEE29B254217E87 user.notice create-platform: [INFO] [1677559726.899271031] [create-platform]: Shutting down nodes
Feb 28 04:48:47 iRobot-0470DA18552547709DEE29B254217E87 user.notice create-platform: [INFO] [1677559727.017359043] [create-platform]: Shutdown mobility node

Can i know is the issue is solved for anyone?  I'm in a but urgency.  I can't sync lidar data. Please help. I'm getting the same message in terminal.

Actually I'm having the same issue. Would love to hear how others solved this.

This issue is being closed due to inactivity. If you are still experiencing the issue, feel free to reopen this ticket when you are ready to continue the troubleshooting process.

facing the same issue    [rviz2-1] [INFO] [1665068581.612268664] [rviz2]: Message Filter dropping message: frame 'rplidar_link' at time<PHONE_NUMBER>,060 for reason 'discarding message because the queue is full   help me to resolve


Dark theme issue 2.0

Rancher versions: 2.0 master 1/31
Results:

[x] Preferences - Line separating username and preferences is too dark and you can't see it.

[x] API Key created modal - copy to clipboard color is light blue and you can barely see it against the dark grey background

[x] Lines in item menu are dark black and you can't see them

[x] In edit, field you can't modify are not showing up as fields?

[x] Custom role modal in Add/Edit Cluster/Project needs to be fixed

@tfiduccia the edit view name is styled that way to indicate that is not editable in any way. If we had a disabled field around it it'd suggest that there would be a way to edit it.

Last issue still needs fixing.

Version - 2.0 master 3/2
Verified fixed


Consider exporting the mySQL type

Would you consider exporting the mySQL type? I understand the plans to refactor this into an interface to support multiple database engines, but for now I think it would be good to be able to see the documentation, since you already wrote it. It's a shame not being able to see it :smile:

Please, explain your use-case.

I did. Just to be able to see the API on godoc.org

You can still see it through the source-code. I just don't want to export this type. Sorry.

Sure, np.


Replace oauth2client by google-auth

As mentioned in https://github.com/google/oauth2client, oauth2client is now deprecated and Google recommends using google-auth (https://github.com/GoogleCloudPlatform/google-auth-library-python).
This PR replaces all usages of oauth2client bygoogle-auth
Description
oauth2client was only used to get the application default login. The PR replaces the call to the equivalent call in google-auth, and changes the documentation to match.
Motivation and Context
I had problems using Luigi with the latest version of oauth2client. Rather than downgrading, I decided to update the code.
Have you tested this? If so, how?
I am using the contrib modules gcs and gcp in production. I have no use of the other modules, however, and did not test the changes in those. The changes in the other modules are exactly the same as gcs and gcp, but I would really appreciate it if someone who makes use of these modules could confirm that nothing broke!

This PR is changing a module I don't know so much about. Can you do a git blame and look for other contributors who have edited those files and @-mention them to summon them as reviewers of this patch? Once others +1. I can help press "merge".

@constantijn @freider @mikekap Does it seem to make sense to you?
Thanks!

While it is not directly related, maybe google/google-api-python-client#299 could be handled at the same time (because it touches the very same codepath)? It should be as simple as passing cache_discovery=False when performing discovery.build(). This issue leads to a loud log noise without an old oauth2client version installed (which is about to become even more common after this change).

I don't use Luigi at my current customer. The part that I wrote (the Dataproc plugin) has only 1 line changed and that line looks good to me.

My only concern is: given there’s no flavors of Luigi, this is effectively a breaking change. Would it make sense to fall back to oauth2client with a loud warning if the new lib isn’t installed?

Is there any user-required action other than installing the correct library?
If not, i'd say force the change and make a huge note of it in the release notes for 2.7.3 (or whichever next version after this PR is merged).

They're all in try: except ImportError: blocks. If you're not using any google cloud specific tasks you won't even notice.

@dlstadther No, there is no user-required action. The two API calls do the same thing, that is try and get the current gcloud application default login on the system.


HDDS-9157. [Snapshot] Print correct snapshot path in fs -createSnapshot

What changes were proposed in this pull request?

Correctly print snapshot path when subdirectories are specified during snapshot creation with fs -createSnapshot.

cc @hemantk-12
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-9157
How was this patch tested?

Added new test case in TestOzoneFsSnapshot.

Thanks @aswinshakil @swamirishi for reviewing this!


MythicMobs objectives no longer work.

What is your Quests version / build number (do not say "latest")?
3.6.1
Describe the problem and how to replicate it. Any console errors to post using Pastebin.com?
Error in console and mythic mobs no objectives longer works.  I used latest version available for the mythicmobs module which is labeled 3.27 to 3.5.9 the link for 3.6.0 and above is a dead link.
If applicable, can you provide an example quest from quests.yml using Pastebin.com?
https://pastebin.com/8rZuJn1r

The last version Of MMObjectives is compatible with Dev quests ... i use it with Quests 3.6.1 Dev build 644

Although @tiradorus didn't set up the link correctly (clicking it takes users to the wrong page), copy and pasting it into your browser will bring OP to the right place.
Solution is to download the most recent version of the module.


Obtain 1ES exception for CodeQL/ESLint enforcement

Example codeQL Timeout
This task is on hold until this official process is rolled out,

Once you add justification, 1ES PT disables the corresponding tool immediately to unblock your pipeline. 1ES PT is currently working on enabling the following process, which will be rolled out early February 2024.

Owning service gets notified of SDL Exceptions via S360 including the justification provided.
Business stakeholder (VP or above) needs to sign-off the S360 item within 48 hours with a grace period.
If sign-off does not happen or grace period expires, 1ES PT will break the pipeline.
Once SDL tool issue is mitigated, remove the yaml snippet (both enabled and justificationForDisabling) to re-enable the tool and close the S360 item.

This is still not present, reaching out to 1ES folks to confirm.

Asked 1ES this question


Add an "Are you sure?" dialog for appropriate admin level changes

If an Admin on the "Manage Members" page selects to upgrade a non-admin to an admin, pop up a modal asking them to confirm:
Figma tbd

closed by https://github.com/covid19risk/permission-portal/pull/259


Restore support for --objc-base-lib-include-prefix.

--objc-base-lib-include-prefix was available in dropbox/djinni to allow for base-library files to be placed in different locations than default CMake install roots.  This is necessary for in source builds.

@ngmeyer , I appreciate you enthusiasm and I am very thankful about your drive to contribute,
but I would wish you discuss things with us upfront since this might avoid some confusion, and maybe even frustration.
We will not restore this flag, it is not needed. The include path in the support lib has been adopted so only the folder where the djinni root include dir is needs to be found by the compiler.
See for example the generated include path here: https://github.com/cross-language-cpp/djinni-generator/blob/5644f72ab05cd722f05a398fcde18a1f0df300dc/src/it/resources/expected/my_record/objcpp/ITMyRecord%2BPrivate.mm#L5
The dropbox support lib had different include paths.
When we remove it we were aware that this might be a surprise for some, and maybe even a breaking change, but it is not breaking in the sense that  something does not work anymore.
In fact, this fixes something that was broken, namely the 'relative' includes for each language.
Now you just need 1 include, and if the support lib is installed on a default location, none, since it will be picked up.
If you have a cmake project, I would recommend using the support lib via conan, than includes will just fit.
And if you seriously do in source build with cmake, I would consider changing that since no one, not even the cmake maintainer, think this is a good idea (even if I have a hard time to see the relation from the in source build to the location of the support lib headers)

We @Google have a set of patches that we have maintained (some for many years) as we brought Djinni into our source that are required for it to function in our build system.  Part of the effort in upgrading to this repository is to attempt to move some of those patches into PRs to reduce our customizations of Djinni. This is one of the newer ones that was required after moving from the archived dropbox/djinni repo to this newer version.  Unfortunately, in Objective-C usage we prefer absolute paths for all file references adding the include prefix to the djinni-support-lib location is beneficial for consistency.
The prefix directories while not needed for the main usages via CMake or Conan do still have utility for other usages that should be considered.

Afaik when we decided to remove the parameters the assumption was that nobody would need theme anymore. I'd be open to re-add them if they serve a purpose for your usecase. @a4z correct me if I'm wrong but I think there is nothing that technically stops us from re-adding the parameter? I'm not sure if we should restore just the one that you need, or all include-prefix parameters for consistency? What's your thoughts on that? 🤔
Just out of curiosity: It seems like you don't use the cmake target that comes with the support-lib? How do you build the support-lib? If you use another (meta) build system, would you be interested in contributing your build configuration to the support-lib as an alternative to CMake?

Unfortunately, in Objective-C usage we prefer absolute paths for all file references adding the include prefix to the djinni-support-lib location is beneficial for consistency.

@ngmeyer please help me understand how the --objc-base-lib-include-prefix flag helps with absolute paths. Even if you're consuming the support-lib from source you still have all the headers in the proper structure so, even though we recommend CMake or Conan, they are not actually needed. (I'm even wondering if your explanation actually applies to https://github.com/cross-language-cpp/djinni-generator/pull/95.)

It seems we are talking about adding support for a very unique patch set for a very unique build system.
Because I think I can make a bazel example with the current generator/support-lib pair that will work and also find the include in the first lookup.
Would such an example help?
Maybe that would be a better solution,  providing a bazel example ... (I know, chrome does not use bazel)
I do not say we will not support you, but I want to carefully think about that.
We have a plan with the development, and you ask us to undo an important part.
The problem is not only just not having the command line flag, my problem with them is that  this is code that is not automated tested.
So we constantly life in fear that will break, and since this is something no one should ever use anyway, imho, we removed that option.
So we are not talking about just adding back that option, but also adding tests. (Is that called but a ring on it, in the google book of engineering ? I have forgotten ....)
But you get the point. This project is driven from people in their spare time, adding tests for this command line arg is expensive for us.
So before we open a box and add a snowflake solution, like it would be with just objective-c flags, we need to carefully think about the impacts, and if there are no standards way to solve the situation instead of adding just an other layer of code.
Because I think there is a way that is over time better.

@freitass - I used the term absolute path instead of a path relative to the build root. Here is a more complete example of the usage of Bazel.  First for background this document discusses the output directories: https://docs.bazel.build/versions/main/output_directories.html
@jothepro - No we do not use CMake or Conan.  Everything is using Bazel.  So we have our own Build scripts that have replaced CMake.  There is no install concept in bazel so most directory references need to be build-root relative paths.  I am happy to share the Bazel build files that we use to compile the support-lib.
@a4z - For more background on the usage with Bazel.
First the djinni libraries are located in the third_party subdirectory, the following is how it would be referred to in a standard header import/include.
#import "third_party/djinni/djinni_support_lib/djinni/jni/djinni/objc/DJIMarshal+Private.h"

The generated source then is created in a specific directory relative to the build root, but the path is then appended wherever in the directory setup for the project setup.  So as an example for a new project it might be something like:
"bazel-genfiles/pkg/includedir/my-interface/MyRecord.h"

With Bazel the objc_library rule does have an ability to specify an includes which could be used, however this is a relative path to a few select build roots:

The paths are interpreted relative to the package directory, and the genfiles and bin roots (e.g. bazel-genfiles/pkg/includedir and bazel-out/pkg/includedir) are included in addition to the actual client root.

So when configuring the build for these djinni generated targets I needed to calculate the relative directory from the gen target using ../../... which was not scalable.
The prefix solution is preferable where all include paths can have the build root as a prefix to the include/import path.
@jothepro - For other languages the prefix would be ideal to add back as well, but I've been able to work around all of the others due to a quirk in Bazel that adds the project root directory as an include for dependencies in C++ and Java packages.  In our case the Bazel BUILD file is located at the root where all of the support headers are relative to so the compilers are able to find the files.
If I updated this PR to include all of the include prefix options that be accepted?

I am happy to share the Bazel build files that we use to compile the support-lib.

Nice! I'm looking forward to your PR in the support-lib!  I think we'll have to figure out if we really want to add and maintain an additional build configuration, but maybe it will be useful to somebody else! At least having a bazel branch to begin with would be nice, I think. 😊

If I updated this PR to include all of the include prefix options that be accepted?

I can not and don't want to make that decision on my own, but based on the information that you gave I think we should consider undoing the removal of all --<lang>-base-lib-include-prefix options:

I don't know about bazel and don't want to invest too much time into understanding how it functions. If you're saying that the options are needed with your bazel build, I'll trust you on that.
It sounds like the removal of the options caused you some trouble already, and abusing "quirks" in your build system sounds like this may haunt you in the future? On the other hand I see little to no cost in us maintaining those options. They don't come with a lot of complexity, writing proper tests for them like proposed by @a4z wouldn't be too hard IMO.
I feel like having a lengthy discussion about why you need this is not an efficient use of our time since the existence of those options didn't cause any pain in the first place and we removed them under the assumption that nobody would notice.

Because I think I can make a bazel example with the current generator/support-lib pair that will work and also find the include in the first lookup. (@a4z )

If you found a better solution not involving the options that would be cool! I'm looking forward to your example and to learn sth. about bazel! @ngmeyer maybe there is a better solution for your problem indeed? But still I'd like to avoid being too strict about the removal because we didn't have to remove the options for a technical reason.

I find this is a very interesting case, and there is a lot to learn for us from this situation. (e.g, to start with, #97 :-) )
We will of course solve it so everyone is happy and we have technical good solution, but I want to find a good way doing so.
I see a good chance to improve what we have in several aspects, so let allow us to invest a little bit more time into exploring the problem space and finding some solution.
To me it seems, in case of a similar uscase in C++ in bazel a  cc_library for 3rd party lib and using the include together with the strip_include_prefix would be fine.
And for generated files it should be relatively similar, add them to a cc_library, and thread them with include and strip_include_prefix, and it should work,
If the objc_library is missing the strip_include_prefix, maybe that should be fixed in bazel, because what is with libraries that would come without generator that allows adoption of the include?
But anyhow,
I think we should add bazel support to the support-lib and provide a genrule for the generator.
In fact, I already thought about that.
So it becomes a ready to use http_archive that can be built from within bazel without user needing to add a custom BUILD.bzl for the download.
And than a small sample program that shows how that could be used. (maybe using the existing example_cc repo)
That would allow us to reproduce the use case
@ngmeyer , it would be awesome if we could do that together, since I am far far away from being a bazel expert.
I do not think we need to build the generator with bazel, I guess the BUILD file for the generator just exports the binary as a tool, and maybe we can include a generic genrule.
And it would be super nice if the support lib could have a bazel build file included so it will be just a ready to use dependency.
I am aware that this will not be a super fast available solution, given the litte spare time everyone of us has for that task, and given the fact that it is maybe just me with some (very) basic bazel knowledge in the current maintainer team.
Therefore, Neal, If it's urgent for you, and you can not wait until this is done, we can mean while reactivate the objc rule to work around the bazel shortcoming of stripping the include prefix for objectvC libs, mark it as deprecated, and remove it in 6 month (just to have a motivation to implement the bazel solution)

@a4z I started a branch of the generator with the necessary bazel build files. Thanks to existing BUILD files this should not take much time to port over.  https://github.com/ngmeyer/djinni-generator/tree/bazel

@ngmeyer , I checked the build files, some questions,
but I added that in a PR to your branch
please see https://github.com/ngmeyer/djinni-generator/pull/1

Whats the benefits of providing a separate bazel build for the generator? Providing a bazel configuration for the support-lib sounds reasonable to me, it would help bazel-users to easily integrate the lib into their project. But the generator should just be a binary used by the build system, IMO? I don't see value in maintaining a separate build process there. The dependency versions in djinni-generator/bazel are already out of sync (e.g. scopt 3.2 in bazel vs 3.7 in sbt). To me this just seems like it introduces unnecessary maintenance overhead. Without having done research on how this could work, IMO any bazel wrapper for the generator should just download the prebuilt library from gh, there should not be a need to build it again? 🤔

yes, the generator could be a binary download,  but from a bazel POV it's also a question of hermetic builds.
Some bazel projects even bring their compiler via source, and compile that one into their sandbox.
so I see that it is something. and I have nothing against trying it. So please let us try it out, @jothepro
About the versions in various files and the maintenance of that, we will of course have too look into that, but first let us just test if the whole thing would work and sketchup a POC.

I see, that makes sense. I didn't know about this approach, I'll have to do some research on the topic.
I have two naive questions about this approach (I'm not trying to argue against it, just trying to understand):

In the build some dependencies are pulled in from maven as binaries. Shouldn't they be built from scratch as well? Where do you draw the line of what should be built inside the sandbox?
Would a bazel wrapper that initializes the sbt build also fulfill the requirements? E.g. by calling sbt assembly from bazel and take the resulting binary? This could avoid having to maintain separate build configurations.

This

In the build some dependencies are pulled in from maven as binaries. Shouldn't they be built from scratch as well? Where do you draw the line of what should be built inside the sandbox?

is a good and valid question

Would a bazel wrapper that initializes the sbt build also fulfill the requirements? E.g. by calling sbt assembly from bazel and take the resulting binary? This could avoid having to maintain separate build configurations.

In theory that could work,t, but specifying that might be ... complicated, since bazel tens to copy everything into some build foder or sandbox so it needs to know about every tool and how to run that, and that would include sbt
And I guess there are some advantages of using the bazel rules, when operating in bazel
There are of course also things I am curious about, and this is, why does bazel pull in portobuffer java for us even if we do not use that. This is, if you have no shared cache, not good (for first time user experience, or build bots)
btw, here is an other djinni bazel implementation
https://github.com/Snapchat/djinni

Would a bazel wrapper that initializes the sbt build also fulfill the requirements? E.g. by calling sbt assembly from bazel and take the resulting binary? This could avoid having to maintain separate build configurations.

In theory that could work,t, but specifying that might be ... complicated, since bazel tens to copy everything into some build folder or sandbox so it needs to know about every tool and how to run that, and that would include sbt And I guess there are some advantages of using the bazel rules, when operating in bazel

From a bazel user perspective - I believe it simplifies the process to use supported build rules from the bazel tool rather than a role your own build script.  This discussion is a long issue with many projects where CMake, make, bazel, and the many other build tools are an option.  In the end each user will have their system they are going to use, and the question becomes whether the project wants to support it and ensure compatibility or not.  In this case this script is based upon one that has existed unchanged for 4-5 years.  Given the stability of the scala djinni generator changes to the build rule are unlikely beyond dependency updates or major refactoring.

There are of course also things I am curious about, and this is, why does bazel pull in protobuf java for us even if we do not use that. This is, if you have no shared cache, not good (for first time user experience, or build bots)

I think the proto references in my WORKSPACE.bazel can be removed, those were brought over from the scala-binary documentation example, and appear to not be needed.

btw, here is an other djinni bazel implementation https://github.com/Snapchat/djinni

I am aware of this and used this as a starting place.
This branch of djinni added direct support for protobuf messages, which we have multiple internal implementations for as well @ Google. I am interested in contributing protobuf support to the project once we have completed migration to a single protobuf implementation.

The problem with the snapchat djinni is, it does also not work :-)
The protobuf is pulled in even if I remove the explicit lines is very annoying since it gives bad first compile time.
This is not good when developing a POC. Most devs are not attached to a big remote cache on a fast network.
It's not needed now, so how to get rid of it. Removing lines that explicit request it seems not to be enough.
And the most important question at all: how to make the produced jar/binary usable at all, because currently it isn't

Inconceivable!  🤣
I'll see what I can find today over in my dev branch.

bazel run, java -jar, and running the binary, please look at the PR I added to your branch
I am on a Ubuntu 18.04 now, and the sbt build works.
Maybe it will run on my Mac later in the evening, I guess you are on a Mac?
We will see.
But we need also Linux support, at least Ubunut and RHEL

Update, the snapchat djinni works now on my Linux, (needed to remove some mac stuff to be able to build it)
only with bazel run //src:djinni
so there is hope :-)

Since we haven't got any feedback about that issue, I close issue.
I also think this change is not required, and that it is possible to do a bazel build without that change.
POC is WIP
Please feel free to reopen this issue if you still think it is a requirement.


Feature request:  Add extension for base Enum class

public enum Colour
{
    Red = 0,
    Blue = 1,
}
public static string ToStringFast(this Enum value)
{
    if(value is Colour)
        return ((Colour)value).ToStringFast();

    return value.ToString();
}

That doesn't seem necessary - you could change your code to be the following:
if(value is Colour colour)
    return colour.ToStringFast();

I think cluttering up enum (when not all enums would be supported) would be more confusing than anything else

ok.  Thanks again for making this.
I think I'll go with a switch expression with all my cases.
public static string ToStringFast(this Enum value)
{
    string enumMemberName = value switch
    {
        EnumAccountClass => ((EnumAccountClass)value).ToStringFast(),
        EnumAccountStatus => ((EnumAccountStatus)value).ToStringFast(),
        EnumJointType => ((EnumJointType)value).ToStringFast(),
        EnumCorpType => ((EnumCorpType)value).ToStringFast(),
        _ => value.ToString()
    };
    return enumMemberName;
}

In order to find my decorated enums using reflection, I just had to
#define NETESCAPADES_ENUMGENERATORS_USAGES

Closing this as the workaround seems sufficient


Slow increase in CPU usage over time

Description
Brand new install with half a dozen documents uploaded, no automations in place, CPU usage slowly climbs over time without any changes being made.
Expected
CPU usage should not climb over time.
Actual

Info:

OS: Docker 19.03 on Ubuntu 20.04 LTS
Browser: N/A
Database: SQLite
Papermerge Version: 1.5

@TheSpad, really good catch!
I had this issue in production too, and to be honest, was very annoying :(
The problem is because of "default file based transport of messaging queue" which piles up files in queue folder (in project directory).
You have 2 options:

regularly delete all files in queue folder (this folder is created automatically in same directory where manage.py file is).
replace file based messaging transport with "in memory one" - e.g. redis.

For latter one, you need to replace following options:
CELERY_BROKER_URL = "filesystem://"
CELERY_BROKER_TRANSPORT_OPTIONS = {
    'data_folder_in': PAPERMERGE_TASK_QUEUE_DIR,
    'data_folder_out': PAPERMERGE_TASK_QUEUE_DIR,
}

with this ones:
CELERY_BROKER_URL = "redis://"
CELERY_BROKER_TRANSPORT_OPTIONS = {}
CELERY_RESULT_BACKEND = "redis://localhost/0"

Is there any risk of data loss from automating deletion of the queue files?

Is there any risk of data loss from automating deletion of the queue files?

If data = your documents, then answer is NO.
Files in queue directory they contain information about background jobs. If you delete them once a day (e.g. daily at 00:00) and in same time you start an OCR on document it might happen that you might delete that ocr job - means your document will not be OCRed because background job was accidentally deleted - document itself won't be affected at all.
My suggestion is to use redis (with configurations I gave above).
The "filesystem://" is good for small deployments (development env, testing, evaluation) because of its simplicity (no extra things to include).

@ciur would it be safe to run something like a cron job that deletes anything in that folder older than a certain time? Or would that still run the risk of lost OCR jobs?

would it be safe to run something like a cron job that deletes anything in that folder older than a certain time?

@alex-phillips absolutely!
Deleting any file (in queue directory) older than 24 hours is safe - it will not affect any background job.

Is Redis support still in development because I see django development configuration?

I don't see where to adjust to configuration to use redis. There is no CELERY_BROKER_URL = "filesystem://" in the papermerge.conf.py template configuration which I could replace with the redis.

It is in base.py

I can find it in this repo, but I can't find it on my filesystem after after installation... maybe it is due to my packaging attempt on archlinux.
Can you please tell me the relative path of base.py to the papermerge install folder containing core, search, test on your system? Is it actually just `../config/settings/base.py?
Where is the file to be used defined and can I change its location?

Could you elaborate what the problem is exactly?
The path is papermerge/config/settings and that is were it should be on install.

Ah, ok, now I have it and it seems to be working fine.
I install papermerge without virtual env and without pip but only with the package manager of arch linux. All dependencies are installed as individual packages which has the advantage of having them all updated together with system updates.
Thanks for the help by the way :+1:

To my understanding, the suggested replacement of lines to use redis instead of filesystem would have to be repeated after every update, because the base.py file itself might get an update and would in turn replace the modified one from the previous version.
Is there a way to circumvent this?

So after having my papermerge instance running for a few months now, the cpu usage of an idle papermerge was at 97% - only after researching this I found this ticket. Information on this needs to be included in the documentation for docker, or even better, docker-compose/build needs to be adjusted to either use redis per default, or have a built in cronjob that deletes these files. Multiple people have already fallen into this hole, see issues referencing this one.
This needs a default docker fix please @ciur , I suggest reopening this issue.

This needs a default docker fix please @ciur , I suggest reopening this issue.

I second this. My CPU usage was >50% until I found this thread.

ok, guys, I reopened the issue and I will update documentation + update document files

@TheSpad, really good catch!
I had this issue in production too, and to be honest, was very annoying :(
The problem is because of "default file based transport of messaging queue" which piles up files in queue folder (in project directory).
You have 2 options:

regularly delete all files in queue folder (this folder is created automatically in same directory where manage.py file is).
replace file based messaging transport with "in memory one" - e.g. redis.

For latter one, you need to replace following options:
CELERY_BROKER_URL = "filesystem://"
CELERY_BROKER_TRANSPORT_OPTIONS = {
    'data_folder_in': PAPERMERGE_TASK_QUEUE_DIR,
    'data_folder_out': PAPERMERGE_TASK_QUEUE_DIR,
}

with this ones:
CELERY_BROKER_URL = "redis://"
CELERY_BROKER_TRANSPORT_OPTIONS = {}
CELERY_RESULT_BACKEND = "redis://localhost/0"

Don't forget to install the REDIS server.
On Debian this is
apt install redis-server
systemctl start redis-server
systemctl status redis-server

Then restart your papermerge worker service.

I changed official docker compose file to use redis as message broker instead of filesystem based one.
Here is the diff.
Documentation update will follow...


add pluralize & singularize

~Feature Request~
I need something like this:
https://github.com/rails/rails/blob/master/activesupport/lib/active_support/inflections.rb
It would seem appropriate to put this functionality along with your work.

Initial tested "irregular" countables here
I'm not sure the best way to generate this mapping is though. You might not want to add a regex dependency and generating the singular/plural versions of these into a Bimap is not plausible.

#41 implements this

Closing this since it's solved


Risk profile clarification

I had some trouble understanding what this calculator setting meant:

Has 4 close contacts (incl. roommates) who socialize but don't work. No other work or socializing.

I eventually looked at the spreadsheet, and I think I figured it out. You may want to consider rephrasing it like this:

Not an essential worker. Only socializes with 4 close contacts (incl. roommates), who aren't essential workers.

Anyway, this project has been really useful, and I appreciate the work you put into this. I donated, and I encourage others to donate.

Thanks @TheodoreEhrenborg !
This is probably a duplicate of #167


Compile error on osx-arm64

Hello.
When I built the UDA conda package in #51 on an osx-arm64 M3 Mac laptop, I encountered C++ compile errors like:
error: cast from 'int (*)(XDR *, float *)' (aka 'int (*)(__rpc_xdr *, float *)') to 'xdrproc_t' (aka 'int (*)(__rpc_xdr *, void *, unsigned int)') converts to incompatible function type [-Werror,-Wcast-function-type-mismatch]

The whole build log is shared by the URL link: https://app.warp.dev/block/Y9zBIX0aRzIpHZ6lkBwts3
I could avoid the above error by adding the compile option -Wno-cast-function-type into line 23 in source/CMakeLists.txt file:
add_definitions( -Wall -Werror -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wno-cast-function-type )

I would greatly appreciate it if you could address this issue.

We regularly compile UDA with clang-19 on arm64 (including in the CI) and have not seen this issue before. It seems from the log you are defined a bunch of extra CXXFLAGS and CPPFLAGS - it's possible that some of these flags are causing the compiler to throw this error.
Would you be able to add this "-Wno-cast-function-type" to your CXXFLAGS? I would rather avoid turning off this warning for all code.

Thank you for your response.
I tried to add it to CXXFLAGS, but the errors did not disappear somehow even though it can be seen in the log:https://app.warp.dev/block/shDp2SrcZvW2MmjIYhTnsL
Is there any dependency on the order of compiler args?

Perhaps the required flag is -Wno-cast-function-type-mismatch ?

That caused the same issue, unfortunately.


new_term alert broken with query_key and use_terms_query

Recently upgraded from v0.1.29 to v.0.1.34 and had a few new_term alerts break.
The issue appears to be 2 things currently:

fields is required by the json schema validation while using only query_key despite the docs and how previous versions work. The error message couldn't be more unhelpful, sadly.
Failed validating 'oneOf' in schema

Setting both fields and query_key also fails. fields is a list while query_key is a string and the comparison will always fail https://github.com/Yelp/elastalert/blob/1ecf902afe5f49782fbbd5d569439dec07eb7d94/elastalert/ruletypes.py#L642
Error initializing rule New persistence agent added: If use_terms_query is specified, you cannot specify different query_key and fields

The only work around I've been successful with so far is changing the linked conditional to handle the special "list of 1" to string comparison.
Example rule:
alert: stdout
doc_type: test
filter:
- term:
    name: test
index: 'test'
name: test
query_key: columns.name.raw
fields: columns.name.raw
terms_window_size:
  days: 30
type: new_term
use_terms_query: true

Thanks for reporting. I introduced this issue in #1778. I'll try to get this fixed asap.

This should be fixed in 0.1.35, now available on pypi.


Avatars cannot be displayed

config.toml configuration profilePicture = "images/profile.png"
I added profile.png in /usr/local/lib/blog/themes/soho/images
Local preview cannot display avatar

You should place in .../soho/static/images/profile.png.

您应该放置在中.../soho/static/images/profile.png。
Ok i should create an avatar at gravatar.com


Typings issue

https://github.com/Deivu/Shoukaku/blob/master/types/Shoukaku.d.ts#L1
this line depends on discord.js which is not really compatible with eris ( if im correct )
shouldnt this just be changed to
`${bigint}`

Eris do have it on string

but doesnt that require discord.js specefically to be installed?

instead of snowflake, couldnt we just write string instead?

I do want it as string as well, though I'm not sure how TS on discord.js will react to it

k, ill try it and if it works ill just open a pr later
btw we can just do
`${bigint}` | string

that means it can be a bigint or a string, well both are strings anyway xd

i'll keep this open incase if anyone else has a better idea

Fixed in #63


A TextEditingController was used after being disposed

Describe the bug
If an existing getXcontroller is deleted late, a controller Dispose error such as texteditcontroller and scrollbarcontroller occurs.

An error occurs when moving the menu quickly.  (An error occurs if the same controller has not yet been deleted.)
( If my client's hand is fast, can see a red error. )

when try refresh self Page by Get.offAllNamed     <-- dispose error.. textedingcontroller scrollbarcontroller...

When routing the same page, the newly created page appears to refer to an existing controller. (Not yet deleted.)

**Reproduction code

Test Project url
https://github.com/BBUBBA/getxtest

if your getxcontroller name is "/" and have texteditingcontroller.
call Get.offAllNamed('/');
you can See Error...
example:
void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return GetMaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
        useMaterial3: true,
      ),
      initialRoute: '/',
      getPages: [
        GetPage(
          name: '/',
          page: () => Page1(),
          binding: BindingsBuilder(() => Get.lazyPut(() => Controller1())),
        ),
      ],
    );
  }
}

class Controller1 extends GetxController
{

  final textController = TextEditingController();

  @override
  void onClose()
  {
    textController.dispose();
    super.onClose();
  }

}

class Page1 extends GetView<Controller1> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Column(
        children: [
          TextFormField(
            controller: controller.textController,
          ),
          TextButton(
            onPressed: () {
              Get.offAllNamed('/');
            },
            child: Text('go page2'),
          )
        ],
      ),
    );
  }
}

To Reproduce
Steps to reproduce the behavior:

Run
go home click
See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
case 1. if hand is fast..
https://github.com/jonataslaw/getx/assets/17864839/70934d34-ad80-4341-9324-70527c4f93c9
case 2. refresh self page..
https://github.com/jonataslaw/getx/assets/17864839/e7cd3c2f-b38d-4a0b-9d3c-c5cf54823c54
Flutter Version:
3.16
Getx Version:
4.6.6
Describe on which device you found the bug:
Web

I encountered the same problem, have you solved it?


Keybinds for switching save slots?

Are more features planned for this? Shortcuts for save slots and changing between the waveforms to make them faster to use would be great. Otherwise maybe undo option?

@return2monki Shortcuts can be added. I'm adfing them for next version.

Thanks, I reported some bugs and a suggestion that would be great before next release.
I didn't test it thoroughly yet so I might be missing other problems.
I'll close this one now.


Still Maintained?

I just discovered this repo. Before trying it, I wanted to ask if it's still maintained, as the last commit was 2 years ago.
Thanks for the project!

@aalok-sathe It seems like you're missing some build dependencies. What distro are you running?
go build works fine on my machine (Debian Bookworm).

I'm on Ubuntu 20.04

@aalok-sathe I've created a Dockerfile to verify that it's possible to compile tailscale-systray on Ubuntu 20.04:
FROM ubuntu:20.04

# Go 1.23
RUN apt update && \
    apt install -y software-properties-common && \
    add-apt-repository ppa:longsleep/golang-backports && \
    apt update && \
    apt install -y golang

# Install dependencies
RUN DEBIAN_FRONTEND=noninteractive apt install -y gcc libgtk-3-dev libayatana-appindicator3-dev

RUN go install -v github.com/mattn/tailscale-systray@latest


How to get Horse token ?

I cant get horse token with facout,any one can help?

go to the swap token section... and swap your katla eth to horse token

You can get horse from the faucet on holesky.


fleetctl: fleetctl status exits while checking batch of units with one unavailable unit

Steps to reproduce:
<EMAIL_ADDRESS>[Service]
ExecStart=/bin/bash -c "while true; do echo Hello, World %i!; sleep 1; done"

fleetctl start<EMAIL_ADDRESS>
$ fleetctl status<EMAIL_ADDRESS>Unit<EMAIL_ADDRESS>does not exist.
$ echo $?
1

Not sure I've to check again, but since I noticed that fleetctl status is a wrapper around systemctl status through ssh, it just executes the command and gets its exit status, so even if the command did execute successfully, the return code from systemctl status can be non-zero! so we just break and that's it.
systemctl status exit code are also not that standard since they may return same exit code for nonexistent units and stopped units. or even if the unit is not on the disk anymore... https://github.com/systemd/systemd/issues/1092
If we can get the output first check some fields, then we may fallback to the exit code, and probably break from that loop only if the error is not related "systemctl status-of-unit" and break for all other errors even for systemctl ones...

Hm what's the problem here? this seems like working as designed?

@jonboulle what if I want to print status for all units?

Oh I see.
I dunno, this has been the behaviour forever. Should we really break it now? People needing granular information can always do a for loop around fleetctl status (which incidentally will perform basically the same since we moved to individual Unit() call(


Python extensions cannot be configured with relative paths

Describe the bug
I am starting burp-rest-api with Java and Python extensions using the
--burp.ext option.
For Java extensions I can use a relative file path, e.g., --burp.ext=./extensions/burp-retire-js-3.jar
For Pyhton extensions the use of relative file paths does not work. E.g., when using --burp.ext=./extensions/Burp-MissingScannerChecks.py the extension does not get loaded.
To Reproduce
Steps to reproduce the behavior:

Copy Burp-MissingScannerChecks.py (source: https://github.com/PortSwigger/additional-scanner-checks/blob/master/Burp-MissingScannerChecks.py) to a directory 'extensions'
Configure jython-standalone-2.7.0.jar in the user options config file.
Start burp-rest-api with --burp.ext=./extensions/Burp-MissingScannerChecks.py
Burp starts up.
Select the 'Extender' tab. The Burp-MissingScannerChecks.py is listed but the 'loaded' checkbox is not set.
Select the 'Alert' tab: It shows 'Fail to load extension: ./extension/ Burp-MissingScannerChecks.py'

Expected behavior
The 'Extender' tab shows that the Burp-MissingScannerChecks.py extensions is loaded. No alert is listed.
Desktop (please complete the following information):

OS: Mac
Burp Suite Professional version 1.7.37
Extension burp-rest-api 2.0.1

Thanks for the notification. We will take a look. cc: @thypon

Fixed and already in master! A new release coming soon...

Well, ah I found a same problem in Burpsuite, that if I configure a plugin using relative path in the configuration json file, jar extensions would be loaded quite well, but not the python things.
Python plugin would not be loaded due to a FileNotFound error:
IOError: (2, 'File not found - E:\\xxx\\.tools\\.main\\burpsuite\\.plugins\\bapps_SourceMapper\\.plugins\\bapps_SourceMapper\\SourceMapper.py (The system cannot find the path specified)')


UI not selecting properly roles

What kind of request is this (question/bug/enhancement/feature request):
Bug (couldn't raise it in UI project)
Steps to reproduce (least amount of steps as possible):
When selecting a global role for a user it will work as intended if you click the tick box (1).
https://i.ibb.co/QdKTLf5/Screen-Shot-2019-05-07-at-15-23-50.png
Result:
if you click anywhere else in the selection box (2) it will tick the tick box but upon saving won't save the new settings.
Environment information
Affected is v.2.2.90 and below

Version - master (will be in 2.3 release)
This has been fixed.


Fast Refresh & hot-update.js loaded from window.hostname and not configured sock host

In development we run our website from inside a virtual machine (vagrant) on a specific DNS (say dev.socialtrip.com).
We load the website from dev.socialtrip.com in the browser, the backend server does the first render (not react) and load our JS bundle from the dev server on localhost:
<script src="http://localhost:3000/static/js/bundle.js"></script>

And then our app renders.
We run the webpack dev server from the local host (and not from inside the VM).
The problem is that in this case, fast-refresh correctly detects that we made an update on the code, but tries to load the hot-update from dev.socialtrip.com instead of localhost.
.env config:
BROWSER=none
HOST=localhost
PORT=3007
WDS_SOCKET_HOST=localhost
WDS_SOCKET_PORT=3007
PUBLIC_URL="/"
# own variables
REACT_APP_SERVER_URL="http://dev.socialtrip.com"

I think I tried every possible configuration.
How can we fix this?

This is what we get when hot reload tries to load the patch:

Please note, that not only the host is not the one we configured (localhost), but the port is also missing.
This is the hack we used for now in nginx:
rewrite ^/(.*)hot-update(.*)$ http://localhost:3007/$1hot-update$2 permanent;

So we force a redirect to the webpack dev server...
Works, but not very convenient.


Edit UG and DG

Please update the instance names in the 'state' diagrams from abX to dhtX or something like that! Thanks!
Otherwise LGTM, and I'll add the UG links.

done!


How to remove an audio track?

I have a file that has 2 audio tracks:-
Track 1 is AC3 and tagged as French (fre)
Track 2 is AC3 and tagged as English (eng)
In autoProcess.ini I set audio-language=eng which I understand to mean only the English track will be used, however the resulting m4v file has 4 audio tracks:-
Track 1 is aac fre
Track 2 is ac3 fre
Track 3 is aac eng
Track 4 is ac3 eng
What am I doing wrong? How do I get rid of the French track?

Seems like you're doing everything right.
Can you post your autoProcess.ini?

Yep, here you go:-
http://pastebin.com/3Ss6F9Qx
And this is how I'm running the script:-
'python.exe manual.py -a -I file.mkv
Thanks.

Can you upload the file somewhere and email me a link. That all looks appropriate.
On Mon, Aug 17, 2015 at 10:19 AM, roidy<EMAIL_ADDRESS>wrote:

Yep, here you go:-
http://pastebin.com/3Ss6F9Qx
And this is how I'm running the script:-
'python.exe manual.py -a -I file.mkv
Thanks.
Reply to this email directly or view it on GitHub:
https://github.com/mdhiggins/sickbeard_mp4_automator/issues/297#issuecomment-131834669

Sorry no, it's a 14GB file.
Not to worry, I ended up using MKVToolNix to remove the French audio then ran the file through the script.

Can you run the original though ffprobe -show_steams and send me the output? It would be helpful for debugging to figure out why it wasn't working. If you still have it.
On Mon, Aug 17, 2015 at 11:38 AM, roidy<EMAIL_ADDRESS>wrote:

Sorry no, it's a 14GB file.
Not to worry, I ended up using MKVToolNix to remove the French audio then ran the file through the script.
Reply to this email directly or view it on GitHub:
https://github.com/mdhiggins/sickbeard_mp4_automator/issues/297#issuecomment-131866196

Sure, here you go:-
http://pastebin.com/5UMY6KWq

Can't seem to reproduce your error, I suspect there's something messed up in your autoProcess.ini
Otherwise not sure why it wouldn't be ignoring the languages. Feel free to reopen if this is a persistent problem


latest release lerns to check github

versions 1.7.95 and onwards should check github for new releases, see here for hints:

https://api.github.com/repos/ripmeapp2/ripme/releases
https://docs.github.com/en/github/administering-a-repository/linking-to-releases

change UdateUtils.java.

agreed

it checks now, still towards the ripme.json file. the download overwrites the old jar as before.


Add info about support of Cloud SQL and Memorystore

https://twitter.com/ibrunotome/status/1117204999581388802

Cloud SQL support is now here, see alpha docs at: https://stackoverflow.com/questions/55693241/how-to-securely-connect-to-cloud-sql-from-cloud-run/55892255#55892255

Cloud SQL support is now here, see alpha docs at: https://stackoverflow.com/questions/55693241/how-to-securely-connect-to-cloud-sql-from-cloud-run/55892255#55892255

Thanks, Steren.
I confirm the observation of Leonid Makarov on your linked question.
I followed the official docs to annotate a CloudSQL in another region. The correct annotation is added to YAML, the image is started, but the /cloudsql mount directory is empty.
  annotations:
    serving.knative.dev/creator<EMAIL_ADDRESS>    serving.knative.dev/lastModifier<EMAIL_ADDRESS>    run.googleapis.com/cloudsql-instances: ursularity-222313:europe-west2:ursularity-2

I will investigate the issue

I could not reproduce the issue. Please open a new issue at https://cloud.google.com/support/docs/issue-trackers with the exact reproduction steps (including code sample)

I confirm the observation of Leonid Makarov on your linked question.
I followed the official docs to annotate a CloudSQL in another region. The correct annotation is added to YAML, the image is started, but the /cloudsql mount directory is empty.
Same for me!

I still have to add cloud_sql_proxy to container image https://github.com/acadevmy/cloud-run-wordpress

Please do not report product issue in this repository. Please open a new issue at https://cloud.google.com/support/docs/issue-trackers with the exact reproduction steps (including code sample)


Gardening: Migrate test suite to GH issues p. 4

Will rename "sr" files post updating all tests to ease review.

@AnthonyLatsis I'll take a look at all 3 PRs tomorrow.

@swift-ci please test

@swift-ci please test Windows platform


..

Can I use some of your code for my own plugin ?? I want to make SuperItemsGUI

Please check LICENSE. or if you use than give credit.

Ok


permissions: "<all_urls>" needed?

This is some seriously clean, well-thought-out code -- impressive!
One question: I don't see any code that requires the <all_urls> permission. Isn't that permission for these things:

reading and modifying content of pages
sending and requesting information from remote servers

Re: code quality -- Thanks!
I suspect <all_urls> is there because I use the URL for the FavIcon (which will refer to the original source image, but almost certainly cached) to render in the popup.
But I'm not 100% positive we need <all_urls> for that; will investigate.


not working for android

closed state

opened state
working smoothly for ios. I hope you are interested

+1


Closes 201: Added toJson to all events in the Dart client.

I contribute this material in accordance with the signed SCA.

Superseeded by pull #204


⚠ Turnos 24x7 has degraded performance

In 37725f8, Turnos 24x7 (https://reservas-dev.alternativasinteligentes.com/) experienced degraded performance:

HTTP code: 200
Response time: 925 ms

Resolved: Turnos 24x7 performance has improved in f1c5b1e.


Blank database name or bootstrap file breaks onboarding

When you provision a database with your application service, you can optionally set the database name and provide a "bootstrap" file of SQL statements (encoded in UTF-8) to execute against any newly provisioned database during tenant onboarding. If you do not include a database name or a boostrap file, tenant onboarding should still provision the database instance properly and your application code would be responsible for creating the database and initializing it.
If you leave the database name or the bootstrap file blank in the v2 branch, onboarding breaks with CloudFormation errors.
Environment

AWS Region  :
AWS SaaS Boost Version : 2
Workload OS  (Linux or Windows) :

This is :bug: Bug Report

Resolved with commit f91885b


Install Google Playstore

I'm trying to get Google Playstore to work so i can install Google Home app, but I'm running out of ideas.
I tried utilizing this script and modifying it slightly but cant really wrap my head around it.
Do you understand what needs to be done to get Playstore to work?

I don't think Google allow this :(

Ahh too bad, thanks anyway


Fix homepage metadata

Homepage link on rubygems is wrong https://rubygems.org/gems/rubocop-treatwell/versions/0.2.1

Can't merge by myself 🤷🏻♂


Fix display of named entities

Replace reserved characters in named entities with named entities so they show up as named entities. They currently display as literals.
Current view

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/msbuild/how-to-use-reserved-xml-characters-in-project-files.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/msbuild/how-to-use-reserved-xml-characters-in-project-files.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


ERROR in ./~/quasar-framework/dist/quasar.common.js

Hi,
I would like to create a first application by using quasar-cli :
$ quasar init v2 my-project
$ cd my-project
# edit package.json
$ npm install
$ quasar dev
In console, I have this error when I'm launching quasar dev command :
ERROR in ./~/quasar-framework/dist/quasar.common.js
Module not found: Error: Cannot resolve module 'hammerjs' in /my-project/node_modules/quasar-framework/dist
 @ ./~/quasar-framework/dist/quasar.common.js 13:29-48
What could I do ?

Thanks for pointing this out!! Published a few hours ago 0.7.1 which overwrote the latest version which was 0.8.2. Republished with v0.8.3. It will work now.


Pass parameters to templates in aws-api-gateway-*

Based on aws-api_gateway-dynamodb
The constructor has read_request_template etc.
The only way I can make it work in the python SDK is hard code the table name.
I can see the default template index.ts line 268.
 const readRequestTemplate = props.readRequestTemplate ??
    `{ \
      "TableName": "${this.dynamoTable.tableName}", \
      "KeyConditionExpression": "${partitionKeyName} = :v1", \
      "ExpressionAttributeValues": { \
        ":v1": { \
          "S": "$input.params('${partitionKeyName}')" \
        } \
      } \
    }`;

I cannot figure out how to pass parameters into the template.
the create request template looks like it explicitly replaces {$Table}

While we recommend allowing the CDK/CloudFormation to create machine generated names for resources, as that allows multiple stacks to be created within 1 account/1 region, we see two ways to accomplish what you seek:

Pass a table name in with the dynamoTableProps
Submit an entire custom readRequestTemplate

Does this PR provide what you need? It's merged and should be released this week.

I don't think it does, but I will try once it's released.  I'm not 100% sure if this is a bug or operator error.  If the latter once I figure it out I can update documentation.  This example is in the test file in V2.31.0
new ApiGatewayToDynamoDB(stack, 'test-api-gateway-dynamodb-additional-request-templates', {
  existingTableObj,
  additionalReadRequestTemplates: {
    'text/plain': `{ \
      "TableName": "${existingTableObj.tableName}", \
      "KeyConditionExpression": "${partitionKeyName} = :v1", \
      "ExpressionAttributeValues": { \
        ":v1": { \
          "S": "$input.params('${partitionKeyName}')" \
        } \
      } \
    }`
  }
});

I can get the Stack.template.json to include \"${existingTableObj.tableName}\" or \"${existing_table_obj.table_name}\" like the expected.json on a cdk synth but if I deploy and test the API Method, I get "" for the "TableName".
Wed Mar 01 15:50:50 UTC 2023 : Endpoint request body after transformations: { "TableName": "",  "KeyConditionExpression": "device = :v1"

Sorry for the delay, but I had not worked with typescript before.  I was able to deploy, but could not confirm the additional request was working, as I could not tell it apart from the default template.
My Goal is to be able to use a sort key and not use 'id' as the primary key.
This works in Typescript
import { App, Stack, StackProps, Duration } from 'aws-cdk-lib';
import { ApiGatewayToDynamoDBProps, ApiGatewayToDynamoDB } from "@aws-solutions-constructs/aws-apigateway-dynamodb";
import * as dynamodb from "aws-cdk-lib/aws-dynamodb";
import * as api_gateway from "aws-cdk-lib/aws-apigateway"
export class ApiGatewayTsStack extends Stack {
constructor(scope: App, id: string, props?: StackProps) {
super(scope, id, props);
const partitionKeyName = 'ident';
const sortKeyName = 'timelike'
const existingTableObj = new dynamodb.Table(this, 'existing-table', {
  partitionKey: {
    name: partitionKeyName,
    type: dynamodb.AttributeType.STRING,
  },
  sortKey: {
    name: sortKeyName,
    type: dynamodb.AttributeType.NUMBER
  },
  pointInTimeRecovery: true,
  encryption: dynamodb.TableEncryption.AWS_MANAGED,
  billingMode: dynamodb.BillingMode.PAY_PER_REQUEST
});

new ApiGatewayToDynamoDB(this, 'test-api-gateway-dynamodb-additional-request-templates', {  existingTableObj,
  readRequestTemplate:  `{ \
      "TableName": "${existingTableObj.tableName}", \
      "KeyConditionExpression": "${partitionKeyName} = :v1  AND ${sortKeyName} < :v2", \
      "ExpressionAttributeValues": { \
        ":v1": { \
          "S": "$input.params('${partitionKeyName}')" \
        }, \
        ":v2": { "N": "$input.params('${sortKeyName}')"}
      } \
    }`
  }
);

}
}
This does not work in Python:
`from aws_solutions_constructs.aws_apigateway_dynamodb import ApiGatewayToDynamoDB, ApiGatewayToDynamoDBProps
from aws_cdk import Stack, aws_dynamodb as ddb, aws_apigateway
from constructs import Construct
class ApiGatewayBugStack(Stack):
def __init__(self, scope: Construct, construct_id: str, **kwargs) -> None:
    super().__init__(scope, construct_id, **kwargs)

    partitionKeyName = 'ident'
    sortKeyName = "timelike"

    existingTableObj = ddb.Table(self, 'existing-table',
        partition_key = ddb.Attribute(
            name= partitionKeyName,
            type= ddb.AttributeType.STRING,
        ),
        sort_key= ddb.Attribute(
            name=sortKeyName,
            type= ddb.AttributeType.NUMBER
        ),
        point_in_time_recovery= True,
        encryption= ddb.TableEncryption.AWS_MANAGED,
        billing_mode= ddb.BillingMode.PAY_PER_REQUEST
        )

    ApiGatewayToDynamoDB(self, 'test-api-gateway-dynamodb-additional-request-templates', existing_table_obj=existingTableObj,
            api_gateway_props= aws_apigateway.RestApiProps(rest_api_name="Python_API"),
            read_request_template= repr({ \
            "TableName": "${existingTableObj.tableName}", \
            "KeyConditionExpression": "${partitionKeyName} = :v1 AND ${sortKeyName} < :v2", \
            "ExpressionAttributeValues": { \
                ":v1": { \
                "S": "$input.params('${partitionKeyName}')" \
                }, \
                "v2:" : { "N": "$input.params('${partitionKeyName}')" }, \
            } \
            })

    )
    `

The cloud formation template.json seems to be OK:
     "RequestTemplates": {       "application/json": "{'TableName': '${existingTableObj.tableName}', 'KeyConditionExpression': '${partitionKeyName} = :v1 AND ${sortKeyName} < :v2', 'ExpressionAttributeValues': {':v1': {'S': \"$input.params('${partitionKeyName}')\"}, 'v2:': {'N': \"$input.params('${partitionKeyName}')\"}}}"      },
But when it's executed in API Gateway test page, the name is not resolved:
Response:
{"__type":"com.amazon.coral.service#SerializationException"}
Logs Snippet:
Tue Mar 21 18:49:53 UTC 2023 : Endpoint request body after transformations: {'TableName': '', 'KeyConditionExpression': ' = :v1 AND  < :v2', 'ExpressionAttributeValues': {':v1': {'S': ""}, 'v2:': {'N': ""}}}
I have not tested any other languages.

I'd like for it to work with table props  vs existing table, but that is just a nice to have.  This method will work.