LNDg not showing routed payments

I am on Umbrel, LNDg is not showing payments that are routed, whereas I can see them in Thunderhub.
I have restarted and reinstalled LNDg via ~/umbrel/scripts/app to no avail.

Are you able to check for any log errors inside the LNDg container?
The logs for this should be found here inside the container: /var/log/lndg-jobs.log

/var/log/lndg-jobs.log doesn't exist.
I have reviewed the logs via the command "~/umbrel/scripts/app compose lndg logs --tail=6000" but no serious errors pop out.

umbrel@umbrel:/var/log $ sudo ~/umbrel/scripts/app compose lndg logs --tail=6000 | grep web_1
Attaching to lndg_app_proxy_1, lndg_web_1
web_1        | Supervisord setup requested...
web_1        | Data directory already found...
web_1        | Setting up initial user...
web_1        | Superuser created successfully.
web_1        | /usr/local/lib/python3.11/site-packages/supervisor/options.py:474: UserWarning: Supervisord is running as root and it is searching for its configuration file in default locations (including its current working directory); you probably want to specify a "-c" argument specifying an absolute path to a configuration file for improved security.
web_1        |   self.warnings.warn(
web_1        | Performing system checks...
web_1        |
web_1        | System check identified no issues (0 silenced).
web_1        | June 01, 2023 - 00:45:30
web_1        | Django version 4.2, using settings 'lndg.settings'
web_1        | Starting development server at http://<IP_ADDRESS>:8889/
web_1        | Quit the server with CONTROL-C.
web_1        |
web_1        | [01/Jun/2023 00:45:32] "GET / HTTP/1.1" 302 0
web_1        | [01/Jun/2023 00:45:33] "GET /lndg-admin/login/?next=/ HTTP/1.1" 200 4179
web_1        | [01/Jun/2023 00:45:33] "GET /static/admin/js/nav_sidebar.js HTTP/1.1" 200 3063
web_1        | [01/Jun/2023 00:45:33] "GET /static/admin/js/theme.js HTTP/1.1" 200 1943
web_1        | [01/Jun/2023 00:45:33] "GET /static/admin/css/nav_sidebar.css HTTP/1.1" 200 2694
web_1        | [01/Jun/2023 00:45:33] "GET /static/admin/css/base.css HTTP/1.1" 200 21207
web_1        | [01/Jun/2023 00:45:33] "GET /static/admin/css/responsive.css HTTP/1.1" 200 18557
web_1        | [01/Jun/2023 00:45:33] "GET /static/admin/css/login.css HTTP/1.1" 200 958
web_1        | [01/Jun/2023 00:45:40] "POST /lndg-admin/login/?next=/ HTTP/1.1" 302 0
web_1        | [01/Jun/2023 00:45:42] "GET / HTTP/1.1" 200 79472
web_1        | [01/Jun/2023 00:45:42] "GET /static/sort_table.js HTTP/1.1" 304 0
web_1        | [01/Jun/2023 00:45:42] "GET /static/dark_mode.js HTTP/1.1" 304 0
web_1        | [01/Jun/2023 00:45:42] "GET /static/api.js HTTP/1.1" 304 0
web_1        | [01/Jun/2023 00:45:42] "GET /static/qrcode.js HTTP/1.1" 304 0
web_1        | [01/Jun/2023 00:45:42] "GET /static/w3style.css HTTP/1.1" 304 0
web_1        | [01/Jun/2023 00:45:42] "GET /api/rebalancer/?limit=10&status=&payment_hash=&format=json HTTP/1.1" 200 52
web_1        | [01/Jun/2023 00:45:54] "GET / HTTP/1.1" 200 90641
web_1        | [01/Jun/2023 00:45:54] "GET /api/rebalancer/?limit=10&status=&payment_hash=&format=json HTTP/1.1" 200 52
web_1        | [01/Jun/2023 00:46:27] "GET / HTTP/1.1" 200 90643
web_1        | [01/Jun/2023 00:46:27] "GET /api/rebalancer/?limit=10&status=&payment_hash=&format=json HTTP/1.1" 200 52
web_1        | [01/Jun/2023 00:52:26] "GET / HTTP/1.1" 302 0
web_1        | [01/Jun/2023 00:52:26] "GET /lndg-admin/login/?next=/ HTTP/1.1" 200 4179
web_1        | [01/Jun/2023 00:52:27] "GET /static/admin/css/nav_sidebar.css HTTP/1.1" 200 2694
web_1        | [01/Jun/2023 00:52:27] "GET /static/admin/css/dark_mode.css HTTP/1.1" 200 2929
web_1        | [01/Jun/2023 00:52:27] "GET /static/admin/css/login.css HTTP/1.1" 200 958
web_1        | [01/Jun/2023 00:52:27] "GET /static/admin/css/base.css HTTP/1.1" 200 21207
web_1        | [01/Jun/2023 00:52:27] "GET /static/admin/css/responsive.css HTTP/1.1" 200 18557
web_1        | [01/Jun/2023 00:52:27] "GET /static/admin/js/nav_sidebar.js HTTP/1.1" 200 3063
web_1        | [01/Jun/2023 00:52:27] "GET /static/admin/js/theme.js HTTP/1.1" 200 1943
web_1        | [01/Jun/2023 00:52:27] "GET /favicon.ico HTTP/1.1" 302 0
web_1        | [01/Jun/2023 00:52:27] "GET /static/favicon.ico HTTP/1.1" 304 0
web_1        | [01/Jun/2023 00:52:30] "POST /lndg-admin/login/?next=/ HTTP/1.1" 302 0
web_1        | [01/Jun/2023 00:52:31] "GET / HTTP/1.1" 200 91066
web_1        | [01/Jun/2023 00:52:32] "GET /static/sort_table.js HTTP/1.1" 304 0
web_1        | [01/Jun/2023 00:52:32] "GET /static/dark_mode.js HTTP/1.1" 304 0
web_1        | [01/Jun/2023 00:52:32] "GET /static/w3style.css HTTP/1.1" 304 0
web_1        | [01/Jun/2023 00:52:32] "GET /static/api.js HTTP/1.1" 304 0
web_1        | [01/Jun/2023 00:52:32] "GET /static/qrcode.js HTTP/1.1" 304 0
web_1        | [01/Jun/2023 00:52:32] "GET /api/rebalancer/?limit=10&status=&payment_hash=&format=json HTTP/1.1" 200 52
web_1        | [01/Jun/2023 00:53:05] "GET /fees/ HTTP/1.1" 200 93039
web_1        | [01/Jun/2023 00:53:26] "POST /update_settings/ HTTP/1.1" 302 0
web_1        | [01/Jun/2023 00:53:28] "GET /fees/ HTTP/1.1" 200 93462
web_1        | [01/Jun/2023 00:53:30] "GET /fees/ HTTP/1.1" 200 93038
web_1        | [01/Jun/2023 00:53:31] "GET /static/api.js HTTP/1.1" 304 0
web_1        | [01/Jun/2023 00:53:31] "GET /static/w3style.css HTTP/1.1" 304 0
web_1        | [01/Jun/2023 00:53:31] "GET /static/qrcode.js HTTP/1.1" 304 0
web_1        | [01/Jun/2023 00:53:31] "GET /static/dark_mode.js HTTP/1.1" 304 0
web_1        | [01/Jun/2023 00:53:31] "GET /static/sort_table.js HTTP/1.1" 304 0
web_1        | [01/Jun/2023 00:53:31] "GET /favicon.ico HTTP/1.1" 302 0
web_1        | [01/Jun/2023 00:53:31] "GET /static/favicon.ico HTTP/1.1" 304 0
web_1        | [01/Jun/2023 00:53:33] "POST /update_setting/ HTTP/1.1" 302 0
web_1        | [01/Jun/2023 00:53:34] "GET /fees/ HTTP/1.1" 200 93888
web_1        | [01/Jun/2023 00:53:47] "POST /update_settings/ HTTP/1.1" 302 0
web_1        | [01/Jun/2023 00:53:48] "GET /fees/ HTTP/1.1" 200 93507
web_1        | [01/Jun/2023 00:53:51] "GET / HTTP/1.1" 200 91044
web_1        | [01/Jun/2023 00:53:52] "GET /api/rebalancer/?limit=10&status=&payment_hash=&format=json HTTP/1.1" 200 52
web_1        | [01/Jun/2023 00:54:01] "GET /advanced/ HTTP/1.1" 200 289614
web_1        | [01/Jun/2023 00:54:30] "POST /update_settings/ HTTP/1.1" 302 0
web_1        | [01/Jun/2023 00:54:30] "GET /advanced/ HTTP/1.1" 200 291705
web_1        | [01/Jun/2023 00:54:30] "GET /static/api.js HTTP/1.1" 304 0
web_1        | [01/Jun/2023 00:54:30] "GET /static/sort_table.js HTTP/1.1" 304 0
web_1        | [01/Jun/2023 00:54:30] "GET /static/dark_mode.js HTTP/1.1" 304 0
web_1        | [01/Jun/2023 00:54:30] "GET /static/w3style.css HTTP/1.1" 304 0
web_1        | [01/Jun/2023 00:54:30] "GET /static/qrcode.js HTTP/1.1" 304 0
web_1        | [01/Jun/2023 00:54:33] "GET / HTTP/1.1" 200 91048
web_1        | [01/Jun/2023 00:54:34] "GET /api/rebalancer/?limit=10&status=&payment_hash=&format=json HTTP/1.1" 200 52
web_1        | /lndg/gui/views.py:1005: FutureWarning: Calling int on a single element Series is deprecated and will raise a TypeError in the future. Use int(ser.iloc[0]) instead
web_1        |   channels_df['in_percent'] = int(round((channels_df['remote_balance']/channels_df['capacity'])*100, 0))
web_1        | /lndg/gui/views.py:1006: FutureWarning: Calling int on a single element Series is deprecated and will raise a TypeError in the future. Use int(ser.iloc[0]) instead
web_1        |   channels_df['out_percent'] = int(round((channels_df['local_balance']/channels_df['capacity'])*100, 0))
web_1        | /lndg/gui/views.py:1007: FutureWarning: Calling int on a single element Series is deprecated and will raise a TypeError in the future. Use int(ser.iloc[0]) instead
web_1        |   channels_df['open_block'] = int(channels_df.chan_id)>>40
web_1        | /lndg/gui/views.py:1125: FutureWarning: Calling int on a single element Series is deprecated and will raise a TypeError in the future. Use int(ser.iloc[0]) instead
web_1        |   channels_df['average_in'] = 0 if channels_df['routed_in'][0] == 0 else int(channels_df['amt_routed_in']/channels_df['routed_in'])
web_1        | /lndg/gui/views.py:1133: FutureWarning: Calling int on a single element Series is deprecated and will raise a TypeError in the future. Use int(ser.iloc[0]) instead
web_1        |   channels_df['average_in_30day'] = 0 if channels_df['routed_in_30day'][0] == 0 else int(channels_df['amt_routed_in_30day']/channels_df['routed_in_30day'])
web_1        | /lndg/gui/views.py:1141: FutureWarning: Calling int on a single element Series is deprecated and will raise a TypeError in the future. Use int(ser.iloc[0]) instead
web_1        |   channels_df['average_in_7day'] = 0 if channels_df['routed_in_7day'][0] == 0 else int(channels_df['amt_routed_in_7day']/channels_df['routed_in_7day'])
web_1        | /lndg/gui/views.py:1161: FutureWarning: Calling int on a single element Series is deprecated and will raise a TypeError in the future. Use int(ser.iloc[0]) instead
web_1        |   channels_df['average_out'] = 0 if channels_df['routed_out'][0] == 0 else int(channels_df['amt_routed_out']/channels_df['routed_out'])
web_1        | /lndg/gui/views.py:1169: FutureWarning: Calling int on a single element Series is deprecated and will raise a TypeError in the future. Use int(ser.iloc[0]) instead
web_1        |   channels_df['average_out_30day'] = 0 if channels_df['routed_out_30day'][0] == 0 else int(channels_df['amt_routed_out_30day']/channels_df['routed_out_30day'])
web_1        | /lndg/gui/views.py:1177: FutureWarning: Calling int on a single element Series is deprecated and will raise a TypeError in the future. Use int(ser.iloc[0]) instead
web_1        |   channels_df['average_out_7day'] = 0 if channels_df['routed_out_7day'][0] == 0 else int(channels_df['amt_routed_out_7day']/channels_df['routed_out_7day'])
web_1        | /lndg/gui/views.py:1249: FutureWarning: Calling int on a single element Series is deprecated and will raise a TypeError in the future. Use int(ser.iloc[0]) instead
web_1        |   channels_df['profits_vol'] = 0 if channels_df['amt_routed_out'][0] == 0 else int(channels_df['profits'] / (channels_df['amt_routed_out']/1000000))
web_1        | /lndg/gui/views.py:1250: FutureWarning: Calling int on a single element Series is deprecated and will raise a TypeError in the future. Use int(ser.iloc[0]) instead
web_1        |   channels_df['profits_vol_30day'] = 0 if channels_df['amt_routed_out_30day'][0] == 0 else int(channels_df['profits_30day'] / (channels_df['amt_routed_out_30day']/1000000))
web_1        | /lndg/gui/views.py:1251: FutureWarning: Calling int on a single element Series is deprecated and will raise a TypeError in the future. Use int(ser.iloc[0]) instead
web_1        |   channels_df['profits_vol_7day'] = 0 if channels_df['amt_routed_out_7day'][0] == 0 else int(channels_df['profits_7day'] / (channels_df['amt_routed_out_7day']/1000000))
web_1        | /lndg/gui/views.py:1280: FutureWarning: Calling int on a single element Series is deprecated and will raise a TypeError in the future. Use int(ser.iloc[0]) instead
web_1        |   channels_df['out_rate'] = int((channels_df['revenue_7day_fees']/channels_df['amt_routed_out_7day_fees'])*1000000) if channels_df['amt_routed_out_7day_fees'][0] > 0 else 0
web_1        | /lndg/gui/views.py:1283: FutureWarning: Calling int on a single element Series is deprecated and will raise a TypeError in the future. Use int(ser.iloc[0]) instead
web_1        |   channels_df['max_suggestion'] = int((channels_df['out_rate'] if channels_df['out_rate'][0] > 0 else channels_df['local_fee_rate'])*1.15) if channels_df['in_percent'][0] > 25 else int(channels_df['local_fee_rate'])
web_1        | /lndg/gui/views.py:1285: FutureWarning: Calling int on a single element Series is deprecated and will raise a TypeError in the future. Use int(ser.iloc[0]) instead
web_1        |   channels_df['min_suggestion'] = int((channels_df['out_rate'] if channels_df['out_rate'][0] > 0 else channels_df['local_fee_rate'])*0.75) if channels_df['out_percent'][0] > 25 else int(channels_df['local_fee_rate'])
web_1        | /lndg/gui/views.py:1288: FutureWarning: Calling int on a single element Series is deprecated and will raise a TypeError in the future. Use int(ser.iloc[0]) instead
web_1        |   channels_df['adjusted_out_rate'] = int(channels_df['out_rate']+channels_df['net_routed_7day']*channels_df['assisted_ratio']*multiplier)
web_1        | /lndg/gui/views.py:1289: FutureWarning: Calling int on a single element Series is deprecated and will raise a TypeError in the future. Use int(ser.iloc[0]) instead
web_1        |   channels_df['adjusted_rebal_rate'] = int(channels_df['rebal_ppm']+channels_df['profit_margin'])
web_1        | /lndg/gui/views.py:1290: FutureWarning: Calling int on a single element Series is deprecated and will raise a TypeError in the future. Use int(ser.iloc[0]) instead
web_1        |   channels_df['out_rate_only'] = int(channels_df['out_rate']+channels_df['net_routed_7day']channels_df['out_rate'](multiplier/100))
web_1        | /lndg/gui/views.py:1291: FutureWarning: Calling int on a single element Series is deprecated and will raise a TypeError in the future. Use int(ser.iloc[0]) instead
web_1        |   channels_df['fee_rate_only'] = int(channels_df['local_fee_rate']+channels_df['net_routed_7day']channels_df['local_fee_rate'](multiplier/100))
web_1        | /lndg/gui/views.py:1294: FutureWarning: Calling int on a single element Series is deprecated and will raise a TypeError in the future. Use int(ser.iloc[0]) instead
web_1        |   channels_df['adjustment'] = int(channels_df['new_rate']-channels_df['local_fee_rate'])
web_1        | /lndg/gui/views.py:1299: FutureWarning: Calling int on a single element Series is deprecated and will raise a TypeError in the future. Use int(ser.iloc[0]) instead
web_1        |   channels_df['new_rate'] = int(round(channels_df['new_rate']/increment, 0)*increment)
web_1        | /lndg/gui/views.py:1302: FutureWarning: Calling int on a single element Series is deprecated and will raise a TypeError in the future. Use int(ser.iloc[0]) instead
web_1        |   channels_df['adjustment'] = int(channels_df['new_rate']-channels_df['local_fee_rate'])
web_1        | /lndg/gui/views.py:1304: FutureWarning: Calling int on a single element Series is deprecated and will raise a TypeError in the future. Use int(ser.iloc[0]) instead
web_1        |   channels_df['fee_ratio'] = 100 if channels_df['local_fee_rate'][0] == 0 else int(round(((channels_df['remote_fee_rate']/channels_df['local_fee_rate'])*1000)/10, 0))
web_1        | /lndg/gui/views.py:1305: FutureWarning: Calling int on a single element Series is deprecated and will raise a TypeError in the future. Use int(ser.iloc[0]) instead
web_1        |   channels_df['fee_check'] = 1 if channels_df['ar_max_cost'][0] == 0 else int(round(((channels_df['fee_ratio']/channels_df['ar_max_cost'])*1000)/10, 0))
web_1        | [01/Jun/2023 00:54:43] "GET /channel?=869844539540439040 HTTP/1.1" 200 20444
web_1        | [01/Jun/2023 00:54:46] "POST /update_channel/ HTTP/1.1" 302 0
web_1        | /lndg/gui/views.py:1005: FutureWarning: Calling int on a single element Series is deprecated and will raise a TypeError in the future. Use int(ser.iloc[0]) instead
web_1        |   channels_df['in_percent'] = int(round((channels_df['remote_balance']/channels_df['capacity'])*100, 0))
web_1        | /lndg/gui/views.py:1006: FutureWarning: Calling int on a single element Series is deprecated and will raise a TypeError in the future. Use int(ser.iloc[0]) instead
web_1        |   channels_df['out_percent'] = int(round((channels_df['local_balance']/channels_df['capacity'])*100, 0))
web_1        | /lndg/gui/views.py:1007: FutureWarning: Calling int on a single element Series is deprecated and will raise a TypeError in the future. Use int(ser.iloc[0]) instead
web_1        |   channels_df['open_block'] = int(channels_df.chan_id)>>40
web_1        | /lndg/gui/views.py:1125: FutureWarning: Calling int on a single element Series is deprecated and will raise a TypeError in the future. Use int(ser.iloc[0]) instead
web_1        |   channels_df['average_in'] = 0 if channels_df['routed_in'][0] == 0 else int(channels_df['amt_routed_in']/channels_df['routed_in'])
web_1        | /lndg/gui/views.py:1133: FutureWarning: Calling int on a single element Series is deprecated and will raise a TypeError in the future. Use int(ser.iloc[0]) instead
web_1        |   channels_df['average_in_30day'] = 0 if channels_df['routed_in_30day'][0] == 0 else int(channels_df['amt_routed_in_30day']/channels_df['routed_in_30day'])
web_1        | /lndg/gui/views.py:1141: FutureWarning: Calling int on a single element Series is deprecated and will raise a TypeError in the future. Use int(ser.iloc[0]) instead
web_1        |   channels_df['average_in_7day'] = 0 if channels_df['routed_in_7day'][0] == 0 else int(channels_df['amt_routed_in_7day']/channels_df['routed_in_7day'])
web_1        | /lndg/gui/views.py:1161: FutureWarning: Calling int on a single element Series is deprecated and will raise a TypeError in the future. Use int(ser.iloc[0]) instead
web_1        |   channels_df['average_out'] = 0 if channels_df['routed_out'][0] == 0 else int(channels_df['amt_routed_out']/channels_df['routed_out'])
web_1        | /lndg/gui/views.py:1169: FutureWarning: Calling int on a single element Series is deprecated and will raise a TypeError in the future. Use int(ser.iloc[0]) instead
web_1        |   channels_df['average_out_30day'] = 0 if channels_df['routed_out_30day'][0] == 0 else int(channels_df['amt_routed_out_30day']/channels_df['routed_out_30day'])
web_1        | /lndg/gui/views.py:1177: FutureWarning: Calling int on a single element Series is deprecated and will raise a TypeError in the future. Use int(ser.iloc[0]) instead
web_1        |   channels_df['average_out_7day'] = 0 if channels_df['routed_out_7day'][0] == 0 else int(channels_df['amt_routed_out_7day']/channels_df['routed_out_7day'])
web_1        | /lndg/gui/views.py:1249: FutureWarning: Calling int on a single element Series is deprecated and will raise a TypeError in the future. Use int(ser.iloc[0]) instead
web_1        |   channels_df['profits_vol'] = 0 if channels_df['amt_routed_out'][0] == 0 else int(channels_df['profits'] / (channels_df['amt_routed_out']/1000000))
web_1        | /lndg/gui/views.py:1250: FutureWarning: Calling int on a single element Series is deprecated and will raise a TypeError in the future. Use int(ser.iloc[0]) instead
web_1        |   channels_df['profits_vol_30day'] = 0 if channels_df['amt_routed_out_30day'][0] == 0 else int(channels_df['profits_30day'] / (channels_df['amt_routed_out_30day']/1000000))
web_1        | /lndg/gui/views.py:1251: FutureWarning: Calling int on a single element Series is deprecated and will raise a TypeError in the future. Use int(ser.iloc[0]) instead
web_1        |   channels_df['profits_vol_7day'] = 0 if channels_df['amt_routed_out_7day'][0] == 0 else int(channels_df['profits_7day'] / (channels_df['amt_routed_out_7day']/1000000))
web_1        | /lndg/gui/views.py:1280: FutureWarning: Calling int on a single element Series is deprecated and will raise a TypeError in the future. Use int(ser.iloc[0]) instead
web_1        |   channels_df['out_rate'] = int((channels_df['revenue_7day_fees']/channels_df['amt_routed_out_7day_fees'])*1000000) if channels_df['amt_routed_out_7day_fees'][0] > 0 else 0
web_1        | /lndg/gui/views.py:1283: FutureWarning: Calling int on a single element Series is deprecated and will raise a TypeError in the future. Use int(ser.iloc[0]) instead
web_1        |   channels_df['max_suggestion'] = int((channels_df['out_rate'] if channels_df['out_rate'][0] > 0 else channels_df['local_fee_rate'])*1.15) if channels_df['in_percent'][0] > 25 else int(channels_df['local_fee_rate'])
web_1        | /lndg/gui/views.py:1285: FutureWarning: Calling int on a single element Series is deprecated and will raise a TypeError in the future. Use int(ser.iloc[0]) instead
web_1        |   channels_df['min_suggestion'] = int((channels_df['out_rate'] if channels_df['out_rate'][0] > 0 else channels_df['local_fee_rate'])*0.75) if channels_df['out_percent'][0] > 25 else int(channels_df['local_fee_rate'])
web_1        | /lndg/gui/views.py:1288: FutureWarning: Calling int on a single element Series is deprecated and will raise a TypeError in the future. Use int(ser.iloc[0]) instead
web_1        |   channels_df['adjusted_out_rate'] = int(channels_df['out_rate']+channels_df['net_routed_7day']*channels_df['assisted_ratio']*multiplier)
web_1        | /lndg/gui/views.py:1289: FutureWarning: Calling int on a single element Series is deprecated and will raise a TypeError in the future. Use int(ser.iloc[0]) instead
web_1        |   channels_df['adjusted_rebal_rate'] = int(channels_df['rebal_ppm']+channels_df['profit_margin'])
web_1        | /lndg/gui/views.py:1290: FutureWarning: Calling int on a single element Series is deprecated and will raise a TypeError in the future. Use int(ser.iloc[0]) instead
web_1        |   channels_df['out_rate_only'] = int(channels_df['out_rate']+channels_df['net_routed_7day']channels_df['out_rate'](multiplier/100))
web_1        | /lndg/gui/views.py:1291: FutureWarning: Calling int on a single element Series is deprecated and will raise a TypeError in the future. Use int(ser.iloc[0]) instead
web_1        |   channels_df['fee_rate_only'] = int(channels_df['local_fee_rate']+channels_df['net_routed_7day']channels_df['local_fee_rate'](multiplier/100))
web_1        | /lndg/gui/views.py:1294: FutureWarning: Calling int on a single element Series is deprecated and will raise a TypeError in the future. Use int(ser.iloc[0]) instead
web_1        |   channels_df['adjustment'] = int(channels_df['new_rate']-channels_df['local_fee_rate'])
web_1        | /lndg/gui/views.py:1299: FutureWarning: Calling int on a single element Series is deprecated and will raise a TypeError in the future. Use int(ser.iloc[0]) instead
web_1        |   channels_df['new_rate'] = int(round(channels_df['new_rate']/increment, 0)*increment)
web_1        | /lndg/gui/views.py:1302: FutureWarning: Calling int on a single element Series is deprecated and will raise a TypeError in the future. Use int(ser.iloc[0]) instead
web_1        |   channels_df['adjustment'] = int(channels_df['new_rate']-channels_df['local_fee_rate'])
web_1        | /lndg/gui/views.py:1304: FutureWarning: Calling int on a single element Series is deprecated and will raise a TypeError in the future. Use int(ser.iloc[0]) instead
web_1        |   channels_df['fee_ratio'] = 100 if channels_df['local_fee_rate'][0] == 0 else int(round(((channels_df['remote_fee_rate']/channels_df['local_fee_rate'])*1000)/10, 0))
web_1        | /lndg/gui/views.py:1305: FutureWarning: Calling int on a single element Series is deprecated and will raise a TypeError in the future. Use int(ser.iloc[0]) instead
web_1        |   channels_df['fee_check'] = 1 if channels_df['ar_max_cost'][0] == 0 else int(round(((channels_df['fee_ratio']/channels_df['ar_max_cost'])*1000)/10, 0))
web_1        | [01/Jun/2023 00:54:47] "GET /channel?=869844539540439040 HTTP/1.1" 200 20926
web_1        | [01/Jun/2023 00:54:52] "GET / HTTP/1.1" 200 90954
web_1        | [01/Jun/2023 00:54:53] "GET /api/rebalancer/?limit=10&status=&payment_hash=&format=json HTTP/1.1" 200 52
web_1        | [01/Jun/2023 00:55:21] "GET / HTTP/1.1" 200 90954
web_1        | [01/Jun/2023 00:55:21] "GET /favicon.ico HTTP/1.1" 302 0
web_1        | [01/Jun/2023 00:55:21] "GET /api/rebalancer/?limit=10&status=&payment_hash=&format=json HTTP/1.1" 200 52
web_1        | [01/Jun/2023 00:55:21] "GET /static/favicon.ico HTTP/1.1" 304 0
web_1        | /lndg/gui/views.py:1005: FutureWarning: Calling int on a single element Series is deprecated and will raise a TypeError in the future. Use int(ser.iloc[0]) instead
web_1        |   channels_df['in_percent'] = int(round((channels_df['remote_balance']/channels_df['capacity'])*100, 0))
web_1        | /lndg/gui/views.py:1006: FutureWarning: Calling int on a single element Series is deprecated and will raise a TypeError in the future. Use int(ser.iloc[0]) instead
web_1        |   channels_df['out_percent'] = int(round((channels_df['local_balance']/channels_df['capacity'])*100, 0))
web_1        | /lndg/gui/views.py:1007: FutureWarning: Calling int on a single element Series is deprecated and will raise a TypeError in the future. Use int(ser.iloc[0]) instead
web_1        |   channels_df['open_block'] = int(channels_df.chan_id)>>40
web_1        | /lndg/gui/views.py:1283: FutureWarning: Calling int on a single element Series is deprecated and will raise a TypeError in the future. Use int(ser.iloc[0]) instead
web_1        |   channels_df['max_suggestion'] = int((channels_df['out_rate'] if channels_df['out_rate'][0] > 0 else channels_df['local_fee_rate'])*1.15) if channels_df['in_percent'][0] > 25 else int(channels_df['local_fee_rate'])
web_1        | /lndg/gui/views.py:1285: FutureWarning: Calling int on a single element Series is deprecated and will raise a TypeError in the future. Use int(ser.iloc[0]) instead
web_1        |   channels_df['min_suggestion'] = int((channels_df['out_rate'] if channels_df['out_rate'][0] > 0 else channels_df['local_fee_rate'])*0.75) if channels_df['out_percent'][0] > 25 else int(channels_df['local_fee_rate'])
web_1        | /lndg/gui/views.py:1288: FutureWarning: Calling int on a single element Series is deprecated and will raise a TypeError in the future. Use int(ser.iloc[0]) instead
web_1        |   channels_df['adjusted_out_rate'] = int(channels_df['out_rate']+channels_df['net_routed_7day']*channels_df['assisted_ratio']*multiplier)
web_1        | /lndg/gui/views.py:1289: FutureWarning: Calling int on a single element Series is deprecated and will raise a TypeError in the future. Use int(ser.iloc[0]) instead
web_1        |   channels_df['adjusted_rebal_rate'] = int(channels_df['rebal_ppm']+channels_df['profit_margin'])
web_1        | /lndg/gui/views.py:1290: FutureWarning: Calling int on a single element Series is deprecated and will raise a TypeError in the future. Use int(ser.iloc[0]) instead
web_1        |   channels_df['out_rate_only'] = int(channels_df['out_rate']+channels_df['net_routed_7day']channels_df['out_rate'](multiplier/100))
web_1        | /lndg/gui/views.py:1291: FutureWarning: Calling int on a single element Series is deprecated and will raise a TypeError in the future. Use int(ser.iloc[0]) instead
web_1        |   channels_df['fee_rate_only'] = int(channels_df['local_fee_rate']+channels_df['net_routed_7day']channels_df['local_fee_rate'](multiplier/100))
web_1        | /lndg/gui/views.py:1294: FutureWarning: Calling int on a single element Series is deprecated and will raise a TypeError in the future. Use int(ser.iloc[0]) instead
web_1        |   channels_df['adjustment'] = int(channels_df['new_rate']-channels_df['local_fee_rate'])
web_1        | /lndg/gui/views.py:1299: FutureWarning: Calling int on a single element Series is deprecated and will raise a TypeError in the future. Use int(ser.iloc[0]) instead
web_1        |   channels_df['new_rate'] = int(round(channels_df['new_rate']/increment, 0)*increment)
web_1        | /lndg/gui/views.py:1302: FutureWarning: Calling int on a single element Series is deprecated and will raise a TypeError in the future. Use int(ser.iloc[0]) instead
web_1        |   channels_df['adjustment'] = int(channels_df['new_rate']-channels_df['local_fee_rate'])
web_1        | /lndg/gui/views.py:1304: FutureWarning: Calling int on a single element Series is deprecated and will raise a TypeError in the future. Use int(ser.iloc[0]) instead
web_1        |   channels_df['fee_ratio'] = 100 if channels_df['local_fee_rate'][0] == 0 else int(round(((channels_df['remote_fee_rate']/channels_df['local_fee_rate'])*1000)/10, 0))
web_1        | /lndg/gui/views.py:1305: FutureWarning: Calling int on a single element Series is deprecated and will raise a TypeError in the future. Use int(ser.iloc[0]) instead
web_1        |   channels_df['fee_check'] = 1 if channels_df['ar_max_cost'][0] == 0 else int(round(((channels_df['fee_ratio']/channels_df['ar_max_cost'])*1000)/10, 0))
web_1        | [01/Jun/2023 00:56:18] "GET /channel?=870140308255932419 HTTP/1.1" 200 17435
web_1        | [01/Jun/2023 00:56:18] "GET /static/w3style.css HTTP/1.1" 304 0
web_1        | [01/Jun/2023 00:56:18] "GET /static/api.js HTTP/1.1" 304 0
web_1        | [01/Jun/2023 00:56:18] "GET /static/sort_table.js HTTP/1.1" 304 0
web_1        | [01/Jun/2023 00:56:18] "GET /static/dark_mode.js HTTP/1.1" 304 0
web_1        | [01/Jun/2023 00:56:18] "GET /static/qrcode.js HTTP/1.1" 304 0
web_1        | [01/Jun/2023 01:07:28] "GET / HTTP/1.1" 200 91458
web_1        | [01/Jun/2023 01:07:28] "GET /static/dark_mode.js HTTP/1.1" 304 0
web_1        | [01/Jun/2023 01:07:28] "GET /static/sort_table.js HTTP/1.1" 304 0
web_1        | [01/Jun/2023 01:07:28] "GET /static/w3style.css HTTP/1.1" 304 0
web_1        | [01/Jun/2023 01:07:28] "GET /static/qrcode.js HTTP/1.1" 304 0
web_1        | [01/Jun/2023 01:07:28] "GET /static/api.js HTTP/1.1" 304 0
web_1        | [01/Jun/2023 01:07:28] "GET /api/rebalancer/?limit=10&status=&payment_hash=&format=json HTTP/1.1" 200 52
web_1        | [01/Jun/2023 01:13:49] "GET / HTTP/1.1" 200 91647
web_1        | [01/Jun/2023 01:13:50] "GET /static/sort_table.js HTTP/1.1" 304 0
web_1        | [01/Jun/2023 01:13:50] "GET /static/w3style.css HTTP/1.1" 304 0
web_1        | [01/Jun/2023 01:13:50] "GET /static/api.js HTTP/1.1" 304 0
web_1        | [01/Jun/2023 01:13:50] "GET /static/qrcode.js HTTP/1.1" 304 0
web_1        | [01/Jun/2023 01:13:50] "GET /static/dark_mode.js HTTP/1.1" 304 0
web_1        | [01/Jun/2023 01:13:50] "GET /api/rebalancer/?limit=10&status=&payment_hash=&format=json HTTP/1.1" 200 52
web_1        | [01/Jun/2023 01:13:50] "GET /favicon.ico HTTP/1.1" 302 0
web_1        | [01/Jun/2023 01:13:50] "GET /static/favicon.ico HTTP/1.1" 304 0
web_1        | [01/Jun/2023 01:14:09] "GET / HTTP/1.1" 200 91647
web_1        | [01/Jun/2023 01:14:09] "GET /api/rebalancer/?limit=10&status=&payment_hash=&format=json HTTP/1.1" 200 52
web_1        | [01/Jun/2023 01:14:09] "GET /favicon.ico HTTP/1.1" 302 0
web_1        | [01/Jun/2023 01:15:17] "GET / HTTP/1.1" 200 91647
web_1        | [01/Jun/2023 01:15:17] "GET /static/api.js HTTP/1.1" 304 0
web_1        | [01/Jun/2023 01:15:17] "GET /static/sort_table.js HTTP/1.1" 304 0
web_1        | [01/Jun/2023 01:15:17] "GET /static/w3style.css HTTP/1.1" 304 0
web_1        | [01/Jun/2023 01:15:17] "GET /static/qrcode.js HTTP/1.1" 304 0
web_1        | [01/Jun/2023 01:15:17] "GET /static/dark_mode.js HTTP/1.1" 304 0
web_1        | [01/Jun/2023 01:15:17] "GET /api/rebalancer/?limit=10&status=&payment_hash=&format=json HTTP/1.1" 200 52
web_1        | [01/Jun/2023 01:15:17] "GET /favicon.ico HTTP/1.1" 302 0
web_1        | [01/Jun/2023 01:15:17] "GET /static/favicon.ico HTTP/1.1" 304 0
web_1        | [01/Jun/2023 01:33:32] "GET / HTTP/1.1" 200 91365
web_1        | [01/Jun/2023 01:33:32] "GET /static/sort_table.js HTTP/1.1" 304 0
web_1        | [01/Jun/2023 01:33:32] "GET /static/w3style.css HTTP/1.1" 304 0
web_1        | [01/Jun/2023 01:33:32] "GET /static/api.js HTTP/1.1" 304 0
web_1        | [01/Jun/2023 01:33:32] "GET /static/qrcode.js HTTP/1.1" 304 0
web_1        | [01/Jun/2023 01:33:32] "GET /static/dark_mode.js HTTP/1.1" 304 0
web_1        | [01/Jun/2023 01:33:32] "GET /favicon.ico HTTP/1.1" 302 0
web_1        | [01/Jun/2023 01:33:32] "GET /api/rebalancer/?limit=10&status=&payment_hash=&format=json HTTP/1.1" 200 52
web_1        | [01/Jun/2023 01:33:33] "GET /static/favicon.ico HTTP/1.1" 304 0
web_1        | [01/Jun/2023 01:42:50] "GET / HTTP/1.1" 200 91459
web_1        | [01/Jun/2023 01:42:51] "GET /static/sort_table.js HTTP/1.1" 304 0
web_1        | [01/Jun/2023 01:42:51] "GET /static/w3style.css HTTP/1.1" 304 0
web_1        | [01/Jun/2023 01:42:51] "GET /static/api.js HTTP/1.1" 304 0
web_1        | [01/Jun/2023 01:42:51] "GET /static/dark_mode.js HTTP/1.1" 304 0
web_1        | [01/Jun/2023 01:42:51] "GET /static/qrcode.js HTTP/1.1" 304 0
web_1        | [01/Jun/2023 01:42:51] "GET /favicon.ico HTTP/1.1" 302 0
web_1        | [01/Jun/2023 01:42:51] "GET /api/rebalancer/?limit=10&status=&payment_hash=&format=json HTTP/1.1" 200 52
web_1        | [01/Jun/2023 01:42:51] "GET /static/favicon.ico HTTP/1.1" 304 0
web_1        | [01/Jun/2023 02:43:52] "GET / HTTP/1.1" 200 91350
web_1        | [01/Jun/2023 02:43:52] "GET /static/sort_table.js HTTP/1.1" 304 0
web_1        | [01/Jun/2023 02:43:52] "GET /static/qrcode.js HTTP/1.1" 304 0
web_1        | [01/Jun/2023 02:43:52] "GET /static/w3style.css HTTP/1.1" 304 0
web_1        | [01/Jun/2023 02:43:52] "GET /static/api.js HTTP/1.1" 304 0
web_1        | [01/Jun/2023 02:43:52] "GET /static/dark_mode.js HTTP/1.1" 304 0
web_1        | [01/Jun/2023 02:43:52] "GET /api/rebalancer/?limit=10&status=&payment_hash=&format=json HTTP/1.1" 200 52
web_1        | [01/Jun/2023 04:34:44] "GET / HTTP/1.1" 200 92948
web_1        | [01/Jun/2023 04:34:44] "GET /static/api.js HTTP/1.1" 304 0
web_1        | [01/Jun/2023 04:34:44] "GET /static/sort_table.js HTTP/1.1" 304 0
web_1        | [01/Jun/2023 04:34:44] "GET /static/qrcode.js HTTP/1.1" 304 0
web_1        | [01/Jun/2023 04:34:44] "GET /static/w3style.css HTTP/1.1" 304 0
web_1        | [01/Jun/2023 04:34:44] "GET /static/dark_mode.js HTTP/1.1" 304 0
web_1        | [01/Jun/2023 04:34:44] "GET /api/rebalancer/?limit=10&status=&payment_hash=&format=json HTTP/1.1" 200 52
web_1        | [01/Jun/2023 04:34:44] "GET /favicon.ico HTTP/1.1" 302 0
web_1        | [01/Jun/2023 04:34:44] "GET /static/favicon.ico HTTP/1.1" 304 0
web_1        | [01/Jun/2023 05:26:33] "GET / HTTP/1.1" 200 93263
web_1        | [01/Jun/2023 05:26:33] "GET /static/api.js HTTP/1.1" 304 0
web_1        | [01/Jun/2023 05:26:33] "GET /static/dark_mode.js HTTP/1.1" 304 0
web_1        | [01/Jun/2023 05:26:34] "GET /static/w3style.css HTTP/1.1" 304 0
web_1        | [01/Jun/2023 05:26:34] "GET /static/sort_table.js HTTP/1.1" 304 0
web_1        | [01/Jun/2023 05:26:34] "GET /static/qrcode.js HTTP/1.1" 304 0
web_1        | [01/Jun/2023 05:26:34] "GET /api/rebalancer/?limit=10&status=&payment_hash=&format=json HTTP/1.1" 200 52
web_1        | [01/Jun/2023 05:26:34] "GET /favicon.ico HTTP/1.1" 302 0
web_1        | [01/Jun/2023 05:26:34] "GET /static/favicon.ico HTTP/1.1" 304 0
web_1        | [01/Jun/2023 09:45:34] "GET /advanced/ HTTP/1.1" 200 290085
web_1        | [01/Jun/2023 09:45:34] "GET /static/api.js HTTP/1.1" 304 0
web_1        | [01/Jun/2023 09:45:34] "GET / HTTP/1.1" 200 97421
web_1        | [01/Jun/2023 09:45:34] "GET /static/sort_table.js HTTP/1.1" 304 0
web_1        | [01/Jun/2023 09:45:34] "GET /static/w3style.css HTTP/1.1" 304 0
web_1        | [01/Jun/2023 09:45:34] "GET /static/dark_mode.js HTTP/1.1" 304 0
web_1        | [01/Jun/2023 09:45:35] "GET /static/qrcode.js HTTP/1.1" 304 0
web_1        | [01/Jun/2023 09:45:35] "GET /api/rebalancer/?limit=10&status=&payment_hash=&format=json HTTP/1.1" 200 52
web_1        | [01/Jun/2023 09:45:36] "GET / HTTP/1.1" 200 97421
web_1        | [01/Jun/2023 09:45:37] "GET / HTTP/1.1" 200 97421
web_1        | [01/Jun/2023 09:45:37] "GET /api/rebalancer/?limit=10&status=&payment_hash=&format=json HTTP/1.1" 200 52
web_1        | [01/Jun/2023 09:45:38] "GET / HTTP/1.1" 200 97421
web_1        | [01/Jun/2023 09:45:38] "GET /favicon.ico HTTP/1.1" 302 0
web_1        | [01/Jun/2023 09:45:39] "GET /static/favicon.ico HTTP/1.1" 304 0
web_1        | [01/Jun/2023 09:45:39] "GET /favicon.ico HTTP/1.1" 302 0
web_1        | [01/Jun/2023 09:45:39] "GET /api/rebalancer/?limit=10&status=&payment_hash=&format=json HTTP/1.1" 200 52
web_1        | [01/Jun/2023 09:45:40] "GET / HTTP/1.1" 200 97421
web_1        | [01/Jun/2023 09:45:40] "GET /api/rebalancer/?limit=10&status=&payment_hash=&format=json HTTP/1.1" 200 52
web_1        | [01/Jun/2023 09:45:40] "GET /favicon.ico HTTP/1.1" 302 0
web_1        | [01/Jun/2023 09:45:41] "GET / HTTP/1.1" 200 97421
web_1        | [01/Jun/2023 09:45:42] "GET /favicon.ico HTTP/1.1" 302 0
web_1        | [01/Jun/2023 09:45:42] "GET /api/rebalancer/?limit=10&status=&payment_hash=&format=json HTTP/1.1" 200 52
web_1        | [01/Jun/2023 09:45:43] "GET / HTTP/1.1" 200 97421
web_1        | [01/Jun/2023 09:45:43] "GET /api/rebalancer/?limit=10&status=&payment_hash=&format=json HTTP/1.1" 200 52
web_1        | [01/Jun/2023 09:45:43] "GET /favicon.ico HTTP/1.1" 302 0
web_1        | [01/Jun/2023 09:45:44] "GET /api/rebalancer/?limit=10&status=&payment_hash=&format=json HTTP/1.1" 200 52
web_1        | [01/Jun/2023 09:45:44] "GET / HTTP/1.1" 200 97421
web_1        | [01/Jun/2023 09:45:45] "GET /api/rebalancer/?limit=10&status=&payment_hash=&format=json HTTP/1.1" 200 52
web_1        | [01/Jun/2023 09:45:46] "GET / HTTP/1.1" 200 97421
web_1        | [01/Jun/2023 09:45:46] "GET /api/rebalancer/?limit=10&status=&payment_hash=&format=json HTTP/1.1" 200 52
web_1        | [01/Jun/2023 10:10:41] "GET / HTTP/1.1" 200 97521
web_1        | [01/Jun/2023 10:10:41] "GET /static/api.js HTTP/1.1" 304 0
web_1        | [01/Jun/2023 10:10:41] "GET /static/sort_table.js HTTP/1.1" 304 0
web_1        | [01/Jun/2023 10:10:41] "GET /static/w3style.css HTTP/1.1" 304 0
web_1        | [01/Jun/2023 10:10:41] "GET /static/dark_mode.js HTTP/1.1" 304 0
web_1        | [01/Jun/2023 10:10:41] "GET /static/qrcode.js HTTP/1.1" 304 0
web_1        | [01/Jun/2023 10:10:41] "GET /favicon.ico HTTP/1.1" 302 0
web_1        | [01/Jun/2023 10:10:41] "GET /api/rebalancer/?limit=10&status=&payment_hash=&format=json HTTP/1.1" 200 52
web_1        | [01/Jun/2023 10:10:41] "GET /static/favicon.ico HTTP/1.1" 304 0
web_1        | [01/Jun/2023 11:56:49] "GET / HTTP/1.1" 200 97614
web_1        | [01/Jun/2023 11:56:49] "GET /static/api.js HTTP/1.1" 304 0
web_1        | [01/Jun/2023 11:56:49] "GET /static/w3style.css HTTP/1.1" 304 0
web_1        | [01/Jun/2023 11:56:49] "GET /static/sort_table.js HTTP/1.1" 304 0
web_1        | [01/Jun/2023 11:56:49] "GET /static/dark_mode.js HTTP/1.1" 304 0
web_1        | [01/Jun/2023 11:56:49] "GET /static/qrcode.js HTTP/1.1" 304 0
web_1        | [01/Jun/2023 11:56:50] "GET /api/rebalancer/?limit=10&status=&payment_hash=&format=json HTTP/1.1" 200 52
web_1        | [01/Jun/2023 11:57:01] "GET / HTTP/1.1" 200 97614
web_1        | [01/Jun/2023 11:57:02] "GET /favicon.ico HTTP/1.1" 302 0
web_1        | [01/Jun/2023 11:57:02] "GET /api/rebalancer/?limit=10&status=&payment_hash=&format=json HTTP/1.1" 200 52
web_1        | [01/Jun/2023 11:57:02] "GET /static/favicon.ico HTTP/1.1" 304 0
web_1        | [01/Jun/2023 11:57:55] "GET /advanced/ HTTP/1.1" 200 289576
web_1        | [01/Jun/2023 11:57:55] "GET /static/api.js HTTP/1.1" 304 0
web_1        | [01/Jun/2023 11:57:55] "GET /static/w3style.css HTTP/1.1" 304 0
web_1        | [01/Jun/2023 11:57:55] "GET /static/qrcode.js HTTP/1.1" 304 0
web_1        | [01/Jun/2023 11:57:55] "GET /static/dark_mode.js HTTP/1.1" 304 0
web_1        | [01/Jun/2023 11:57:55] "GET /static/sort_table.js HTTP/1.1" 304 0
web_1        | [01/Jun/2023 11:58:15] "POST /update_channel/ HTTP/1.1" 302 0
web_1        | [01/Jun/2023 11:58:16] "GET /advanced/ HTTP/1.1" 200 290056
web_1        | [01/Jun/2023 11:58:37] "POST /update_channel/ HTTP/1.1" 302 0
web_1        | [01/Jun/2023 11:58:38] "GET /advanced/ HTTP/1.1" 200 290075
web_1        | [01/Jun/2023 11:59:30] "POST /update_channel/ HTTP/1.1" 302 0
web_1        | [01/Jun/2023 11:59:31] "GET /advanced/ HTTP/1.1" 200 290057
web_1        | [01/Jun/2023 11:59:31] "GET /static/api.js HTTP/1.1" 304 0
web_1        | [01/Jun/2023 11:59:31] "GET /static/w3style.css HTTP/1.1" 304 0
web_1        | [01/Jun/2023 11:59:31] "GET /static/sort_table.js HTTP/1.1" 304 0
web_1        | [01/Jun/2023 11:59:31] "GET /static/dark_mode.js HTTP/1.1" 304 0
web_1        | [01/Jun/2023 11:59:31] "GET /static/qrcode.js HTTP/1.1" 304 0
web_1        | [01/Jun/2023 11:59:54] "POST /update_channel/ HTTP/1.1" 302 0
web_1        | [01/Jun/2023 11:59:56] "GET /advanced/ HTTP/1.1" 200 290048
web_1        | [01/Jun/2023 12:00:30] "GET /advanced/ HTTP/1.1" 200 289574
web_1        | [01/Jun/2023 21:45:14] "GET / HTTP/1.1" 200 97915
web_1        | [01/Jun/2023 21:45:14] "GET /static/api.js HTTP/1.1" 304 0
web_1        | [01/Jun/2023 21:45:15] "GET /static/sort_table.js HTTP/1.1" 304 0
web_1        | [01/Jun/2023 21:45:15] "GET /static/dark_mode.js HTTP/1.1" 304 0
web_1        | [01/Jun/2023 21:45:15] "GET /static/w3style.css HTTP/1.1" 304 0
web_1        | [01/Jun/2023 21:45:15] "GET /static/qrcode.js HTTP/1.1" 304 0
web_1        | [01/Jun/2023 21:45:15] "GET /api/rebalancer/?limit=10&status=&payment_hash=&format=json HTTP/1.1" 200 52
web_1        | [01/Jun/2023 21:54:08] "GET /autofees/ HTTP/1.1" 200 18825
web_1        | [01/Jun/2023 21:54:08] "GET /static/api.js HTTP/1.1" 200 4092
web_1        | [01/Jun/2023 21:54:08] "GET /static/qrcode.js HTTP/1.1" 200 19927
web_1        | [01/Jun/2023 21:54:08] "GET /static/sort_table.js HTTP/1.1" 200 2802
web_1        | [01/Jun/2023 21:54:08] "GET /static/dark_mode.js HTTP/1.1" 200 605
web_1        | [01/Jun/2023 21:54:08] "GET /static/w3style.css HTTP/1.1" 200 26381
web_1        | [01/Jun/2023 22:02:26] "GET / HTTP/1.1" 200 97652
web_1        | [01/Jun/2023 22:02:27] "GET /static/api.js HTTP/1.1" 304 0
web_1        | [01/Jun/2023 22:02:27] "GET /static/sort_table.js HTTP/1.1" 304 0
web_1        | [01/Jun/2023 22:02:27] "GET /static/dark_mode.js HTTP/1.1" 304 0
web_1        | [01/Jun/2023 22:02:27] "GET /static/qrcode.js HTTP/1.1" 304 0
web_1        | [01/Jun/2023 22:02:27] "GET /static/w3style.css HTTP/1.1" 304 0
web_1        | [01/Jun/2023 22:02:27] "GET /api/rebalancer/?limit=10&status=&payment_hash=&format=json HTTP/1.1" 200 52

Looks like this is the access logs for LNDg but for the jobs.py log you will need to go inside and tail them.
Try these steps if you want to give it a shot.
Get the LNDg container_id:
docker container ls
Go inside the container:
docker exec -it <container_id> bash
Once inside, tail the jobs.py log:
tail -100f /var/log/lndg-jobs.log
You can also check the supervisord log for any clues as well:
tail -100f /var/log/supervisord.log

This error repeats every minute

umbrel@umbrel:~ $ docker exec -it 03acbc5cab1e bash
root@03acbc5cab1e:/lndg# tail -100f /var/log/lndg-jobs.log
Fri Jun  2 02:55:04 2023 : Error processing background data: <_InactiveRpcError of RPC that terminated with:
status = StatusCode.RESOURCE_EXHAUSTED
details = "Received message larger than max (30440449 vs. 29999999)"
debug_error_string = "UNKNOWN:Error received from peer ipv4:<IP_ADDRESS>:10009 {created_time:"2023-06-02T02:55:04.515429931+00:00", grpc_status:8, grpc_message:"Received message larger than max (30440449 vs. 29999999)"}"

Nothing to speak of in supervisord.log

umbrel@umbrel:~ $ docker exec -it 03acbc5cab1e bash
root@03acbc5cab1e:/lndg# tail -100f /var/log/supervisord.log
2023-06-02 03:12:01,685 INFO success: lndg-rebalancer entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-06-02 03:12:22,239 INFO exited: lndg-rebalancer (exit status 0; expected)
2023-06-02 03:12:23,248 INFO spawned: 'lndg-rebalancer' with pid 29718
2023-06-02 03:12:24,252 INFO success: lndg-rebalancer entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-06-02 03:12:28,247 INFO exited: lndg-jobs (exit status 0; expected)
2023-06-02 03:12:28,554 INFO spawned: 'lndg-jobs' with pid 29721
2023-06-02 03:12:29,569 INFO success: lndg-jobs entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-06-02 03:12:45,853 INFO exited: lndg-rebalancer (exit status 0; expected)
2023-06-02 03:12:46,858 INFO spawned: 'lndg-rebalancer' with pid 29783
2023-06-02 03:12:47,864 INFO success: lndg-rebalancer entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-06-02 03:13:08,700 INFO exited: lndg-rebalancer (exit status 0; expected)
2023-06-02 03:13:09,706 INFO spawned: 'lndg-rebalancer' with pid 29787
2023-06-02 03:13:10,710 INFO success: lndg-rebalancer entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-06-02 03:13:32,940 INFO exited: lndg-rebalancer (exit status 0; expected)
2023-06-02 03:13:33,947 INFO spawned: 'lndg-rebalancer' with pid 29799
2023-06-02 03:13:34,952 INFO success: lndg-rebalancer entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-06-02 03:13:42,402 INFO exited: lndg-jobs (exit status 0; expected)
2023-06-02 03:13:43,409 INFO spawned: 'lndg-jobs' with pid 29803
2023-06-02 03:13:44,412 INFO success: lndg-jobs entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-06-02 03:13:55,283 INFO exited: lndg-rebalancer (exit status 0; expected)
2023-06-02 03:13:56,291 INFO spawned: 'lndg-rebalancer' with pid 29865
2023-06-02 03:13:57,312 INFO success: lndg-rebalancer entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-06-02 03:14:19,332 INFO exited: lndg-rebalancer (exit status 0; expected)
2023-06-02 03:14:20,342 INFO spawned: 'lndg-rebalancer' with pid 29869
2023-06-02 03:14:21,345 INFO success: lndg-rebalancer entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-06-02 03:14:43,543 INFO exited: lndg-rebalancer (exit status 0; expected)
2023-06-02 03:14:44,551 INFO spawned: 'lndg-rebalancer' with pid 29873
2023-06-02 03:14:45,554 INFO success: lndg-rebalancer entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-06-02 03:15:03,526 INFO exited: lndg-jobs (exit status 0; expected)
2023-06-02 03:15:04,533 INFO spawned: 'lndg-jobs' with pid 29878
2023-06-02 03:15:05,535 INFO success: lndg-jobs entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-06-02 03:15:07,531 INFO exited: lndg-rebalancer (exit status 0; expected)
2023-06-02 03:15:08,545 INFO spawned: 'lndg-rebalancer' with pid 29883
2023-06-02 03:15:09,549 INFO success: lndg-rebalancer entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-06-02 03:15:31,462 INFO exited: lndg-rebalancer (exit status 0; expected)
2023-06-02 03:15:32,469 INFO spawned: 'lndg-rebalancer' with pid 29943
2023-06-02 03:15:33,473 INFO success: lndg-rebalancer entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-06-02 03:15:54,244 INFO exited: lndg-rebalancer (exit status 0; expected)
2023-06-02 03:15:55,251 INFO spawned: 'lndg-rebalancer' with pid 29948
2023-06-02 03:15:56,255 INFO success: lndg-rebalancer entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-06-02 03:16:08,581 INFO exited: lndg-jobs (exit status 0; expected)
2023-06-02 03:16:09,594 INFO spawned: 'lndg-jobs' with pid 29952
2023-06-02 03:16:10,597 INFO success: lndg-jobs entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-06-02 03:16:16,718 INFO exited: lndg-rebalancer (exit status 0; expected)
2023-06-02 03:16:17,730 INFO spawned: 'lndg-rebalancer' with pid 29988
2023-06-02 03:16:18,733 INFO success: lndg-rebalancer entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-06-02 03:16:42,176 INFO exited: lndg-rebalancer (exit status 0; expected)
2023-06-02 03:16:43,182 INFO spawned: 'lndg-rebalancer' with pid 30017
2023-06-02 03:16:44,185 INFO success: lndg-rebalancer entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-06-02 03:17:06,002 INFO exited: lndg-rebalancer (exit status 0; expected)
2023-06-02 03:17:07,009 INFO spawned: 'lndg-rebalancer' with pid 30021
2023-06-02 03:17:08,011 INFO success: lndg-rebalancer entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-06-02 03:17:26,283 INFO exited: lndg-jobs (exit status 0; expected)
2023-06-02 03:17:27,298 INFO spawned: 'lndg-jobs' with pid 30026
2023-06-02 03:17:28,301 INFO success: lndg-jobs entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-06-02 03:17:29,449 INFO exited: lndg-rebalancer (exit status 0; expected)
2023-06-02 03:17:30,458 INFO spawned: 'lndg-rebalancer' with pid 30031
2023-06-02 03:17:31,477 INFO success: lndg-rebalancer entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-06-02 03:17:53,014 INFO exited: lndg-rebalancer (exit status 0; expected)

It looks like you are getting a grpc response back from LND that is slightly greater than 30MB in size.  The cap was raised in LNDg to 30MB to allow larger sizes but it seems you are still slightly out of range here.
Further increasing the limit found here to a higher number is probably the best solution in this case. I will include a slightly higher cap in the next release.

I changed the both of the values on that line to 39999999.
Showing routed payments.
Autofee is updating fees again as well.
I did restart LNDg, and the limit reverted to 29999999.
Thanks


feat: add Svelte 4 migration

WIP, depending on what else we can migrate
Please don't delete this checklist! Before submitting the PR, please make sure you do the following:

[ ] It's really useful if your PR references an issue where it is discussed ahead of time. In many cases, features are absent for a reason. For large changes, please create an RFC: https://github.com/sveltejs/rfcs
[ ] This message body should clearly illustrate what problems it solves.
[x] Ideally, include a test that fails without this PR but passes with it.

Tests

[ ] Run the tests with pnpm test and lint the project with pnpm lint and pnpm check

Changesets

[x] If your PR makes a change that should be noted in one or more packages' changelogs, generate a changeset by running pnpm changeset and following the prompts. Changesets that add features should be minor and those that fix bugs should be patch. Please prefix changeset messages with feat:, fix:, or chore:.

looks like the pnpm-lock.yaml will need to be updated
if we find svelte in peerDependencies, we probably want to add  || ^4.0.0

if we find svelte in peerDependencies, we probably want to add  || ^4.0.0

This is purely about the migrate package for now, we should do the compatibility thing once we're sure that actually works. Can I has approval pleez? 😄

Is there a separate documentation that explains to the user which code mods are being done, possibly with examples referencing the breaking changes that made them needed? I understand this is a pretty basic tool, but at the same time we are going to have a larger use for this with svelte-5, and it is going to be used by a lot more people than the sveltekit migrations.
So some attention to UX would go a long way to avoid getting clogged with questions about it

In my opinion that should be part of the migration docs we need to write. "These are the breaking changes, the following are migrated automatically, here's some examples (links to PRs for more details" - sth like that

we could potentially add docs on svelte.dev. @PuruVJ made a placeholder page for it: https://svelte-dev-2-75m8guw4t-svelte.vercel.app/docs/migrating-v3-to-v4
we're aiming to try launching the site at the same time as svelte 4. we could flesh out that page a bit if folks think it's a good idea and a good place to host it

I noticed this package uses promps and create-svelte uses @clack/prompts


Update unit tests instructions, explain how to run them individually

Hey, thanks for creating/maintaining RustPython!
This PR updates the currently failing unit testing instructions on DEVELOPMENT.md and adds instructions to run only specific tests.
Should close #2240

cargo test still runs rust unit tests and the test you added about is python unittest.

Oh, that makes much more sense, I thought that cargo test actually called the python unit tests...
I've made those changes, but I'm not sure if it's ok the way it is or if is there too much info now.


VectorEventArgs becomes internal in latest avalonia 11

Before I could use new VectorEventArgs  instance to create customer control event, like below. But now I cannot because it says VectorEventArgs is internal constructor. Is there an alternative solution? Thanks!
var arg = new VectorEventArgs
{
Handled = e.Handled,
Route = e.Route,
RoutedEvent = MovedFinishedEvent,
Source = e.Source,
Vector = e.Vector
};

Discussed most recently here:

https://github.com/AvaloniaUI/Avalonia/pull/8860#issuecomment-1312819342
https://github.com/AvaloniaUI/Avalonia/pull/9534#issuecomment-1328052233

It's a bigger problem for control authors. @kekekeks @danwalmsley @grokys @maxkatz6

Looks like we will revert this change as the impact was underestimated. If you have a free minute feel free to send us a PR making VectorEventArgs public again.
Have a nice Sunday

Note that the missing constructors of various EventArgs also blocks the adoption from RyuJinx, see https://github.com/Ryujinx/Ryujinx/pull/3997

Some controls are broken due to certain EventArgs initializers being made private (Embedded Window on Windows broken)

It's public in latest master again.


JupyterHub / Docker integration requires some undocumented steps

(Sorry if this is not the right project to report it to, or if it's caused by something I'm doing incorrectly in my own setup.)
In order to add a Haskell kernel to my JupyterHub setup, I added the following to my Docker file, as derived from the Readme. (My base Docker image is jupyter/datascience-notebook, which is why I can't simply use the provided ihaskell image instead of building it.)
USER root
RUN apt-get update && apt-get install -y \
        python3-pip \
        git \
        libtinfo-dev \
        libzmq3-dev \
        libcairo2-dev \
        libpango1.0-dev \
        libmagic-dev \
        libblas-dev \
        liblapack-dev
RUN curl -sSL https://get.haskellstack.org/ | sh

USER jovyan
ENV PATH=$HOME/.local/bin:$PATH
RUN git clone https://github.com/gibiansky/IHaskell
RUN cd IHaskell && pip3 install -r requirements.txt
RUN cd IHaskell && stack install --fast
RUN ihaskell install --stack

However, the resulting Docker image's Haskell kernel doesn't yet work. The first issue is that it can't find ghc-pkg in its PATH. This is because stack installs the ghc binaries in $HOME/.stack/x86_64-linux/programs/ghc-8.6.3/bin - I used a (very brittle) workaround of adding
ENV PATH=$PATH:$HOME/.stack/x86_64-linux/programs/ghc-8.6.3/bin

The second problem is that starting the kernel (by opening a Haskell notebook) creates a new .stack/global-project/stack.yaml from scratch, defaulting to a newer build plan (13.11) than the IHaskell one (13.6), and downloading ghc 8.6.4 even though the ihaskell kernel was already compiled with 8.6.3. I'm currently working around this by first copying the IHaskell stack.yaml to $HOME/.stack/global-project/stack.yaml, to ensure the same compiler is used.

Update: I now suspect that whatever is starting ihaskell should have been using stack exec ihaskell instead of ihaskell in order to run it in the correct environment, but I'm not sure where this happens or where the change must be made.

Have you looked at https://github.com/gibiansky/IHaskell/blob/master/Dockerfile? It sets the PATH so that stack exec is not required. The other issue is because the Stackage LTS has been updated to use GHC 8.6.4, which I've opened https://github.com/gibiansky/IHaskell/blob/master/Dockerfile to fix. For the IHaskell.Display modules you have to open an IHaskell notebook in the ihaskell/ directory.

Thanks so much! I overlooked that the Dockerfile to build the image was right here in the same repository :) I can check this for what else I need to do in my own Dockerfile to get a working image.
Is there a way to make the IHaskell modules available in any working directory? Data stored outside $HOME/work is not persistent in JupyterHub.

Sure, you can create a new project with stack new and put whatever modules you want in your stack.yaml.

Closing this, please reopen if necessary.

See also https://github.com/jamesdbrock/ihaskell-notebook


"Install Command Line" crashes on Windows 10

User Nicholas Boselli has reported the following bug in vapor mailing list:
I have a problem when operating Vapor. I chose to download Vapor 3.2 (stable version) on windows 10 and when I click on the “install command line tools” button under the “Tools” tab, Vapor immediately crashes.

I only have a Windows 8.1 machine and it works as expected. I have no access to a Windows 10 machine if that is the issue.

@sgpearse do you have a windows 10 system you can test this on?
cc @StasJ

I've tried to reproduce this on three Win10 machines to no avail.

Lets close it and call it fixed.


integration of pageview with navigationBar

there is somethiing wrong with setstate so i used provider,

Sir, Any updates on this pull request

@all-contributors please add @ajay963 for code


Make manual installers easier to open.

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your changes? Here's an example.

[x] Have you successfully run brew typecheck with your changes locally?
[x] Have you successfully run brew tests with your changes locally?

Allow easy copy-pasting to open the installer.

Just as a side note: a package manager that doesn't actually install some packages for you is a bit unusual to be honest. I assume this is sparingly used?


Uncaught TypeError: Cannot read property 'collapsed' of null

[Enter steps to reproduce:]

Install the ide-reason package while having the folder of an OCaml project open

Atom: 1.33.0 x64
Electron: 2.0.11
OS: Ubuntu 18.10
Thrown From: Atom Core
Stack Trace
Uncaught TypeError: Cannot read property 'collapsed' of null
At /usr/share/atom/resources/app/static/<embedded>:14

TypeError: Cannot read property 'collapsed' of null
    at elementForObject (/usr/share/atom/resources/app/static/<embedded>:14:2921783)
    at elementForSetting (/usr/share/atom/resources/app/static/<embedded>:14:2922228)
    at elementForObject (/usr/share/atom/resources/app/static/<embedded>:14:2922167)
    at elementForSetting (/usr/share/atom/resources/app/static/<embedded>:14:2922228)
    at SettingsPanel.elementForSettings (/usr/share/atom/resources/app/static/<embedded>:14:2913082)
    at new SettingsPanel (/usr/share/atom/resources/app/static/<embedded>:14:2911604)
    at PackageDetailView.updateInstalledState (/usr/share/atom/resources/app/static/<embedded>:14:733821)
    at PackageDetailView.populate (/usr/share/atom/resources/app/static/<embedded>:14:733172)
    at PackageDetailView.completeInitialization (/usr/share/atom/resources/app/static/<embedded>:14:728547)
    at PackageDetailView.loadPackage (/usr/share/atom/resources/app/static/<embedded>:14:728759)
    at /usr/share/atom/resources/app/static/<embedded>:14:735475
    at Function.simpleDispatch (/usr/share/atom/resources/app/static/<embedded>:11:1189772)
    at Emitter.emit (/usr/share/atom/resources/app/static/<embedded>:11:1191213)
    at PackageManager.t.exports.PackageManager.emitPackageEvent (/usr/share/atom/resources/app/static/<embedded>:11:919306)
    at /usr/share/atom/resources/app/static/<embedded>:11:916715
    at r (/usr/share/atom/resources/app/static/<embedded>:11:911245)
    at o (/usr/share/atom/resources/app/static/<embedded>:14:1036521)
    at t.bufferStream (/usr/share/atom/resources/app/static/<embedded>:14:1036675)
    at Socket.e.on (/usr/share/atom/resources/app/static/<embedded>:14:1035277)
    at emitOne (events.js:121:20)
    at Socket.emit (events.js:211:7)
    at Pipe._handle.close [as _onclose] (net.js:554:12)

Commands

Non-Core Packages
ide-reason 1.1.1
language-ocaml 1.9.5
language-reason 0.0.4
ocaml-merlin 0.14.7

Thanks for the report!

Install the ide-reason package while having the folder of an OCaml project open

Since the error is specific to using ide-reason, we suggest opening the issue in that package repository to start.  It may be that there is still a bug in Atom and if so, we'll need the maintainer of the package that is causing the problem to help track that down. You should file this issue on their repository so they can either fix the problem or tell us where the problem is coming from. The Atom FAQ has information on how to contact the maintainers of any Atom community package or theme.


fixed leak with PBR example

as LoadModel now expects user to unload shaders and textures (as they could be used elsewhere) the example now does this...
just before loading the PBR material the default material (from loadOBJ/ LoadModel) must be unloaded, to avoid a leak....
phew... finally got there!

@chriscamacho nice! :D


ValueError: Cannot feed value of shape (96, 784) for Tensor u'input_26:0', which has shape '(128, 784)'

Hello there,
I am training a neural network on mnist using the fit function. I defined my batch_shape as (128, 784). But somehow, during the inference (evaluation on the test set), the batch size change.
../../tools/v2/pipeline/ml_core.py:486: UserWarning: The nb_epoch argument in fit has been renamed epochs.
verbose=verbose)
Train on 60000 samples, validate on 10000 samples
Epoch 1/100
59904/60000 [============================>.] - ETA: 0s - loss: 2.3072 - acc: 0.1007

ValueError                                Traceback (most recent call last)
 in ()
----> 1 sc.train([x_train, y_train] , [Y_train],          [x_test, y_test[...,np.newaxis]] , [Y_test],          100,         128)
/home/thomas/virtualens/imagification2.7/Imagification/tools/v2/pipeline/ml_core.pyc in train(self, x_train, x_train_filtered, x_test, x_test_filtered, epochs, batch_size, log_dir, stop_early, verbose, learning_scheduler, plot)
484                                              validation_data=(x_test, x_test_filtered),
485                                              callbacks=callbacks,
--> 486                                              verbose=verbose)
487
488     def encode(self, x):
/usr/local/lib/python2.7/dist-packages/keras/engine/training.pyc in fit(self, x, y, batch_size, epochs, verbose, callbacks, validation_split, validation_data, shuffle, class_weight, sample_weight, initial_epoch, steps_per_epoch, validation_steps, **kwargs)
1710                               initial_epoch=initial_epoch,
1711                               steps_per_epoch=steps_per_epoch,
-> 1712                               validation_steps=validation_steps)
1713
1714     def evaluate(self, x=None, y=None,
/usr/local/lib/python2.7/dist-packages/keras/engine/training.pyc in _fit_loop(self, f, ins, out_labels, batch_size, epochs, verbose, callbacks, val_f, val_ins, shuffle, callback_metrics, initial_epoch, steps_per_epoch, validation_steps)
1233                         ins_batch[i] = ins_batch[i].toarray()
1234
-> 1235                     outs = f(ins_batch)
1236                     if not isinstance(outs, list):
1237                         outs = [outs]
/usr/local/lib/python2.7/dist-packages/keras/backend/tensorflow_backend.pyc in call(self, inputs)
2473         session = get_session()
2474         updated = session.run(fetches=fetches, feed_dict=feed_dict,
-> 2475                               **self.session_kwargs)
2476         return updated[:len(self.outputs)]
2477
/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.pyc in run(self, fetches, feed_dict, options, run_metadata)
887     try:
888       result = self._run(None, fetches, feed_dict, options_ptr,
--> 889                          run_metadata_ptr)
890       if run_metadata:
891         proto_data = tf_session.TF_GetBuffer(run_metadata_ptr)
/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.pyc in _run(self, handle, fetches, feed_dict, options, run_metadata)
1094                 'Cannot feed value of shape %r for Tensor %r, '
1095                 'which has shape %r'
-> 1096                 % (np_val.shape, subfeed_t.name, str(subfeed_t.get_shape())))
1097           if not self.graph.is_feedable(subfeed_t):
1098             raise ValueError('Tensor %s may not be fed.' % subfeed_t)
ValueError: Cannot feed value of shape (96, 784) for Tensor u'input_26:0', which has shape '(128, 784)'
<matplotlib.figure.Figure at 0x7fe447987dd0>

60000 % 128 = 96.
Don't specify the batch_shape, just the shape. Your first layer should be Input([784])

Hello there,
Unfortunately I can't. I am creating a custom layer.
Inside of it, I loop over the activations inside the batch. Without defining it. Keras will send me an error saying that it can't iterate over a 'NoneType' which is normal.
In order to bypass that, I used batch_shape=(batch_size, dim_in).
It works perfectly during training, but when it gets to validation, batch_size changed for validation set (I think it is a proportional or maybe last batch).
Anyway, it breaks.
Do you have any idea how to solve it.
I will try to hack keras iterators if not :)
Thank you for the answer.
Best Regards, Thomas Chaton.

Thomas CHATON
Senior AI Researcher at Fujitsu AI Advanced Labs, London
Tel : +33 (0) 6 46 57 50 65
----- Mail original -----
De: "Frédéric Branchaud-Charron"<EMAIL_ADDRESS>À: "keras-team/keras"<EMAIL_ADDRESS>Cc: "Thomas Chaton"<EMAIL_ADDRESS>"Author"<EMAIL_ADDRESS>Envoyé: Mardi 6 Mars 2018 14:31:17
Objet: Re: [keras-team/keras] ValueError: Cannot feed value of shape (96, 784) for Tensor u'input_26:0', which has shape '(128, 784)' (#9572)
60000 % 128 = 96.
Don't specify the batch_shape, just the shape. Your first layer should be Input([784])
--
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub:
https://github.com/keras-team/keras/issues/9572#issuecomment-370798984

Hello there,
I think I found how to solve it. I have to use an int for batch_size which divide both train samples and test samples. It will try it out tomorrow and inform you.
Best Regards, Thomas Chaton.

Thomas CHATON
Senior AI Researcher at Fujitsu AI Advanced Labs, London
Tel : +33 (0) 6 46 57 50 65

A solution can be to define a batch_size that divide both train_samples and test_samples


Dependency Updates 2024-04-05

This isn't quite right because now group id is appearing as an input for groups where it isn't used.

I think this is good now 👍 . Thanks for taking care of this.


Feature Request(farrow-schema): Need a Bottom Type like never

As the title. Should we create a new Schema to express never? Or I missed it?

What are the usages of never for schema?

const S = Struct({
  foo: Never
})

Indicates that the foo field should not exist?

const S = Struct({
  foo: Never
})

object/struct is product type, means and，0 x a = 0，any Never will make all type become no value, zero inhabitants.
In union case, it is sum type, means or, 0 + a = a. never is the identity element of the monoid of union， has no effect.
number | never is equal to number.
So it's hard to find a reason to add Never, we can delay the decision until we figure out the usage.

Well, I finished sorting out the farrow-schem API documentation.
And then found that, when compared to TypeScript's type system, the farrow-schema is missing some things, such as the Never mentioned above (which, of course, the current conclusion is that there is no need to add)

there is already a partial, but no required
there is already a Nullable, but no any helper to remove Null and Undefined
get schema of field ObjectType/Struct
Distributive Conditional Types

We don't need to implement the full spectrum of TypeScript's type system right now.
The feedback that came from the users/developers of farrow-scehma will lead us to reach the target position one by one.


Feature/us3578 square profile pictures

These are actually two different things. .nav-profile-image still exists and is used in header.html.
.nav-profile-title is a new span I put around the mobile nav menu item for "My Profile" so it would align nicely with the new profile image.

I do see nav-profile-title moved to line 142 but I still can't find where nav-profile-title is utilized. Can you send me a github link where this is being used?

It's in the CMS. I've attached a screenshot.
I'll also put the markup in the story notes that should be placed in the prod and demo CMSs when this is released in order for it to work right.


New Tab Button should open the active profile instead of default

Description of the new feature/enhancement
Currently the new tab button opens a terminal the default profile. So for example, with my default set to WSL: Debian, the new tab button will always open with that profile.
Instead I think it'd be nice to have the new tab button open a terminal using the same profile as the currently active tab. This way if I have a non-default profile open, such as PowerShell, the + button would open a new PowerShell tab instead.
Proposed technical implementation details
The default profile could have an additional setting called Currently Active. When a new tab is opened you'd need a way to retrieve the profile of the currently active tab, then open the new tab using that profile.

@Wynadorn wt already has this feature, but you need to use ctrl+shift+d keycord to open another tab with active profile:
{ "command": "duplicateTab", "keys": "ctrl+shift+d" }

You know, I could have sworn we had a discussion thread already for "change the new tab button to duplicate the current pane rather than use the default profile" but I can't seem to find that discussion

You know, I could have sworn we had a discussion thread already for "change the new tab button to duplicate the current pane rather than use the default profile" but I can't seem to find that discussion

I've tried looking for it beforehand but didn't come across anything either

You know, I might be wrong about that. I had this in my list of "issues to post in the future"

Add a setting to default the new tab button to "duplicate tab" instead of "open default profile"
Maybe that applies to the splitPane actions as well?
Is this just asking for "toolbar customization" though? Should this be an extension? How would we let an extension do that?
Would they get at the tab row, hide the new tab button, then add their own split button, with the same new tab menu, but with duplicateTab bound instead?

Crazy shower thought:
"newTabButton": {
  "action": { /* duplicate tab*/ },
  "icon": "whatever",
  "showDropdown": false
}

Also related: #6685

Maybe that applies to the splitPane actions as well?
Is this just asking for "toolbar customization" though? Should this be an extension? How would we let an extension do that?

Although I think it's out of scope for this Feature-Request. The above is a request for taskbar customization, while #11337 is about expanding the defaultProfile setting which is part of the new tab command.
Either way I suppose there could be some demand for a splitPane button or taskbar customization.
On the GUI side of things, currently the buttons next to the tab bar consist of a left and a right button:

I suppose a good way to implement toolbar customization would be to have additional buttons shown in the middle. Maybe a config could allow for n buttons to be defined, where in "+" being the first button and any additional buttons are placed in between.

I'd like to weigh in, here, and add that this feature (or feature group) would be pretty vital, for me. For example, one of my most common invocations of wt goes something like this:
"%localappdata%\Microsoft\WindowsApps\wt.exe" --window SSH new-tab --profile "SSH :: servername"

To me, it makes absolutely no sense that subsequently, in the window that appears, both the split-pane commands and the default new-tab button open cmd.exe (my default profile) on the local machine. This feature is just as important for split-pane as it is for new-tab -- if not more so.
Similarly, if I start wt with the --commandline set, I might do something like this:
%localappdata%\Microsoft\WindowsApps\wt.exe new-tab --commandline %SystemRoot%\System32\cmd.exe /c "path/to/python-environment.bat && python.exe path/to/interactive/program.py"

... and I would expect that new-tabs and split-panes would also apply my --commandline command-line.
At the very least, all of the above should be optional behaviour modes. Even if they do not match everybody's use-case, the above two cover pretty much 99% of my workflows with wt and I'm certain that I am not alone in this. My other use-cases (git bash, W.S.L. sessions, very occasional PowerShell usage) would also all benefit from such a behaviour mode because, when I'm in PowerShell, for example, I really really do not expect a split-pane to be cmd.exe.

@stephenmartindale you may be interested in duplicateTab and "duplicate pane", { "command": { "action": "splitPane", "split": "auto", "splitMode": "duplicate" }, "keys": "alt+shift+d" }
these might be reasonable workarounds while we work on this 😄

... you may be interested in duplicateTab and "duplicate pane", { "command": { "action": "splitPane", "split": "auto", "splitMode": "duplicate" }, "keys": "alt+shift+d" }
these might be reasonable workarounds while we work on this 😄

They are not. The existing "duplicate" behaviour does not create a duplicate. It respects the profile, but not command-line and starting directory.

Ah, right, I forgot we haven't gotten around to https://github.com/microsoft/terminal/issues/5047#issuecomment-934547500 yet. That'll help with your scenario

Issue logged: https://github.com/microsoft/terminal/issues/11678

I believe, but have not tested, that if Pane::GetTerminalArgsForPane is used for duplicating that it contains the logic to resolve this issue. https://github.com/microsoft/terminal/blob/main/src/cascadia/TerminalApp/Pane.cpp#L122

I tinkered on this a bit out of curiosity and it turned out to be pretty easy to implement: https://github.com/PathogenDavid/windows-terminal/commit/67a370e5ab5168598fa48491f22c40b5d7ca36fe
diff --git a/src/cascadia/TerminalApp/TerminalPage.cpp b/src/cascadia/TerminalApp/TerminalPage.cpp
index 752e8e590..96b80f16a 100644
--- a/src/cascadia/TerminalApp/TerminalPage.cpp
+++ b/src/cascadia/TerminalApp/TerminalPage.cpp
@@ -214,5 +214,13 @@ namespace winrt::TerminalApp::implementation
             if (auto page{ weakThis.get() })
             {
-                page->_OpenNewTerminal(NewTerminalArgs());
+                // Duplicate the focused terminal if there is one, otherwise create one from the default profile
+                if (const auto focusedTab{ page->_GetFocusedTabImpl() })
+                {
+                    page->_DuplicateTab(*focusedTab);
+                }
+                else
+                {
+                    page->_OpenNewTerminal(NewTerminalArgs());
+                }
             }
         });

(Unfortunately I'm not very confident I'll have any time soon to formalize it enough to make it a proper contribution, but maybe I'll save someone else a bit of time investigating.)

Lawdy, look at that. Digging through the backlog, this looks like it is a /dup of #445. I'm gonna leave that one open since it has more 👍's. I've moved a bunch of relevant comments to that thread.
Thanks all!


Create Install roadmap V2.pptx

Add a V2 install roadmap draft for review
Signed-off-by: nellietan<EMAIL_ADDRESS>Your checklist for this pull request
🚨Please review the guidelines for contributing to this repository.

[ ] If the changes in this PR is part of the next future release, make this pull request against the docs-staging branch which will be published at the next release boundary. If the changes in this PR are part of the current release, use the default base branch, master. For more information about branches, see https://github.com/zowe/docs-site/tree/master#understanding-the-doc-branches.

[x] If this PR relates to GitHub issues in docs-site or other repositories, please list in Description, prefixed with close, fix or resolve keywords.
https://github.com/zowe/docs-site/issues/1619

Description (including links to related git issues)
Please describe your pull request.
Add a V2 installation and configuration high-level roadmap [draft for review]
We can also work on a sub-diagram for detailed tasks such as configuring certificates.
:heart:Thank you!

Hi @Joe-Winchester I have drafted the Zowe V2 install and config roadmap (high-level) diagram as attached for your kind review. We can work on a separate sub-diagram for more detailed config roadmap about certificate-related tasks if needed later.
Download PDF here: https://github.com/zowe/docs-site/blob/53d2af26308bbddbea0822da72d5a1150a11a71c/docs/user-guide/Install roadmap V2.pptx
Many thanks!

Hi @skurnevich
Thank you for contributing to this! They are very helpful!!
It's a good idea to have both detailed and short versions. We will take a closer look at the flowcharts you created and post here if any updates ;)

Hi @Joe-Winchester
As I can see for Zowe v1 we had a map over the image, that should be easily doable for v2 as well, however, I see some performance issues on that page so maybe there is a better way to handle that, I do not know all the Docusaurus features.

zwe init security is responsible for configuring the security product, handling users, groups, etc.
certificates are handled by zwe init certificate and I've moved it to Stage 4 in a detailed flowchart exactly because of the reasons you've described, it is one of the pain points for customers.

However this only links to pages that exist in docs so it does not have all the possible scenarios, I agree that this part of the installation could be described in a more granular way
And yes I agree that having an upgrade process described in docs would be a really useful enhancement.

Yes we can add clickable links on the picture, and I am exploring other ways, e.g. svg format, to display the diagram to avoid usability issue of V1 diagram. We could have separate diagrams for certificates and migration.

Will be merged together with the certificate section ready #2822

(Tried with svg method to provide image with hyperlink but failed...The method used with V1 diagram also has display issues.)
Workaround is: split install and config into two diagrams under install & configure sections, so that users can get a general idea of the options and then get to the specific tasks via links below.
Preview: https://deploy-preview-2689--zowe-docs-master.netlify.app/stable/user-guide/install-zos
Certificate diagram will be the next item after the certificate section ready https://github.com/zowe/docs-site/pull/2822
Consider working on HA and upgrade diagrams the next PI.

Removed duplicate links on checklist page and reorganized the steps, e.g. consolidated the HA steps.


Colum Encoding in Redshift with Metadata

Hi,
I am trying to add the column encoding for Redshift table using the encoding metadata. But, I am not able to get it correct. May I know if there is something that I miss?
myDF = // the data frame that has the fields.

val columnsEncodeMap = Map(
  "activation_date"  ->  "delta",
  "acceptance_date"  ->  "delta"
)

columnsEncodeMap.foreach { case (colName, encodeType) =>
  val metadata = new MetadataBuilder().putString("encoding", encodeType).build()
  myDF = myDF.withColumn(colName, myDF(colName).as(colName, metadata))
}

Thanks

To clarify:

Which version of spark-redshift are you using?
Are you trying to save a table to Redshift or read from Redshift?
What actually happens and what do you expect to happen? Do you see an error message?

Hi @JoshRosen
Thanks for the reply.

I use spark-redshift version 0.6.0
I am trying to save a table to Redshift in Overwrite mode.
I don't see any error message. But, the table is created without the column encoding that I specified.

Support for column encodings was added in the v1.0.0 release; see the release notes at https://github.com/databricks/spark-redshift/releases/tag/v1.0.0 for more details.

I suppose it might make sense to add "Since " notes to the README in order to avoid this type of confusion. Let me file a followup ticket so I don't forget to do that...


UX issue - double click on download triggers 2 save windows

Describe the bug
ANNOYING - UX, FOR HEAVY USERS
2 SAVE WINDOWS when clicking to fast, please be FORGIVING for this 'user error'
To Reproduce
Steps to reproduce the behavior:
Click on 'SAVE BUTTON - (when "in a flow" and double-tapping)
Expected behavior
Only one "save" window appears
Version:

OS = MacOSX CATELINA 10.15.7
Version 89.0.4389.82 (Official Build) (x86_64)

I actually can’t reproduce this at all. When I double-click the Download button I get a single download prompt.

Implementation for this button is  with download attribute. Which means it'll download image into disk on every click.
While I understand that it might be frustrating to see duplicate download, we are avoiding to run custom JS.
I think  is a good solution for us here, and this might be a browser UX issue.


Compiler read/write reorderings make DMA flaky

DMA transfers can be flaky and it seems to be due to this issue. The problem here is that llvm emits a MIPS-II instruction for the compiler_fence. So rustc gives the following error when I try adding the fence. Afaiu other llvm backends implement compiler fences without emitting instructions so it should be possible to fix this codegen issue.
LLVM ERROR: Cannot select: 0x7f26902f1f88: ch = MipsISD::Sync 0x7f269009e838, Constant:i32<0>
  0x7f269026b230: i32 = Constant<0>
In function: _ZN3psx11framebuffer11Framebuffer4swap17h0b2ca510268f3486E

For now the least flaky solution seems to be calling black_box on the pointer passed to the DMA channel (even though it shouldn't be relied on for correctness). I still get builds where DMA doesn't work (usually when toggling LTO or the min-panic feature), but it seems less frequent than with the llvm_asm("":::"memory", "volatile") hack.

The new patch impiaaa provided fixes the problem with compiler_fence and now examples/cube (which makes use of DMA) seems to be working in mednafen with any combination of build flags. I should look at the IR to see what the fence actually expanded to.

Turns out the patch might not fix the underlying issue since it makes compiler_fences expand to libcalls to __sync_synchronize. This can be provided by libgcc, but MIPS-I doesn't have a sync instruction so it might not be possible to implement the fence correctly this way. The proper fix would be to add support for pseudo-fences in the LLVM backend, but at least some __sync_synchronize implementations in libgcc use asm("nop":::"memory") so that may be good enough. This might also be what libgcc defaults to for MIPS-I but I haven't gone through the source in depth.

After playing around with asm!("nop") fences, I'm starting to think that the biggest misoptimization issue is actually related to linked list packets. Essentially since linked list packets are separate objects, the compiler has no way of knowing that when the GPU DMA channel gets a reference to one packet it will follow the "pointer" (i.e. next: PhysAddr([u8; 3])) to the next packet. This is mostly a problem when going from a normal build to LTO since the compiler seems to be eliding the writes that initialize and modify packets. The most reliable solution seems to be calling black_box on the next packet reference when linking packets (again this is a total hack).
An alternative which may work without this hack is to attach a PhantomData<&'a ()> with the lifetime of the reference to the next packet. This won't modify the layout of  Packet<T> (which must be repr(C)) but makes the packet linking API more complicated. In cases where a packet doesn't ever point to anything the lifetime can be unconstrained or set to 'static to avoid bubbling it up into whatever struct contains the Packet<'a, T>. I'm not sure how feasible this is since the current link_packets implementation won't work as-is with this lifetime.


feat: add rule 'no-set-state-in-use-effect', closes #628

What kind of change does this PR introduce?

[ ] Bugfix
[x] Feature
[x] Docs
[ ] New Binding issue #___
[ ] Code style update
[ ] Refactor
[ ] Build-related changes
[ ] Other, please describe:

Does this PR introduce a breaking change?

[ ] Yes, and the changes were approved in issue #___
[x] No

Checklist

[x] When resolving issues, they are referenced in the PR's title (e.g fix: remove a typo, closes #___, #___)
[x] I have added a convincing reason for adding this feature, if necessary

Other information

The rule name is a bit unclear. The rule doesn't forbid any set state in the useEffect, it only forbids set state in the top scope of the useEffect.

The rule name is a bit unclear. The rule doesn't forbid any set state in the useEffect, it only forbids set state in the top scope of the useEffect.
Maybe no-direct-set-state-in-use-effect?

I understand, but that's the format we use in the no-set-state-in-component-did-update rule name (which in eslint-plugin-react is called
no-did-update-set-state in eslint-plugin-react is even less clear), and also disables only setState calls in the same scope, I'm following the naming convention that we already have in our projects. We can explain the "directly" bit in the rule description and error messages.

The rule name is a bit unclear. The rule doesn't forbid any set state in the useEffect, it only forbids set state in the top scope of the useEffect.
Maybe no-direct-set-state-in-use-effect?

no-direct-set-state-in-use-effect sounds good, I'll consider switching to this.


[⭐]  Exposed Prometheus Metrics Endpoint

:star: Challenge idea
Description
Modern services often expose metrics about the current state of the service / server on a /metrics endpoint. This endpoint is then scraped by systems like prometheus to gather these metrics over time.
These metrics endpoint is not really intended for "normal" users. Yet prometheus security model explicitly states that is is expected that untrusted users should be able to access the metrics data, see https://prometheus.io/docs/operating/security/#prometheus. In the security review performed by the CNCF this was mentioned but later decided to ignore as expected behavior by prometheus team. (See https://prometheus.io/assets/downloads/2018-06-11--cure53_security_audit.pdf PRM-01-002: Clients leak Metrics data thought unprotected endpoints)
Normal setups try not to expose approaches include routing the /metrics endpoint to a 404 page via a loadbalancer / reverse proxy sitting in front of the application. Or protect the endpoint using http basic auth.
The Juice Shop could have its own /metrics endpoint exposing Juice Shop related metrics to the instance, obviously exposed via any auth / protection.

Orders completed
Juices sold
Users signed up
Challenges solved

Adding this challenge would also mean that one could use prometheus / grafana to monitor all their Juice Shop instances 😉
Adding such metrics would also be relatively easy using: https://github.com/siimon/prom-client
Underlying vulnerability/ies
I don't think there is a CVE or anything open for it.
In OWASP Top 10 terms would probably be a "Security Misconfiguration" or "Sensitive Data Exposure" Challenge.
Expected difficulty

:heavy_check_mark: / :x:
Difficulty

:heavy_check_mark:
:star:

:heavy_check_mark:
:star::star:

:x:
:star::star::star:

:x:
:star::star::star::star:

:x:
:star::star::star::star::star:

:x:
:star::star::star::star::star::star:

Possible attack flow

Open Browser.
Open /metrics endpoint.
Profit of all the juicy information ;)

I would love to take this up

@Scar26 sure go for it 👍

Great job, @Scar26! Thank you! Please send me an email with your address so I can send you a couple of stickers!

@J12934 One thing we need to remember if e.g. MultiJuicer should ever actually use this endpoint, is that this would auto-solve the challenge. Unless we add some parameter to prevent that from happening (like mode=ninja or silent=true or something)

@bkimminich yeah already thought on that. I was intending to block the Prometheus user-agent from solving the challenge

Hey i found /metrics in a website i am hunting on can someone share what is that and some exploitation process??
Or something to refer

@SAGEof6iixPATHS If it's prometheus metrics, there's not much to exploit there in terms of known vulnerabilities.  You can try reporting it for data exposure. If the application metrics are something the org considers confidential, they might add auth and consider disbursing a bounty.

@SAGEof6iixPATHS If it's prometheus metrics, there's not much to exploit there in terms of known vulnerabilities. You can try reporting it for data exposure. If the application metrics are something the org considers confidential, they might add auth and consider disbursing a bounty.

Oh good! Thank you!


Mhlo ops are illegal when I try MobileNet v2 example in tutorial

I'm following the tutorial at https://iree-org.github.io/iree/deployment-configurations/#compile-the-model to compile the mobilenet_v2.mlir to CPU deployable format.
iree/build/tools/iree-compile \
    --iree-hal-target-backends=llvm-cpu \
    mobilenet_v2.mlir -o mobilenet_cpu.vmfb

Neither of pip-install or build-from-source iree-compile tools can compile the mlir to vmfb because of illegal mhlo ops:
error: The following illegal operations still remain:
        mhlo.reshape (count: 18)
        mhlo.batch_norm_inference (count: 52)
        mhlo.convolution (count: 53)
        mhlo.clamp (count: 35)
        mhlo.reduce_window (count: 1)
        mhlo.add (count: 2)
        mhlo.constant (count: 5)
        mhlo.return (count: 1)

Is the tutorial out of date? Or If I did't use the right commands to compile the program please tell me the right way to deploy the tf models. Thx alot.

Those docs should be updated to include the --iree-input-type=mhlo flag, sorry about that. I also thought we had an error message that would hint about that (or ideas around auto-detecting the input type)... and there was a fairly recent discussion about that which I can't find right now.

Thanks @ScottTodd  for fixing this.


feat(vector): speed up processing of feature removal

Delays garbage collection for features in VectorSource.
Motivation
Removing a CSV layer with 1,000,000 point geometries forces an unreasonably long time where no action can be taken.
Profiling led to the line featured in this PR, which makes some sense as removing event listeners deletes the keys and forces immediate garbage collection. (though via testing with a mixin replacement, it seems Array.splice accounts for about half of the deletion time)
Rationale
setupChangeEvents_ attaches the handleFeatureChange_ function as a listener to the feature itself.
All references to the feature and its listener keys are cleared from the vector in removeFeatureInternal. It is expected that the feature will be garbage collected at some point even if it is not made to unlisten to everything.
The VectorSource object might stick around if non-GC'd features are still referencing it when removed. Arguably that should eventually free itself too.
Profiling

Without Change
With Change

Removal Speed (1m Features)
12 seconds
3.5 seconds

(Can also upload flame chart / heap snapshots, most of the memory sticking around is with a plugin & crossfilter and persists without this change anyway)
Goal: To showcase this does not cause a leak, assuming features (when removed) don't get put into another Source layer. In that case they could probably unlisten when added.
Memory snapshots and comparison with Firefox. Browser was closed and re-opened between individual tests. Profiling was performed on the development version. GC was executed with about:memory tool.
ArrayBuffer storage is noted only to show that potential leaks may be external to JavaScript.
All listed values in MB.
1M CSV
Tables are memory on app startup, memory after addition and removal of 1m point CSV (via removing the layer).
 Instead of removing layer, query was cancelled.
Heap Profiling Without Change

1
2
3
4
5

Pre
138.94
162.77
138.34
135.32
139.43

Post
227.43
226.60
218.82
222.72
223.06

Heap Profiling With Change

1
2
3
4
5

Pre
117.34
105.68
159.62
131.27
131.14

Post
221.99
228.92
221.64
221.62
221.94

Thank you for the detailed PR!
For testing cleanup/leaks, the simplest check is for single feature removal (layer/source removal is not applicable since any dangling references here would be internal to the source).
I used this method:

Flip this line to false so that file layers do not automatically load
Load the application
Load a CSV with a single record (layer should appear with 0 features)
Open Memory tab in Dev Tools
Save a snapshot
Right-click the layer and choose "Refresh" (layer should show 1 feature)
Save a snapshot
Right-click the feature and choose "Remove" (layer should show 0 features)
Force garbage collection via the Trash can icon for good measure
Save a snapshot
Select Snapshot 3
Change the view to "Summary", "Feature" in the class filter, and "Objects allocated between Snapshot 1 and Snapshot 2"
If the feature was properly garbage collected, nothing should be in the list

This looks good to me. I'm going to let @schmidtk confirm.

This looks good to me. One thing I noticed while testing is our CSV parser is not dropping its preview when the import process is finished, so we're leaving up to 1000 preview features in memory for no reason. I wrote #1039 to address that.


Add all supported types to return type inference from string literal for JSON extract functions in the multi-stage query engine

Currently, a query like SELECT JSON_EXTRACT_SCALAR(payload_commits, '$[*].author.name', 'STRING_ARRAY') FROM github_events fails on the multi-stage query engine with an error like: Invalid type: STRING_ARRAY.
This is because the type inference from string literals in TransformFunctionType doesn't cover all the types supported by JSON_EXTRACT_SCALAR / JSON_EXTRACT_INDEX.
This patch fixes the above issue by covering all the supported types taken from here - https://github.com/apache/pinot/blob/7879e07b172d7cabe48da496c748273b1a690446/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/JsonExtractScalarTransformFunction.java#L101-L109.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 0.00%. Comparing base (59551e4) to head (e88d83f).
Report is 1232 commits behind head on master.

:exclamation:  There is a different number of reports uploaded between BASE (59551e4) and HEAD (e88d83f). Click for more details.
HEAD has 53 uploads less than BASE

Flag
BASE (59551e4)
HEAD (e88d83f)

integration
7
1

integration2
3
1

temurin
12
1

java-21
7
1

skip-bytebuffers-true
3
0

skip-bytebuffers-false
7
1

unittests
5
0

unittests1
2
0

java-11
5
0

unittests2
3
0

integration1
2
0

custom-integration1
2
0

Additional details and impacted files
@@              Coverage Diff              @@
##             master   #14289       +/-   ##
=============================================
- Coverage     61.75%    0.00%   -61.76%
=============================================
  Files          2436        3     -2433
  Lines        133233        6   -133227
  Branches      20636        0    -20636
=============================================
- Hits          82274        0    -82274
+ Misses        44911        6    -44905
+ Partials       6048        0     -6048

Flag
Coverage Δ

custom-integration1
?

integration
0.00% <ø> (-0.01%)
:arrow_down:

integration1
?

integration2
0.00% <ø> (ø)

java-11
?

java-21
0.00% <ø> (-61.63%)
:arrow_down:

skip-bytebuffers-false
0.00% <ø> (-61.75%)
:arrow_down:

skip-bytebuffers-true
?

temurin
0.00% <ø> (-61.76%)
:arrow_down:

unittests
?

unittests1
?

unittests2
?

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

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

In Calcite, FLOAT is a synonym for DOUBLE (see here), and we'll need to map FLOAT in pinot to REAL

Ah yeah, I did do this for FLOAT_ARRAY, but missed adding it for FLOAT.

Suggest adding a test to verify all supported types

I've added test cases for all supported types (from here) to QueryCompilationTest which will verify that the Calcite type inference is valid and that the query compiles. There's already existing tests for the transform function itself so I don't think we need to validate that separately for the multi-stage engine.


Documentation for sidebar

Is there any documentation how to take control over the sidebar? For my particular example, sidebar is not always synchronized with a directory of the open solution. Although, I don't know did I do anything wrong or it's expected behavior. Also, it's very helpful might be for those who want to adjust that sidebar to be similar to one which is in VSCode. I tried some standard place like 'help sidebar' but it's probably not the case for Oni, is it?

@iamkarlson The sidebar should use the directory you opened Oni with (if opened from the terminal).
If opened from the launcher it will probably be in your home directory, you can then use cd path/to/code.

@badosu many thanks for the explanation. can it be navigated and operated with hotkeys only?

Ctrl+Shift+b - Toggle file explorer visibility
Ctrl+w,Ctrl+h - Go to left pane
Ctrl+w,Ctrl+l - Go to right pane
Added these to the shortcuts wiki page. Let me know if there's anything else missing.