Backup of influxdb running in different docker is not working

Description / Beschreibung
This is my docker compose file
version: '2'
services:
  iobroker:
    restart: always
    image: buanet/iobroker:latest
    container_name: iobroker
    hostname: dell
    network_mode: "host"
    devices:
      - /dev/serial/by-id/usb-ITead_Sonoff_Zigbee_3.0_USB_Dongle_Plus_16062b40fd19ec1191ed74e5f01c6278-if00-port0:/dev/serial/by-id/usb-ITead_Sonoff_Zigbee_3.0_USB_Dongle_Plus_16062b40fd19ec1191ed74e5f01c6278-if00-port0
    environment:

      - IOB_BACKITUP_EXTDB=true
      - INFLUXDB_ADMIN_USER=admin
      - USBDEVICES=/dev/serial/by-id/usb-ITead_Sonoff_Zigbee_3.0_USB_Dongle_Plus_16062b40fd19ec1191ed74e5f01c6278-if00-port0
      - TZ=Europe/Berlin
      - PACKAGES=influxdb
    ports:
      - "8081:8081"
    volumes:
      - /mnt/appdata/iobroker/data:/opt/iobroker

This is my docker startup
-----                          System Information                          -----
-----                    arch:                x86_64                       -----
-----                    hostname:            dell                         -----
-----                                                                      -----
-----                          Version Information                         -----
-----                    image:               v9.1.1                       -----
-----                    build:               2024-02-21T23:44:47+00:00    -----
-----                    node:                v18.19.1                     -----
-----                    npm:                 10.2.4

Backup is working. Protocol see below.
Image version
v9.1.1
Docker logs / Docker Protokoll
backitup.0
2024-03-04 06:44:16.670	error	[iobroker/clean] Backup files not deleted from /opt/iobroker/backups because some errors.

backitup.0
2024-03-04 06:44:09.609	error	[iobroker/googledrive] Google Drive: File "/opt/iobroker/backups/influxDB_2024_03_04-06_39_55_influxDB-1_backupiobroker.tar.gz" not found

backitup.0
2024-03-04 06:44:09.456	error	[iobroker/googledrive] Google Drive: File "/opt/iobroker/backups/influxDB_2024_03_04-06_35_59_influxDB-0_backupiobroker.tar.gz" not found

backitup.0
2024-03-04 06:43:53.715	error	[iobroker/ftp] File "/opt/iobroker/backups/influxDB_2024_03_04-06_39_55_influxDB-1_backupiobroker.tar.gz" not found

backitup.0
2024-03-04 06:43:53.712	error	[iobroker/ftp] File "/opt/iobroker/backups/influxDB_2024_03_04-06_35_59_influxDB-0_backupiobroker.tar.gz" not found

backitup.0
2024-03-04 06:43:50.277	error	[iobroker] Error: Command failed: influxd backup -portable -database endless -host :8088 "/opt/iobroker/backups/influxDB_2024_03_04-06_39_55_influxDB-1_backupiobroker"2024/03/04 06:39:55 Download shard 0 failed dial tcp :8088: connect: connection refused. Waiting 2s and retrying (0)...2024/03/04 06:39:57 Download shard 0 failed dial tcp :8088: connect: connection refused. Waiting 2s and retrying (1)...2024/03/04 06:39:59 Download shard 0 failed dial tcp :8088: connect: connection refused. Waiting 2s and retrying (2)...2024/03/04 06:40:01 Download shard 0 failed dial tcp :8088: connect: connection refused. Waiting 2s and retrying (3)...2024/03/04 06:40:03 Download shard 0 failed dial tcp :8088: connect: connection refused. Waiting 2s and retrying (4)...2024/03/04 06:40:05 Download shard 0 failed dial tcp :8088: connect: connection refused. Waiting 2s and retrying (5)...2024/03/04 06:40:07 Download shard 0 failed dial tcp :8088: connect: connection refused. Waiting 3.01s and retrying (6)...2024/03/04 06:40:10 Download shard 0 failed dial tcp :8088: connect: connection refused. Waiting 11.441s and retrying (7)...2024/03/04 06:40:21 Download shard 0 failed dial tcp :8088: connect: connection refused. Waiting 43.477s and retrying (8)...2024/03/04 06:41:05 Download shard 0 failed dial tcp :8088: connect: connection refused. Waiting 2m45.216s and retrying (9)...backup: dial tcp :8088: connect: connection refused

backitup.0
2024-03-04 06:43:50.277	error	[iobroker/influxDB] backup: dial tcp :8088: connect: connection refused

backitup.0
2024-03-04 06:43:50.277	error	[iobroker/influxDB] 2024/03/04 06:41:05 Download shard 0 failed dial tcp :8088: connect: connection refused. Waiting 2m45.216s and retrying (9)...

backitup.0
2024-03-04 06:43:50.277	error	[iobroker/influxDB] 2024/03/04 06:40:21 Download shard 0 failed dial tcp :8088: connect: connection refused. Waiting 43.477s and retrying (8)...

backitup.0
2024-03-04 06:43:50.277	error	[iobroker/influxDB] 2024/03/04 06:40:10 Download shard 0 failed dial tcp :8088: connect: connection refused. Waiting 11.441s and retrying (7)...

backitup.0
2024-03-04 06:43:50.276	error	[iobroker/influxDB] 2024/03/04 06:40:07 Download shard 0 failed dial tcp :8088: connect: connection refused. Waiting 3.01s and retrying (6)...

backitup.0
2024-03-04 06:43:50.276	error	[iobroker/influxDB] 2024/03/04 06:40:05 Download shard 0 failed dial tcp :8088: connect: connection refused. Waiting 2s and retrying (5)...

backitup.0
2024-03-04 06:43:50.276	error	[iobroker/influxDB] 2024/03/04 06:40:03 Download shard 0 failed dial tcp :8088: connect: connection refused. Waiting 2s and retrying (4)...

backitup.0
2024-03-04 06:43:50.276	error	[iobroker/influxDB] 2024/03/04 06:40:01 Download shard 0 failed dial tcp :8088: connect: connection refused. Waiting 2s and retrying (3)...

backitup.0
2024-03-04 06:43:50.276	error	[iobroker/influxDB] 2024/03/04 06:39:59 Download shard 0 failed dial tcp :8088: connect: connection refused. Waiting 2s and retrying (2)...

backitup.0
2024-03-04 06:43:50.275	error	[iobroker/influxDB] 2024/03/04 06:39:57 Download shard 0 failed dial tcp :8088: connect: connection refused. Waiting 2s and retrying (1)...

backitup.0
2024-03-04 06:43:50.275	error	[iobroker/influxDB] 2024/03/04 06:39:55 Download shard 0 failed dial tcp :8088: connect: connection refused. Waiting 2s and retrying (0)...

backitup.0
2024-03-04 06:43:50.275	error	[iobroker/influxDB] Error: Command failed: influxd backup -portable -database endless -host :8088 "/opt/iobroker/backups/influxDB_2024_03_04-06_39_55_influxDB-1_backupiobroker"

backitup.0
2024-03-04 06:39:55.078	error	[iobroker/influxDB] backup: dial tcp :8088: connect: connection refused2024/03/04 06:35:59 Download shard 0 failed dial tcp :8088: connect: connection refused. Waiting 2s and retrying (0)...2024/03/04 06:36:01 Download shard 0 failed dial tcp :8088: connect: connection refused. Waiting 2s and retrying (1)...2024/03/04 06:36:03 Download shard 0 failed dial tcp :8088: connect: connection refused. Waiting 2s and retrying (2)...2024/03/04 06:36:05 Download shard 0 failed dial tcp :8088: connect: connection refused. Waiting 2s and retrying (3)...2024/03/04 06:36:07 Download shard 0 failed dial tcp :8088: connect: connection refused. Waiting 2s and retrying (4)...2024/03/04 06:36:09 Download shard 0 failed dial tcp :8088: connect: connection refused. Waiting 2s and retrying (5)...2024/03/04 06:36:11 Download shard 0 failed dial tcp :8088: connect: connection refused. Waiting 3.01s and retrying (6)...2024/03/04 06:36:14 Download shard 0 failed dial tcp :8088: connect: connection refused. Waiting 11.441s and retrying (7)...2024/03/04 06:36:26 Download shard 0 failed dial tcp :8088: connect: connection refused. Waiting 43.477s and retrying (8)...2024/03/04 06:37:09 Download shard 0 failed dial tcp :8088: connect: connection refused. Waiting 2m45.216s and retrying (9)...backup: dial tcp :8088: connect: connection refused

backitup.0
2024-03-04 06:39:55.077	error	[iobroker/influxDB] 2024/03/04 06:37:09 Download shard 0 failed dial tcp :8088: connect: connection refused. Waiting 2m45.216s and retrying (9)...

backitup.0
2024-03-04 06:39:55.077	error	[iobroker/influxDB] 2024/03/04 06:36:14 Download shard 0 failed dial tcp :8088: connect: connection refused. Waiting 11.441s and retrying (7)...

backitup.0
2024-03-04 06:39:55.078	error	[iobroker] Error: Command failed: influxd backup -portable -database iobroker -host :8088 "/opt/iobroker/backups/influxDB_2024_03_04-06_35_59_influxDB-0_backupiobroker"

backitup.0
2024-03-04 06:39:55.076	error	[iobroker/influxDB] 2024/03/04 06:36:11 Download shard 0 failed dial tcp :8088: connect: connection refused. Waiting 3.01s and retrying (6)...

backitup.0
2024-03-04 06:39:55.077	error	[iobroker/influxDB] 2024/03/04 06:36:26 Download shard 0 failed dial tcp :8088: connect: connection refused. Waiting 43.477s and retrying (8)...

backitup.0
2024-03-04 06:39:55.076	error	[iobroker/influxDB] 2024/03/04 06:36:09 Download shard 0 failed dial tcp :8088: connect: connection refused. Waiting 2s and retrying (5)...

backitup.0
2024-03-04 06:39:55.075	error	[iobroker/influxDB] 2024/03/04 06:36:05 Download shard 0 failed dial tcp :8088: connect: connection refused. Waiting 2s and retrying (3)...

backitup.0
2024-03-04 06:39:55.075	error	[iobroker/influxDB] 2024/03/04 06:36:01 Download shard 0 failed dial tcp :8088: connect: connection refused. Waiting 2s and retrying (1)...

backitup.0
2024-03-04 06:39:55.074	error	[iobroker/influxDB] 2024/03/04 06:35:59 Download shard 0 failed dial tcp :8088: connect: connection refused. Waiting 2s and retrying (0)...

backitup.0
2024-03-04 06:39:55.075	error	[iobroker/influxDB] 2024/03/04 06:36:03 Download shard 0 failed dial tcp :8088: connect: connection refused. Waiting 2s and retrying (2)...

backitup.0
2024-03-04 06:39:55.075	error	[iobroker/influxDB] 2024/03/04 06:36:07 Download shard 0 failed dial tcp :8088: connect: connection refused. Waiting 2s and retrying (4)...

backitup.0
2024-03-04 06:39:55.074	error	[iobroker/influxDB] Error: Command failed: influxd backup -portable -database iobroker -host :8088 "/opt/iobroker/backups/influxDB_2024_03_04-06_35_59_influxDB-0_backupiobroker"

Obviously you have not set the hostname in the backitup configuration.
influxd backup -portable -database iobroker -host :8088

Thanks for the help.
I have fixed this issue.
Still not luck.
I have also tried the IP. Same result
	2024-03-04 08:17:56.470	error	[iobroker] Error: Command failed: influxd backup -portable -database iobroker -host dell:8088 "/opt/iobroker/backups/influxDB_2024_03_04-08_14_01_influxDB-0_backupiobroker"2024/03/04 08:14:01 Download shard 0 failed copy backup to file: err=read tcp <IP_ADDRESS>:41404-><IP_ADDRESS>:8088: read: connection reset by peer, n=0. Waiting 2s and retrying (0)...2024/03/04 08:14:03 Download shard 0 failed copy backup to file: err=read tcp <IP_ADDRESS>:41418-><IP_ADDRESS>:8088: read: connection reset by peer, n=0. Waiting 2s and retrying (1)...2024/03/04 08:14:05 Download shard 0 failed copy backup to file: err=read tcp <IP_ADDRESS>:41430-><IP_ADDRESS>:8088: read: connection reset by peer, n=0. Waiting 2s and retrying (2)...2024/03/04 08:14:07 Download shard 0 failed copy backup to file: err=read tcp <IP_ADDRESS>:41440-><IP_ADDRESS>:8088: read: connection reset by peer, n=0. Waiting 2s and retrying (3)...2024/03/04 08:14:09 Download shard 0 failed copy backup to file: err=read tcp <IP_ADDRESS>:41446-><IP_ADDRESS>:8088: read: connection reset by peer, n=0. Waiting 2s and retrying (4)...2024/03/04 08:14:11 Download shard 0 failed copy backup to file: err=read tcp <IP_ADDRESS>:41216-><IP_ADDRESS>:8088: read: connection reset by peer, n=0. Waiting 2s and retrying (5)...2024/03/04 08:14:13 Download shard 0 failed copy backup to file: err=read tcp <IP_ADDRESS>:41218-><IP_ADDRESS>:8088: read: connection reset by peer, n=0. Waiting 3.01s and retrying (6)...2024/03/04 08:14:16 Download shard 0 failed copy backup to file: err=read tcp <IP_ADDRESS>:41234-><IP_ADDRESS>:8088: read: connection reset by peer, n=0. Waiting 11.441s and retrying (7)...2024/03/04 08:14:27 Download shard 0 failed copy backup to file: err=read tcp <IP_ADDRESS>:42946-><IP_ADDRESS>:8088: read: connection reset by peer, n=0. Waiting 43.477s and retrying (8)...2024/03/04 08:15:11 Download shard 0 failed copy backup to file: err=read tcp <IP_ADDRESS>:52376-><IP_ADDRESS>:8088: read: connection reset by peer, n=0. Waiting 2m45.216s and retrying (9)...backup: copy backup to file: err=read tcp <IP_ADDRESS>:52376-><IP_ADDRESS>:8088: read: connection reset by peer, n=0

backitup.0
2024-03-04 08:17:56.469	error	[iobroker/influxDB] backup: copy backup to file: err=read tcp <IP_ADDRESS>:52376-><IP_ADDRESS>:8088: read: connection reset by peer, n=0

backitup.0
2024-03-04 08:17:56.469	error	[iobroker/influxDB] 2024/03/04 08:15:11 Download shard 0 failed copy backup to file: err=read tcp <IP_ADDRESS>:52376-><IP_ADDRESS>:8088: read: connection reset by peer, n=0. Waiting 2m45.216s and retrying (9)...

backitup.0
2024-03-04 08:17:56.468	error	[iobroker/influxDB] 2024/03/04 08:14:27 Download shard 0 failed copy backup to file: err=read tcp <IP_ADDRESS>:42946-><IP_ADDRESS>:8088: read: connection reset by peer, n=0. Waiting 43.477s and retrying (8)...

backitup.0
2024-03-04 08:17:56.468	error	[iobroker/influxDB] 2024/03/04 08:14:16 Download shard 0 failed copy backup to file: err=read tcp <IP_ADDRESS>:41234-><IP_ADDRESS>:8088: read: connection reset by peer, n=0. Waiting 11.441s and retrying (7)...

backitup.0
2024-03-04 08:17:56.467	error	[iobroker/influxDB] 2024/03/04 08:14:13 Download shard 0 failed copy backup to file: err=read tcp <IP_ADDRESS>:41218-><IP_ADDRESS>:8088: read: connection reset by peer, n=0. Waiting 3.01s and retrying (6)...

backitup.0
2024-03-04 08:17:56.467	error	[iobroker/influxDB] 2024/03/04 08:14:11 Download shard 0 failed copy backup to file: err=read tcp <IP_ADDRESS>:41216-><IP_ADDRESS>:8088: read: connection reset by peer, n=0. Waiting 2s and retrying (5)...

backitup.0
2024-03-04 08:17:56.466	error	[iobroker/influxDB] 2024/03/04 08:14:09 Download shard 0 failed copy backup to file: err=read tcp <IP_ADDRESS>:41446-><IP_ADDRESS>:8088: read: connection reset by peer, n=0. Waiting 2s and retrying (4)...

backitup.0
2024-03-04 08:17:56.466	error	[iobroker/influxDB] 2024/03/04 08:14:07 Download shard 0 failed copy backup to file: err=read tcp <IP_ADDRESS>:41440-><IP_ADDRESS>:8088: read: connection reset by peer, n=0. Waiting 2s and retrying (3)...

backitup.0
2024-03-04 08:17:56.466	error	[iobroker/influxDB] 2024/03/04 08:14:05 Download shard 0 failed copy backup to file: err=read tcp <IP_ADDRESS>:41430-><IP_ADDRESS>:8088: read: connection reset by peer, n=0. Waiting 2s and retrying (2)...

backitup.0
2024-03-04 08:17:56.465	error	[iobroker/influxDB] 2024/03/04 08:14:03 Download shard 0 failed copy backup to file: err=read tcp <IP_ADDRESS>:41418-><IP_ADDRESS>:8088: read: connection reset by peer, n=0. Waiting 2s and retrying (1)...

backitup.0
2024-03-04 08:17:56.465	error	[iobroker/influxDB] 2024/03/04 08:14:01 Download shard 0 failed copy backup to file: err=read tcp <IP_ADDRESS>:41404-><IP_ADDRESS>:8088: read: connection reset by peer, n=0. Waiting 2s and retrying (0)...

backitup.0
2024-03-04 08:17:56.464	error	[iobroker/influxDB] Error: Command failed: influxd backup -portable -database iobroker -host dell:8088 "/opt/iobroker/backups/influxDB_2024_03_04-08_14_01_influxDB-0_backupiobroker"

Maybe it is related to the docker instance of influxdb.
version: '3.6'
services:
  influxdb:
      image: influxdb:1.8-alpine
      container_name: influxdb
      restart: always
      environment:
        - INFLUXDB_DB=influx
        - INFLUXDB_ADMIN_USER=admin
        - INFLUXDB_ADMIN_PASSWORD=admin
      ports:
        - '8086:8086'
        - '8088:8088'
      volumes:
        - /mnt/appdata/influxdb:/var/lib/influxdb
        - /mnt/appdata/influxdb_conf:/etc/influxdb

Have you set
bind-address = ":8088"
in influxdb.conf?

Sorry for my stupidy. Where do I set the influxdb.conf?

In the InfluxDB container (path: /etc/influxdb/influxdb.conf)

This influxdb.conf is not working
[meta]
  dir = "/var/lib/influxdb/meta"

[data]
  dir = "/var/lib/influxdb/data"
  engine = "tsm1"
  wal-dir = "/var/lib/influxdb/wal"
[http]
  # Determines whether HTTP endpoint is enabled.
enabled = true

  # Determines whether the Flux query endpoint is enabled.
flux-enabled=true

  # Determines whether the Flux query logging is enabled.
flux-log-enabled = false
bind-address = ":8088"

I have also tried
bind-address = "<IP_ADDRESS>:8088" and
and
bind-address = "<IP_ADDRESS>:8088"

I see no issue with the ioBroker docker image. Looks like a configuration issue. I'll convert this to an discussion.
BTW: Your ioBroker uses Host network, your influx uses bridge. Not sure if the communication there is possible.
Your log says err=read tcp <IP_ADDRESS>:41430-><IP_ADDRESS>:8088. I think localhost ip is the problem...
Regards,
André


Multiple languages to use different fonts

Hi
I'm using the font f37 ginger but unfortunately it doesn't support some special characters such as glyphs or ś.
Is there a way in pdfkit of selecting a different font if the special character isn't in the f37 ginger font subset?
doc.registerFont('ginger', 'assets/fonts/f37-Regular.ttf');
doc.registerFont('helvetica-bold', 'assets/fonts/HelveticaNeue-Bold.ttf');
doc.registerFont('nationale', 'assets/fonts/nationale-medium-webfont.ttf');

I'm also creating my content/text dynamically from a JSON file so I can't specify different fonts for each section of text.
lines.forEach((line, num) => {
        const textContent = doc.font(font)
                        .fontSize(size)
                        .fillColor(fontColors[color]);

                    lines.forEach((line, num) => {
                        textContent
                            .text(line, left, num > 0 ? null : top, {align, width})
                            .moveDown(0.8);
 });

Thanks in advance!

feature request is here: https://github.com/foliojs/pdfkit/issues/201


Threaded live view unfiltered/Threaded Masking Not working

Any way to get the threaded version to show a second screen of the camera that isn't masked or filtered?  I was able to get it with the RPi2 version, but not in the Threaded Version.
Also, I was unable to get it to change the mask using the JSON config for Threaded as well.
Thanks

Hi @johnwestintx
See #38
Best
David


Streamline Reference.compute and Hamiltonian.compute

One accepts a list whereas the other requires the "unpacked" values:
cp2k.compute(state, 'energy', 'forces')
mace.compute(state, ['energy', 'forces'])

I think this should be fixed in 8b8d41f
As you suggested, I moved the Computable.compute code directly into Hamiltonian -- Computable now acts more like an interface rather than parent class.


ENYO-5363: Added graphql-example

Use Apollo with Enact and Github GraphqQL API
A sample application that demonstrates how to use GraphqQL with Enact components. It uses Apollo Client (GraphqQL client).
Enact-DCO-1.0-Signed-off-by:  HanGyeol Ryu<EMAIL_ADDRESS>

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.3 out of 4 committers have signed the CLA.:white_check_mark: haileyR:white_check_mark: webOS101:white_check_mark: rundmt:x: Hailey RyuHailey Ryu seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Gh 790 add query name description

#790  as per requirenment add name and description in my query should edit by user

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 3 committers have signed the CLA.:white_check_mark: macenturalxl1:x: jpelbertrios:x: K-itKat20You have signed the CLA already but the status is still pending? Let us recheck it.


support android ios

the ADynamicPMCActor can run on ios，but the ADynamicSMCActor will crash on ios，how to make ADynamicSMCActor support ios？

Your best bet is to ask the question on gradientspace's main repo (https://github.com/gradientspace/UnrealRuntimeToolsFrameworkDemo), he's the author of the plugin, this is just a minor fork for submodule format and a few utility functions.


Make asynchronous methods callable via async/await

This fixes #91
@mdmathias @petea - can you provide guidance on formatting / indentation? I will also look into updating the sample as part of this PR.

Hi @peterfriese thanks for the PR! It looks like it fails some checks during pod lib lint on macOS 10.15.
I was thinking that we'd address #91 by updating the block parameter names to be completion.

Let me look into the lint checks.
I was thinking about renaming the block parameter to completion as well at first, but was worried that this would be a breaking change for the API. What are your thoughts about this?

You're correct - changing the block parameter name to completion would break the API and require a major version release. Does adding the swift_async_name attribute not break the API? I guess it just adds an async version of the method and doesn't replace the pre-existing version. I'm not as familiar with with this attribute...
In any case, if swift_async_name doesn't break the API, and only adds async methods, then I think it's worth figuring out what is causing issues in the linting.

Another consideration is that we are due to have a major release coming up soon anyway. Perhaps it's okay to change this API? What do you think @petea?

I did a little informal test and it looks like adding the swift_async_name attribute just adds an async method, but leaves the existing API unchanged.
Without the attribute:

With attribute:

@peterfriese thanks for bringing swift_async_name to our attention.  This could allow us to ship Swift Concurrency support in a non-breaking fashion.  However, we are planning a major release toward the end of Q3 and it may be preferable to take that opportunity to rename callback -> completion for automatic Swift async method generation as well as slightly more idiomatic method naming in general.  In either case, swift_async_name might be useful for doWithFreshTokens: in GIDAuthentication, as this method doesn't even begin to conform to the async naming conventions.

Addressed with #187 and will go out in our next major release.


feat(badge): updating badge colors. Adding isInverse support

re #453 & #454

Codecov Report

Merging #672 (743031a) into dev (476c502) will increase coverage by 0.09%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##              dev     #672      +/-   ##
==========================================
+ Coverage   89.15%   89.25%   +0.09%
==========================================
  Files         174      174
  Lines        4233     4271      +38
  Branches     1404     1413       +9
==========================================
+ Hits         3774     3812      +38
  Misses        234      234
  Partials      225      225

Impacted Files
Coverage Δ

...ges/react-magma-dom/src/components/Badge/index.tsx
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

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


Is it possible to create a new pgRouting feedstock to complement postgis ?

https://pgrouting.org/

@schierkolk, no problem. Please see conda-forge/pgrouting-feedstock.


ClassCastException java.lang.Long cannot be cast to [B

I often get this error both from WorkerImpl and ClientImpl.（Regarding this post: https://github.com/xetorthio/jedis/issues/186 ）
Is it feasible for both WorkerImpl and ClientImpl use pool connection rather than single Jedis instance? Or is there a way to avoid frequently recreating WorkerImpl and ClientImpl?

@ronankim According to xetorthio/jedis#186, the issue was due to using Pool.returnResource() instead of Jedis.close(). Can you confirm this fixes your issue?


Fix Kino.Process visualization for non-started processes

This PR fixes Kino.Process supervisor/app tree visualization when the tree includes processes that did not start (their start function returned :ignore). In the process, I ended up refactoring traverse_processes/3 a bit.
Happy to answer any questions!
Livebook demonstration
Previous:

After PR:

Hmm, this appears to be not ready to merge.
Previous:

Current:

I'm not really sure where this "Unknown output format" error is coming from. Any suggestions?

Hi @zachallaun! I have just pushed some tests for Kino.Process, can you please rebase and add a test for this bug fix too? Thank you!

Hmm, this appears to be not ready to merge.

This is fine. Is because we have added features to Kino main branch that are only supported by Livebook main branch. :)

Wonderful! Will do. Didn’t see any tests for Kino.Process yesterday and didn’t quite have the energy to get that ball rolling.
Will update this PR later today.

Went ahead and got livebook main branch set up. This new tab interface is really slick. :)

:green_heart: :blue_heart: :purple_heart: :yellow_heart: :heart:


Flashlight turns off when changing screen orientation on EDA52

Description:

When you enable flashlight on camera view, it will automatically turn off when screen orientation changes.

Branch:

Occurs on app-demo branch.

Device:

HoneyWell EDA52

Add to the list of known issues in the documentation, then close the issue: we won't fix it for now but we want to keep it documented somewhere to come back to it if needed.

The bug was fixed by https://github.com/enioka-Haute-Couture/enioka_scan/pull/182, probably with the screen orientation change fix. I will close this issue.


IndexOutOfRangeException when evaluating against schema with more than 512 definitions

Nuget Package
JsonSchema.Net
Package Version
7.x
Operating System
None
.Net Target (if relevant, please specify the version in the description)
None
A clear and concise description of the bug.
I have a very big schema file which consists of many schemas ($defs)
When trying to evaluate against this schema, I get an IndexOutOfRangeException. The exception occurs in JsonSchema.cs line 571 because the span used there has a default size of 512, which is not enough in my case.
Validating with this schema does work in 5.x and 6.x
What did you expect?
I did expect the schema to successfully validate.
Please add test code or steps to reproduce the behavior.
Here is a dummy schema, that will cause the exception. The schema itself is kind of useless, I just put it together to demonstrate the issue.
big-schema.json
var schema = JsonSchema.FromFile("C:\\path\\to\\big-schema.json");
var stream = new FileStream("C:\\path\\to\\any.json", FileMode.Open);
var document = await JsonDocument.ParseAsync(stream); // <-- exception occurs here

Is there any other information you'd like to share regarding this bug?
Perhaps the buffer size used here could be configured and when the buffer is not big enough an exception that explains the problem is thrown.
The default buffer of 512 probably is sufficient in most cases.
Perhaps a simple static configuration where the application can just call something like
JsonSchemaConfiguration.MinimumSchemaBufferSize = 4096;

on startup.
Code of Conduct & Contributor Guidelines

[X] I agree to follow this project's Code of Conduct and Contribution Guidelines.

I'll see what I can do to make that allocation a bit more dynamic.

So, making this dynamic is actually pretty challenging.  Most of the time when I'm allocating a chunk of memory like this, I'm calling .GetSubschemas().  I have no information on how many that could be, so trying to determine the allocation size isn't possible.
I'm also not sure about your suggestion for creating a setting.  It seems like the implementation details are leaking into the API, which goes against my UX sensibilities.
I'm also not a fan of just blowing it out to some large value, either.
Open to other ideas...
(I'm testing this on the infamous FHIR schema, which exhibits the same problem.)

Quick thought:
providing the IMemoryOwner<JsonSchema> via ref parameter and having a resize method.
private static void Resize<T>(ref IMemoryOwner<T> owner, ref Span<T> span, int index)
{
	if(index >= owner.Memory.Length)
	{
		var newOwner = MemoryPool<T>.Shared.Rent(index * 2);
		owner.Memory.CopyTo(newOwner.Memory);
		owner.Dispose();
		span = newOwner.Memory.Span;
		owner = newOwner;
	}
}

And then call Resize(ref owner, ref span, i); before span[i] = subschema;
I would probably also do some benchmarking. to see if this has a negative impact.
Could be better not to always double the buffer but grow it linearly. Perhaps also check for MemoryPool<JsonSchema>.Shared.MaxBufferSize to check for totally crazy schemas.
As schemas exploding the current buffersize are probably the exception, it could also be better for the majority of cases to catch the IndexOutOfRangeException and try again with a bigger buffer. This would not have a performance impact for normal schemas but would make those extremes slower.

I thought about doing that, but I didn't like the idea of the performance hit.  Maybe your right in that it would only be an issue for atypically large schemas.
A common practice when resizing arrays is to increment by Fibonnaci values (or at least in a Fibonnaci style).
Not sure I agree with using the exception as a trigger since it's pretty easy to just check, though.
I wonder how the disposal works with what you have.  If the original owner is created as part of a using block, I don't think that changing the owner, even through a ref parameter, will dispose of the new one.  My guess is it will attempt to dispose the original again.  I'll need to clean that up.

Yes, the compiler won't let you use a using block variable as ref parameter. So you need to go medieval with try finally (which will do the right thing).

Okay, I think I've come up with a solution: count the subschemas before allocating the memory.  This only happens once upon schema registration.
I've run a benchmark on the test suite, and it doesn't seem to cause any real difference in runtime performance.  Maybe a little more memory, but that's due to some linq use.

Method
n
Mean
Error
StdDev
Gen0
Gen1
Allocated

StatusQuo
1
306.9 ms
6.07 ms
10.79 ms
28000.0000
4000.0000
74.58 MB

CountSubschemas
1
288.5 ms
5.73 ms
11.83 ms
24000.0000
5000.0000
74.82 MB

StatusQuo
10
857.3 ms
17.05 ms
36.70 ms
190000.0000
8000.0000
419.02 MB

CountSubschemas
10
856.6 ms
17.12 ms
45.98 ms
192000.0000
8000.0000
423.77 MB

I think this is acceptable.  I'm going to put up a PR.  @Laniusexcubitor, I'd appreciate if you can pull the PR and run the new code against your schema to verify it solves your problem.

That was fast
I can confirm that this works with my schema 👍


ingestion imbalance on cicada/

One node is taking most of the traffic. Commit hash f1f6cd1
Ingester 2875172c04e558 is taking most of the traffic: 35MB/50MB

Closing as it is a duplicate of #4910


Fix branch switcher with default-branch-button

Fixes #4240
Test URLs
Go to https://github.com/sindresorhus/refined-github/tree/hotfix, click on the branch switcher and select an option above the readme header.
Screenshot
https://user-images.githubusercontent.com/46634000/119224239-c89a9c00-bafd-11eb-9f2b-3a97987426e5.mp4

The culprit:

Ohhhh wow. That makes sense. But now I wonder why we’re not seeing this anywhere else on native buttons. Maybe they avoid it with a custom class?

why we’re not seeing this anywhere else on native buttons

I looked around the website a bit and .BtnGroup elements are rather rare, especially the ones with a dropdown inside, and this is probably the only situation where the z-index change causes this issue anyway.

Can you try adding an inline CSS to the group?
groupButtons returns the element, so it's probably:
const groupedButtons = groupButtons();
groupedButtons.style.zIndex = '…' // comment

Can you try adding an inline CSS to the group?

It doesn't work, the z-index of the wrapper doesn't affect the buttons since it's overridden by the focus selector. But we can do:
branchSelector.style.zIndex = 'auto';
branchSelector.parentElement!.style.zIndex = 'auto';

Thank you!


[WIP] Add SPIN trainer

Implements the Self-Play fIne-tuNing (SPIN) algorithm from: https://arxiv.org/abs/2401.01335
TODO

[ ] Validate training works for a few iterations of Qwen-1.5-0.5b
[x] Fix generation with ZeRo-3 init (hitting annoying RuntimeError: 'weight' must be 2-D errors)
[ ] Add docs
[ ] Refactor / clean up internals

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.

I wanted to look at implementing this in TRL. @lewtun @vwxyzjn was there a reason this was closed? Should we reopen it and can I continue the work?


adi_update_tools: Check for init system

This modication will check for what init system is running on the target and
add cmake extra flags to the configuration.
systemd: -DWITH_SYSTEMD
sysvinit: -DWITH_SYSVINIT
upstart: -DWITH_UPSTART
Signed-off-by: Mircea Caprioru<EMAIL_ADDRESS>

I don't know if this will work on distributions that are using hard links. (like our Zynq images)
root@analog:~# ls -l /sbin/init
-rwxr-xr-x 1 root root 194844 Apr 11  2014 /sbin/init

From poking around, this might be better...
strings /sbin/init | grep -q "/lib/systemd" && echo SYSTEMD
strings /sbin/init | grep -q "sysvinit" && echo SYSVINIT
strings /sbin/init | grep -q "upstart" && echo UPSTART

On Zynq, I get:
root@analog:~# strings /sbin/init | grep -q "/lib/systemd" && echo SYSTEMD
root@analog:~# strings /sbin/init | grep -q "sysvinit" && echo SYSVINIT
root@analog:~# strings /sbin/init | grep -q "upstart" && echo UPSTART
UPSTART

On Pi:
analog@analog:~ $ strings /sbin/init | grep -q "/lib/systemd" && echo SYSTEMD
SYSTEMD
analog@analog:~ $ strings /sbin/init | grep -q "sysvinit" && echo SYSVINIT
analog@analog:~ $ strings /sbin/init | grep -q "upstart" && echo UPSTART
analog@analog:~ $
``

I get it i only checked on rpi since i did not had a Zynq or something.
Thanks for the heads up will do the modifications.

Changelog v1 -> v2

modify the check for init system with a grep command this will also treat the case where we have hard links

Let’s have this as is.
We can adjust later (if needed).
No idea if we need to handle things too much in detail now.
As things evolve, this should go away in favor of a package repo for our distro.
Until then this looks good enough.


Fix condition where answer is null

The formspec is fine, so it isn't discarded but the answer is sent as null @rramaa should we remove null from the formspec?  im not sure if it's even allowed

approve


There should be a delay before the hive core and be rebuilt or a drone can evolve to Queen after one dies

bumping this, currently a queen can die and a new queen get up instantly, giving no momentum to marines.

second part is implemented, this just needs hive core cooldown now


arm64

Checklist

[ ] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@hmaarrfk are you familiar with this error? https://dev.azure.com/conda-forge/feedstock-builds/_build/results?buildId=505822&view=logs&j=15f8dc28-9f6f-5e3a-5b3c-2b169071e5be&t=63fa899e-c160-5185-75c4-c5fd30c90374


Remove dependency on six

Click to expand!
Issue Type
Build/Install
Have you reproduced the bug with TF nightly?
Yes
Source
source
Tensorflow Version
2.13.0
Custom Code
Yes
OS Platform and Distribution
No response
Mobile device
No response
Python version
No response
Bazel version
No response
GCC/Compiler version
No response
CUDA/cuDNN version
No response
GPU model and memory
No response
Current Behaviour?
Tensorflow relies on six as direct dependency. Since Tensorflow requires Python >= 3.8 and six is a Python 2 and 3 compatibility library, I'm sure it should be possible to remove this unneeded dependency and rely on Python 3 stdlib
Standalone code to reproduce the issue
Irrelevant
Relevant log output
No response

@ralbertazzi
This issue is closed when the PR is merged.
Thank you !

Hi, thanks for bringing this to our attention! Yeah, we should definitely get rid of six, but we have some lingering places in the codebase where it's still in use, which is my blocker for approving the merge. Feel free to add that to this PR, or we also can get rid of the usages, although no promises on the timeline for that, unfortunately.

7 days of inactivity in order to close an issue? 😮 I believe this is still valid so it should stay open

It should still stay open, but PRs are welcome.


How to use  program

Good morning to the community. My name is Miguel Gutiérrez Lanza, I am Venezuelan and I am not a programmer. Just checking the internet I copy, paste and make some programs. My question is this:
Could I use a program from this community in a paid application, specifically the audio-echo program? How should I contribute when using that program?
And excuse my ignorance, I remember I'm not a programmer. Could you include that program in another I'm doing as a bookstore?
Please ask for help, articles where I can be instructed.
In general I am tsu in electronics and my goal with this project is to make an android application for people who are stuttering. I designed a free javaFx application and I have the device in physical, but I would like many people to use it by creating the android application and offering it at a very low cost. At least 80% lower price of the tools that are on the market.
Thank you in advance.

The README.md file pointing to the license terms. It is APACHE 2.0.  Hope that helps.
As for  audio-echo, it uses OpenSL ES; from Android O and on, there is another API called AAudio, the equivalent sample is in audio repo. It depends what you are targeting: for future OSes, AAudio API is a great choice; for your customers before Android Oreo, app has to use OpenSL ES ( only talking from Android C/C++ side -- java side has its own API )

Sorry for the translation.
He was very grateful for your answer, I want my application to be used in the most amount of device and if they are old better as it would reach everyone who needs it. I want that echo effect to complement a very simple stuttering correction application, as that feature initially helps dysphemic or stuttering patients.
I am a novice in programming so I would like to add code and enhance the application, since it is a complement to a series of exercises. I am facilitated since I use android study.
I want the native language because of the speed it offers according to what I have read for speech processing. That is why I would like to add your code to my application respecting and complying with all legal and honesty procedures.

thanks for the update., recommend you just glance through the license, it is pretty much no restrictions.
Best of the luck for your project; if you have any questions, feel free to ask on stackoverflow, here, or audio-high-performance repo

Thank you for your help.


Styling Features of PathSphere

Issues Identification
Hey In The PathSphere Website There was a Issue in the key Features of PathSphere Section which is Tackle by Me and This Pull request

My code follows the style guidelines of this project
I have performed a self-review of my own code
I have commented my code, particularly in hard-to-understand areas
I have made corresponding changes to the documentation
My changes generate no new warnings
My changes do not break the current system and pass all existing test cases
I have added tests that prove my fix is effective or that my feature works
New and existing unit tests pass locally with my changes

@Sumitvi issue number which i assigned to you??


Update tests&ugdg&portfolio

Pull Request Test Coverage Report for Build 735

10 of 37 (27.03%)  changed or added relevant lines in 6 files are covered.
3 unchanged lines in 3 files lost coverage.
Overall coverage increased (+0.7%) to 81.791%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/main/java/seedu/planner/model/ModelManager.java
7
9
77.78%

src/main/java/seedu/planner/logic/parser/AddLimitCommandParser.java
0
7
0.0%

src/main/java/seedu/planner/logic/parser/DeleteLimitCommandParser.java
0
9
0.0%

src/main/java/seedu/planner/logic/parser/EditLimitCommandParser.java
0
9
0.0%

Files with Coverage Reduction
New Missed Lines
%

src/main/java/seedu/planner/logic/parser/EditLimitCommandParser.java
1
0.0%

src/main/java/seedu/planner/model/ModelManager.java
1
80.54%

src/main/java/seedu/planner/logic/parser/DeleteLimitCommandParser.java
1
0.0%

Totals

Change from base Build 731:
0.7%

Covered Lines:
2969

Relevant Lines:
3630

💛  - Coveralls


fix buggy dependency and simplify 'yarn slither' command

I ran yarn upgrade @openzeppelin/hardhat-upgrades because the repo currently uses a buggy version of openzeppelin's upgrade plugin(v1.13)  and needs the patch (https://github.com/OpenZeppelin/openzeppelin-upgrades/releases/tag/%40openzeppelin%2Fupgrades-core%401.14.1). This plugin causes issues with slither as it corrupts the Solidity AST. Btw thanks for making tutorial using Trail of Bits' tools!

Of course! We love trail of bits work!
So I like the upgrade on the upgrades package, but the slither command I can't get to work locally. It isn't able to find the remappings when I run it?

I went ahead and adding the remappings back for now.... Would you mind pasting the error and sharing what OS you're on?  I can clone the repo, run yarn, yarn slither  on MacOS just fine.

When I run with slither . --remappings.... I get this error:
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/slither/__main__.py", line 743, in main_impl
    ) = process_all(filename, args, detector_classes, printer_classes)
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/slither/__main__.py", line 73, in process_all
    compilations = compile_all(target, **vars(args))
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/crytic_compile/crytic_compile.py", line 665, in compile_all
    compilations.append(CryticCompile(target, **kwargs))
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/crytic_compile/crytic_compile.py", line 121, in __init__
    self._compile(**kwargs)
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/crytic_compile/crytic_compile.py", line 574, in _compile
    self._platform.compile(self, **kwargs)
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/crytic_compile/platform/hardhat.py", line 124, in compile
    contract_filename = convert_filename(
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/crytic_compile/utils/naming.py", line 117, in convert_filename
    raise InvalidCompilation(f"Unknown file: {filename}")
crytic_compile.platform.exceptions.InvalidCompilation: Unknown file: contracts/LowLiquidityTokenFeed.sol
None
Error in .
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/slither/__main__.py", line 743, in main_impl
    ) = process_all(filename, args, detector_classes, printer_classes)
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/slither/__main__.py", line 73, in process_all
    compilations = compile_all(target, **vars(args))
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/crytic_compile/crytic_compile.py", line 665, in compile_all
    compilations.append(CryticCompile(target, **kwargs))
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/crytic_compile/crytic_compile.py", line 121, in __init__
    self._compile(**kwargs)
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/crytic_compile/crytic_compile.py", line 574, in _compile
    self._platform.compile(self, **kwargs)
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/crytic_compile/platform/hardhat.py", line 124, in compile
    contract_filename = convert_filename(
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/crytic_compile/utils/naming.py", line 117, in convert_filename
    raise InvalidCompilation(f"Unknown file: {filename}")
crytic_compile.platform.exceptions.InvalidCompilation: Unknown file: contracts/LowLiquidityTokenFeed.sol

I get the same error when I run without remappings.

I don't see a file named "LowLiquidityTokenFeed.sol" in the directory. Maybe the build output is old? Try rm -rf artifcats/ cache/  and see if that fixes it.

Oh what the heck... Yeah looks like it was due to an old artifact. Thanks!

Thanks again!


Improve package

Checklist

[X] Used a personal fork of the feedstock to propose changes
[X] Bumped the build number (if the version is unchanged)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[X] Ensured the license file is being packaged.

Add LGPL license: Fix #10
Make install more standard on windows. Remove x86_win32 from OMNI_RUNTIME_DESTINATION and OMNI_ARCHIVE_DESTINATION. If dll are installed under bin/x86_win32, they aren't found by default.
This is an issue for TangoTest for example.
Move include to omniorb-libs. Allow to build pytango only depending on omniorb-libs (without forcing
the Python version that comes with omniorb).

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@conda-forge-admin, please rerender

@t-b and @ajoubertza, I'd appreciate your input on those changes.

@beenje Looks good!

@beenje Looks good.


Pagination for files & folder page under dataset

Create a dataset with more than 10 files or folders. It should split them in pages containing 10files.

I tested this with a script that uploaded 40 files. Looks good pagination works. Marking approved.


Transaction error

When importing transactions I receive the following error. It appears to be related to a specific transaction, if I pull for a date range before this specific transaction it works fine.

Error
TypeError: Cannot read properties of null (reading '0')
(anonymous)	@ utils.gs:85
cleanTransactions	@ utils.gs:27
importTransactionsAndAccountBalances	@ plaidImport.gs:78
importLatest	@ plaidImport.gs:12

The error is due to the category being undefined.
Is there a way for this to be edited to allow undefined results
const PlaidCat1 = transaction.category[0] ? transaction.category[0] : "";
const PlaidCat2 = transaction.category[1] ? transaction.category[1] : "";
const PlaidCat3 = transaction.category[2] ? transaction.category[2] : "";

@rappcody  I also am receiving this error. Just happened today on 5/5/2023. Had my sheet running successfully for the last 2 months then that error broke it.

hey @rappcody @GOSoccerMaster1 , I won't be able to look at this for about a month. Really hectic over here. Just wanted to give you a heads up that it might be a while, but I will need to sort it our at some point for my own use.

If you replace the section I posted above with this adjustment below it provides a temporary fix. Although, it won't pull multiple categories. Once your transaction that is causing issues has been pulled you can restore the code back to its previous version. Thank William for the quick response and for sharing this project with us.
const PlaidCat1 = transaction.category ? transaction.category : "";
const PlaidCat2 = transaction.category? transaction.category : "";
const PlaidCat3 = transaction.category ? transaction.category : "";

Everything has been working fine the last few months, getting a similar error but with transactions.
TypeError: Cannot read properties of undefined (reading 'transactions')

Not sure if anyone else is having this issue but after this break even every new entry is moved over one column. Is anyone else's sheet doing that as well? If so how did you fix it?

I resolved the error by editing the plaidImport.gs file and also included error handling to troubleshoot into the future. Now when you run the script in script.google.com you'll be able to view the Execution Log for potential issues.
`// Import all new transactions & account balances. Excludes pending transactions. Running.
const importLatest = () => {
const runningTransactionsSheet = ss.getSheetByName(
runningTransactionsSheetName
);
const headersPresent =
runningTransactionsSheet.getRange("A1").getValue() === transactionHeaders[0]
? true
: false;
const start_date = formatDate(getStartDate());
const end_date = formatDate(new Date());
const data = importTransactionsAndAccountBalances(start_date, end_date, true);
if (!headersPresent) {
data.transactions.unshift(transactionHeaders);
}
writeDataToBottomOfTab(
runningTransactionsSheetName,
data.transactions,
false
);
writeDataToBottomOfTab(accountBalancesSheetName, data.accountBalances, false);
cleanup(runningTransactionsSheetName, transactionsDateColumnNumber);
cleanup(accountBalancesSheetName, accountBalancesDateColumnNumber);
};
/**

Uses the dates in the "Import settings" sheet to determine the date range to pull from. plaid API can only get the last 2 years of data.
*/
const importByDateRange = () => {
const importSettings = ss.getSheetByName(importSettingsSheetName);
const start_date = formatDate(importSettings.getRange("B3").getValue());
const end_date = formatDate(importSettings.getRange("B4").getValue());
if (!start_date || !end_date) {
ui.alert(
'Please enter a valid start and end date in the "Import settings" sheet.'
);
return;
}
const data = importTransactionsAndAccountBalances(
start_date,
end_date,
false
);
writeDataToBottomOfTab(
dateRangeTransactionsSheetName,
data.transactions,
true
);
writeDataToBottomOfTab(accountBalancesSheetName, data.accountBalances, false);
cleanup(accountBalancesSheetName, accountBalancesDateColumnNumber);
};

const importTransactionsAndAccountBalances = (
start_date,
end_date,
filterForTransactionIds
) => {
let transactions = [];
let accountBalances = [];
// For each access token, get all transactions and account balances. Normalize the data.
for (let owner in tokens) {
for (let account in tokens[owner]) {
const access_token = tokens[owner][account]["token"];
const access_token_earliest_date = tokens[owner][account]["earliestDate"]
? tokens[owner][account]["earliestDate"]
: undefined;
let response = hitPlaidTransactionsEndpoint(
start_date,
end_date,
owner,
account,
access_token,
access_token_earliest_date,
environment
);
  let cleanedTransactions = cleanTransactions(
    response.transactions,
    getAccountsMap(response.accounts),
    owner,
    account,
    filterForTransactionIds
  );

  let transformedTransactions = transformTransactions(cleanedTransactions);

  transactions = transactions.concat(transformedTransactions);
  accountBalances = accountBalances.concat(
    getAccountBalances(response.accounts, owner)
  );
}

}
return { transactions, accountBalances };
};
const hitPlaidTransactionsEndpoint = (
start_date,
end_date,
owner,
account,
access_token,
access_token_earliest_date,
env
) => {
console.log(Running getTransactionsFromRange from ${start_date} to ${end_date} for ${owner}'s ${account} account);
const url = https://${env === "sandbox" ? "sandbox" : "development"}.plaid.com/transactions/get;
if (access_token_earliest_date > start_date) {
start_date = access_token_earliest_date;  // Adjust start date if necessary
}
const headers = {
"Content-Type": "application/json",
};
const data = {
access_token: access_token,
client_id: client_id,
secret: secret,
start_date: start_date,
end_date: end_date,
};
const parameters = {
method: 'post',
headers: headers,
payload: JSON.stringify(data),
muteHttpExceptions: true
};
try {
const response = UrlFetchApp.fetch(url, parameters);
const parsedResponse = JSON.parse(response.getContentText());
console.log("API Response: ", JSON.stringify(parsedResponse));  // Log the full API response here
if (!parsedResponse.transactions) {
  console.log("No transactions available or error in response:", parsedResponse);
  return { transactions: [], accounts: [] };  // Return empty arrays if no transactions
}

// Process transactions if available
const total_transactions = parsedResponse.total_transactions;
let transactions = parsedResponse.transactions;

while (transactions.length < total_transactions) {
  let additionalResponse = UrlFetchApp.fetch(url, updateRequestParameters(transactions, data));
  let additionalData = JSON.parse(additionalResponse.getContentText());
  transactions = transactions.concat(additionalData.transactions);
}

return { transactions: transactions, accounts: parsedResponse.accounts };

} catch (error) {
console.error("Error fetching transactions:", error);
return { transactions: [], accounts: [] };  // Return empty arrays on error
}
};
// Helper function to update request parameters for pagination
const updateRequestParameters = (transactions, data) => {
data.options = { offset: transactions.length };
return {
method: 'post',
headers: { "Content-Type": "application/json" },
payload: JSON.stringify(data),
muteHttpExceptions: true
};
};
/**
*

@param {Array} accountBalances array of objects from the transactions endpoint

@param {string} owner
*/
const getAccountBalances = (accountBalances, owner) => {
try {
let accountBalancesSheet = ss.getSheetByName(accountBalancesSheetName);
let headersPresent =
accountBalancesSheet.getRange("A1").getValue() ===
accountBalanceHeaders[0]
? true
: false;
let lastAccountBalanceDatesObj = getLastAccountBalanceDateByMask();
let currentDate = new Date();
currentDate.setHours(0, 0, 0, 0);
let result = [];
accountBalances.forEach((account) => {
let arr = [
currentDate,
owner,
account.account_id,
account.mask,
account.name,
account.official_name,
account.type,
account.subtype,
"USD", //currency
account.balances.available,
account.subtype === "credit card"
? account.balances.current * -1
: account.balances.current,
account.balances.limit,
];
if (lastAccountBalanceDatesObj[account.mask]) {
if (
lastAccountBalanceDatesObj[account.mask].getTime() ===
currentDate.getTime()
) {
return;
} else {
result.push(arr);
}
} else {
result.push(arr);
}
});
if (!headersPresent) {
result.unshift(accountBalanceHeaders);
}
return result;
} catch (e) {
console.log(e);
}
};

/**
*

@returns An object containing the most recent date for each account in the account balances sheet
*/
const getLastAccountBalanceDateByMask = () => {
let ss = SpreadsheetApp.getActiveSpreadsheet();
let accountBalancesSheet = ss.getSheetByName(accountBalancesSheetName);
let accountBalancesData = accountBalancesSheet.getDataRange().getValues();
// sort accountBalancesData by date
accountBalancesData.sort((a, b) => {
return new Date(b[0]) - new Date(a[0]);
});

// Get first occurence of each account in accountBalancesData
let latestDateByMask = {};
// get the latest date for each account
accountBalancesData.forEach((row) => {
let mask = row[accountBalancesMaskColumnNumber];
let date = row[accountBalancesDateColumnNumber];
if (mask) {
if (latestDateByMask[mask] === undefined) {
latestDateByMask[mask] = date;
} else {
if (new Date(date) > new Date(latestDateByMask[mask])) {
latestDateByMask[mask] = date;
}
}
}
});
return latestDateByMask;
};
`

In the instructions it says to use sandbox, but how do you all connect to your bank?


Call to undefined method QuickBooksOnline\API\WebhooksService\Entity::__set()

`
$payload = '{"eventNotifications":[{"realmId":"XXXXX","dataChangeEvent":{"entities":[{"name":"Account","id":"91","deletedId":"135","operation":"Merge","lastUpdated":"2019-06-27T17:12:40.000Z"}]}}]}';
WebhooksService\WebhooksService::getWebhooksEvent($payload)
`
Throws an undefined method __set() when handling an account merge webhook

PR: https://github.com/intuit/QuickBooks-V3-PHP-SDK/pull/339 fixes the issue.


Suggestion: txt2al.exe: TableRelations Indentation

It would be nice if txt2al.exe would indent TableRelations in Tables better:
C/AL-Text:
 { 7   ;   ;No.                 ;Code20        ;TableRelation=IF (Type=CONST(" ")) "Standard Text"
                                                                 ELSE IF (Type=CONST("G/L Account")) "G/L Account"
                                                                 ELSE IF (Type=CONST(Item)) Item
                                                                 ELSE IF (Type=CONST(Resource)) Resource
                                                                 ELSE IF (Type=CONST("Fixed Asset")) "Fixed Asset"
                                                                 ELSE IF (Type=CONST("Charge (Item)")) "Item Charge";

November Update Result:
  field(7;"No.";Code[20])
    {
      TableRelation = IF (Type=CONST(" ")) "Standard Text"
ELSE IF (Type=CONST("G/L Account")) "G/L Account"
ELSE IF (Type=CONST(Item)) Item
ELSE IF (Type=CONST(Resource)) Resource
ELSE IF (Type=CONST("Fixed Asset")) "Fixed Asset"
ELSE IF (Type=CONST("Charge (Item)")) "Item Charge";

Would be nice Result:
  field(7;"No.";Code[20])
    {
      TableRelation = IF (Type=CONST(" ")) "Standard Text"
                      ELSE IF (Type=CONST("G/L Account")) "G/L Account"
                      ELSE IF (Type=CONST(Item)) Item
                      ELSE IF (Type=CONST(Resource)) Resource
                      ELSE IF (Type=CONST("Fixed Asset")) "Fixed Asset"
                      ELSE IF (Type=CONST("Charge (Item)")) "Item Charge";

Hi Daniel,
I saw you made a few suggestions to improve the indentation from Txt2AL. Of course the better the Txt2AL is the better. But personally I would rather that they spend time fixing the issues in AL/VSCode and the application, then spending too much time on Txt2AL.
How it looks when it comes into AL doesn't really matter much. Just use the "Format Document" command. Then it automatically adjust all indentations as well as uppercase/lowercase changes in the new language.
Right now you have to download Rasmus Aaen's AL Formatter VSCode extension [(https://marketplace.visualstudio.com/items?itemName=rasmus.al-formatter] - but if I didn't misunderstood the message from Microsoft at NAV Tech Days, then this would soon also be a build-in part of the AL compiler extension.

I agree with @epernst in that we will not be investing too much into txt2al formatting since it is a tool to be used only once and it doesn't have proper utilities for formatting. AL extension on the other hand is coming with a formatter and while I don't think we support this scenario right now we will

We will in general try to address all formatting issues through the Format Document functionality rather than directly in txt2al.

When can we expect to see your own Format Document functionality?

It will be available in December Update


Problem upgrading to 0.68.1

Home Assistant release with the issue: 0.67.1

Last working Home Assistant release (if known): 0.67.1
Operating environment (Hass.io/Docker/Windows/etc.): Raspbian Virtual Env

Component/platform: Homeassistant Core

Description of problem: I'm trying to upgrade homeassistant from 0.67.1 to 0.68.1, I did every step for this, in upgrade messages shows that homeassistant is up-to-date (0.68.1), but when I run again hass, it still in 0.67.1 version.
Problem-relevant configuration.yaml entries and (fill out even if it seems unimportant):

Traceback (if applicable):
pi@xxx:~ $ sudo su -s /bin/bash homeassistant
homeassistant@xxx:/home/pi $ source /srv/homeassistant/bin/activate
(homeassistant) homeassistant@xxx:/home/pi $ pip3 install --upgrade homeassistant
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Requirement already up-to-date: homeassistant in /srv/homeassistant/lib/python3.5/site-packages (0.68.1)
Requirement not upgraded as not directly required: astral==1.6 in /srv/homeassistant/lib/python3.5/site-packages (from homeassistant) (1.6)
Requirement not upgraded as not directly required: async-timeout==2.0.1 in /srv/homeassistant/lib/python3.5/site-packages (from homeassistant) (2.0.1)
Requirement not upgraded as not directly required: jinja2>=2.10 in /srv/homeassistant/lib/python3.5/site-packages (from homeassistant) (2.10)
Requirement not upgraded as not directly required: pytz>=2017.02 in /srv/homeassistant/lib/python3.5/site-packages (from homeassistant) (2018.3)
Requirement not upgraded as not directly required: aiohttp==3.1.3 in /srv/homeassistant/lib/python3.5/site-packages (from homeassistant) (3.1.3)
Requirement not upgraded as not directly required: typing<4,>=3 in /srv/homeassistant/lib/python3.5/site-packages (from homeassistant) (3.6.4)
Requirement not upgraded as not directly required: certifi>=2017.4.17 in /srv/homeassistant/lib/python3.5/site-packages (from homeassistant) (2018.4.16)
Requirement not upgraded as not directly required: attrs==17.4.0 in /srv/homeassistant/lib/python3.5/site-packages (from homeassistant) (17.4.0)
Requirement not upgraded as not directly required: pip>=8.0.3 in /srv/homeassistant/lib/python3.5/site-packages (from homeassistant) (10.0.1)
Requirement not upgraded as not directly required: pyyaml<4,>=3.11 in /srv/homeassistant/lib/python3.5/site-packages (from homeassistant) (3.12)
Requirement not upgraded as not directly required: voluptuous==0.11.1 in /srv/homeassistant/lib/python3.5/site-packages (from homeassistant) (0.11.1)
Requirement not upgraded as not directly required: requests==2.18.4 in /srv/homeassistant/lib/python3.5/site-packages (from homeassistant) (2.18.4)
Requirement not upgraded as not directly required: MarkupSafe>=0.23 in /srv/homeassistant/lib/python3.5/site-packages (from jinja2>=2.10->homeassistant) (1.0)
Requirement not upgraded as not directly required: multidict<5.0,>=4.0 in /srv/homeassistant/lib/python3.5/site-packages (from aiohttp==3.1.3->homeassistant) (4.1.0)
Requirement not upgraded as not directly required: chardet<4.0,>=2.0 in /srv/homeassistant/lib/python3.5/site-packages (from aiohttp==3.1.3->homeassistant) (3.0.4)
Requirement not upgraded as not directly required: idna-ssl>=1.0 in /srv/homeassistant/lib/python3.5/site-packages (from aiohttp==3.1.3->homeassistant) (1.0.1)
Requirement not upgraded as not directly required: yarl<2.0,>=1.0 in /srv/homeassistant/lib/python3.5/site-packages (from aiohttp==3.1.3->homeassistant) (1.1.1)
Requirement not upgraded as not directly required: idna<2.7,>=2.5 in /srv/homeassistant/lib/python3.5/site-packages (from requests==2.18.4->homeassistant) (2.6)
Requirement not upgraded as not directly required: urllib3<1.23,>=1.21.1 in /srv/homeassistant/lib/python3.5/site-packages (from requests==2.18.4->homeassistant) (1.22)
python-jose-cryptodome 1.3.2 has requirement pycryptodome<3.4.0,>=3.3.1, but you'll have pycryptodome 3.4.11 which is incompatible.

Additional information:

I had to manually uninstall homeassistant, and install again... weird.


Integers (0 or 1) in JSONBs are automatically converted to Bool undesirably

Bug report

[x] I confirm this is a bug with Supabase, not with my own application.
[x] I confirm I have searched the Docs, GitHub Discussions, and Discord.

Describe the bug
With the following Codable object:
struct Model: Codable {
    var id: String
    var quantities: [String: Int]
}

When doing bulk upserts, the following object:
let model = Model(id: "1", quantities: ["holo": 1])

Will undesirably have its jsonb property with:
{
    "id": "1",
    "quantities": {
        "holo": true
    }
}

Expected behavior
The expected behaviour should be
{
    "id": "1",
    "quantities": {
        "holo": 1
    }
}

System information

OS: [iOS]
Browser (if applies) [safari]

I can also reproduce this issue on the Supabase website Table Editor. Would love to hear more as this is currently breaking my code.

@pedrommcarrasco I couldn't reproduce this on the table editor, but what is the procedure you took?

I was able to reproduce it on the table editor at the time of writing but now, after doing a bunch of changes to work around this, I'm unable to do it again. I'll try to go back to the original conditions later this week.

After further inspection I've been able to reproduce it on the Table Editor but only after my mobile app does it for the first time.
Regarding that, I've been able to pinpoint this issue and it's related to a third-party SDK. Closing this issue as it's not related to Supabase's codebase.


chunkify_apt_df("data")

in tests/full_workflow.ipynb, second cell gives error:

NameError                                 Traceback (most recent call last)
Cell In[2], line 1
----> 1 files = chunkify_apt_df("data")
NameError: name 'chunkify_apt_df' is not defined

fresh installed conda environment according to environment.yaml
fresh installation with setup.py as in the instructions.

this notebook should be removed, then ?


feat: update katex-rs to 0.3.1 which adds support for chemical equations (\ce)

https://github.com/xu-cheng/katex-rs/pull/4
Adds support for writing chemical equations
\ce{C2H6 + O2 -> CO2 + H2O}

Thanks for this amazing plugin!!

Thanks for the PR! I pushed the new version to crates.io.

Thanks a lot!


fix prematurely ended descriptions due to them containing html tags

fixes #69

+1

merged as:
3cf06412ee42c774691378b05ebb743b0bf85df5
3721f8f014f4a8cda84847a909039b5432fcf908
28fb767bbd8a96e285a304cbb140537b941bc298


Create redirect

Coverage increased (+3.9%) to 64.414% when pulling 5396da289c2e152a07695440bbf76d2ce8d17c2e on create-redirect into c8924e75821cf6be688828e0fe96f241e23fda8c on development.


Crash on Android

Android build crash
I have installed this lib in iOS it's working fine but in Android getting build crash before run app successfully
To Reproduce
Steps to reproduce the behavior:

Run command 'yarn add react-native-zendesk-messaging'
Follow the steps to setup SDK natively for android from here

https://github.com/leegeunhyeok/react-native-zendesk-messaging/blob/master/docs/getting-started.md
https://developer.zendesk.com/documentation/zendesk-web-widget-sdks/sdks/android/getting_started/

compile the code and get error during build process
See error detail bellow in the attached screenshot

Expected behavior
App should compile successfully as it's happening for iOS.
Environment:

Platform: [Android]
React Native Version 0.68.6
Zendesk SDK Version "react-native-zendesk-messaging": "^0.2.1",
compileSdkVersion and targetSdkVersion is 33

Screenshots

Build Logs
FAILURE: Build failed with an exception.

What went wrong:
Execution failed for task ':app:mergeExtDexDebug'.

Could not resolve all files for configuration ':app:debugRuntimeClasspath'.
Failed to transform messaging-android-2.13.0.aar (zendesk.messaging:messaging-android:2.13.0) to match attributes {artifactType=android-dex, asm-transformed-variant=debug, dexing-enable-desugaring=true, dexing-incremental-transform=true, dexing-is-debuggable=true, dexing-min-sdk=21, org.gradle.category=library, org.gradle.dependency.bundling=external, org.gradle.libraryelements=aar, org.gradle.status=release, org.gradle.usage=java-runtime}.
Could not resolve all files for configuration ':app:debugRuntimeClasspath'.
Failed to transform moshi-1.14.0.jar (com.squareup.moshi:moshi:1.14.0) to match attributes {artifactType=android-asm-instrumented-jars, asm-transformed-variant=debug, org.gradle.category=library, org.gradle.dependency.bundling=external, org.gradle.jvm.environment=standard-jvm, org.gradle.jvm.version=8, org.gradle.libraryelements=jar, org.gradle.status=release, org.gradle.usage=java-runtime, org.jetbrains.kotlin.platform.type=jvm}.
Execution failed for AsmClassesTransform: /Users/usama/.gradle/caches/transforms-3/877e4cd2f64a8967b4f8d532809653b4/transformed/jetified-moshi-1.14.0.jar.
Record requires ASM8
Failed to transform zendesk-android-1.13.0.aar (zendesk:zendesk-android:1.13.0) to match attributes {artifactType=android-dex, asm-transformed-variant=debug, dexing-enable-desugaring=true, dexing-incremental-transform=true, dexing-is-debuggable=true, dexing-min-sdk=21, org.gradle.category=library, org.gradle.dependency.bundling=external, org.gradle.libraryelements=aar, org.gradle.status=release, org.gradle.usage=java-runtime}.
Could not resolve all files for configuration ':app:debugRuntimeClasspath'.
Failed to transform moshi-1.14.0.jar (com.squareup.moshi:moshi:1.14.0) to match attributes {artifactType=android-asm-instrumented-jars, asm-transformed-variant=debug, org.gradle.category=library, org.gradle.dependency.bundling=external, org.gradle.jvm.environment=standard-jvm, org.gradle.jvm.version=8, org.gradle.libraryelements=jar, org.gradle.status=release, org.gradle.usage=java-runtime, org.jetbrains.kotlin.platform.type=jvm}.
Execution failed for AsmClassesTransform: /Users/usama/.gradle/caches/transforms-3/877e4cd2f64a8967b4f8d532809653b4/transformed/jetified-moshi-1.14.0.jar.
Record requires ASM8
Failed to transform conversationkit-android-0.19.0.aar (zendesk.conversationkit:conversationkit-android:0.19.0) to match attributes {artifactType=android-dex, asm-transformed-variant=debug, dexing-enable-desugaring=true, dexing-incremental-transform=true, dexing-is-debuggable=true, dexing-min-sdk=21, org.gradle.category=library, org.gradle.dependency.bundling=external, org.gradle.libraryelements=aar, org.gradle.status=release, org.gradle.usage=java-runtime}.
Could not resolve all files for configuration ':app:debugRuntimeClasspath'.
Failed to transform moshi-1.14.0.jar (com.squareup.moshi:moshi:1.14.0) to match attributes {artifactType=android-asm-instrumented-jars, asm-transformed-variant=debug, org.gradle.category=library, org.gradle.dependency.bundling=external, org.gradle.jvm.environment=standard-jvm, org.gradle.jvm.version=8, org.gradle.libraryelements=jar, org.gradle.status=release, org.gradle.usage=java-runtime, org.jetbrains.kotlin.platform.type=jvm}.
Execution failed for AsmClassesTransform: /Users/usama/.gradle/caches/transforms-3/877e4cd2f64a8967b4f8d532809653b4/transformed/jetified-moshi-1.14.0.jar.
Record requires ASM8
Failed to transform converter-moshi-2.9.0.jar (com.squareup.retrofit2:converter-moshi:2.9.0) to match attributes {artifactType=android-dex, asm-transformed-variant=debug, dexing-enable-desugaring=true, dexing-incremental-transform=true, dexing-is-debuggable=true, dexing-min-sdk=21, org.gradle.category=library, org.gradle.libraryelements=jar, org.gradle.status=release, org.gradle.usage=java-runtime}.
Could not resolve all files for configuration ':app:debugRuntimeClasspath'.
Failed to transform moshi-1.14.0.jar (com.squareup.moshi:moshi:1.14.0) to match attributes {artifactType=android-asm-instrumented-jars, asm-transformed-variant=debug, org.gradle.category=library, org.gradle.dependency.bundling=external, org.gradle.jvm.environment=standard-jvm, org.gradle.jvm.version=8, org.gradle.libraryelements=jar, org.gradle.status=release, org.gradle.usage=java-runtime, org.jetbrains.kotlin.platform.type=jvm}.
Execution failed for AsmClassesTransform: /Users/usama/.gradle/caches/transforms-3/877e4cd2f64a8967b4f8d532809653b4/transformed/jetified-moshi-1.14.0.jar.
Record requires ASM8
Failed to transform moshi-adapters-1.14.0.jar (com.squareup.moshi:moshi-adapters:1.14.0) to match attributes {artifactType=android-dex, asm-transformed-variant=debug, dexing-enable-desugaring=true, dexing-incremental-transform=true, dexing-is-debuggable=true, dexing-min-sdk=21, org.gradle.category=library, org.gradle.dependency.bundling=external, org.gradle.jvm.environment=standard-jvm, org.gradle.jvm.version=8, org.gradle.libraryelements=jar, org.gradle.status=release, org.gradle.usage=java-runtime, org.jetbrains.kotlin.platform.type=jvm}.
Could not resolve all files for configuration ':app:debugRuntimeClasspath'.
Failed to transform moshi-1.14.0.jar (com.squareup.moshi:moshi:1.14.0) to match attributes {artifactType=android-asm-instrumented-jars, asm-transformed-variant=debug, org.gradle.category=library, org.gradle.dependency.bundling=external, org.gradle.jvm.environment=standard-jvm, org.gradle.jvm.version=8, org.gradle.libraryelements=jar, org.gradle.status=release, org.gradle.usage=java-runtime, org.jetbrains.kotlin.platform.type=jvm}.
Execution failed for AsmClassesTransform: /Users/usama/.gradle/caches/transforms-3/877e4cd2f64a8967b4f8d532809653b4/transformed/jetified-moshi-1.14.0.jar.
Record requires ASM8
Failed to transform moshi-1.14.0.jar (com.squareup.moshi:moshi:1.14.0) to match attributes {artifactType=android-dex, asm-transformed-variant=debug, dexing-enable-desugaring=true, dexing-incremental-transform=true, dexing-is-debuggable=true, dexing-min-sdk=21, org.gradle.category=library, org.gradle.dependency.bundling=external, org.gradle.jvm.environment=standard-jvm, org.gradle.jvm.version=8, org.gradle.libraryelements=jar, org.gradle.status=release, org.gradle.usage=java-runtime, org.jetbrains.kotlin.platform.type=jvm}.
Execution failed for AsmClassesTransform: /Users/usama/.gradle/caches/transforms-3/877e4cd2f64a8967b4f8d532809653b4/transformed/jetified-moshi-1.14.0.jar.
Record requires ASM8

@leegeunhyeok I need your help on this. Please!

@leegeunhyeok I've managed to resolve the previous issue by removing com.google.firebase.firebase-perf from app/build.gradle, but now I've encountered a new problem. The Zendesk.openMessagingView() method doesn't seem to be functioning as expected.
@leegeunhyeok Could please help me in it. It's urgent!


Decorate with react-native-scrollable-decorator in order to support scrollTo

Hi, I would like to programmatically scroll the scrollView to a specific position with scrollTo. This requires exposing the underlying scrollView. react-native-scrollable-decorator is probably a good way to do this?

@fatuhoku I think this is a good idea, but I'd recommend we not change the implementation to ES6 classes yet, and instead just use the mixin version
I'm using ES6 classes almost exclusively now in my React.js projects, but I've seen some general aversion to doing so in the react-native project (for whatever reason), where it seems React.createClass may still be the preferred method.
This would also have the benefit of not changing so much of the implementation. That said, if I'm wrong about the aversion to ES6 classes, i'm happy to accept that PR as well...

Yep fair enough! I only learned about decorators yesterday so wasn't sure which one to go for. Whichever way makes scrollTo work, basically. I was running into unfamiliar ground using decorators. I'll try out the mix in when I have time.


Restart does not work with p4est + AMR

Extend examples/p4est_2d_dgsem/elixir_advection_extended.jl by an AMR callback like
amr_controller = ControllerThreeLevel(semi, IndicatorMax(semi, variable = first),
                                      base_level = 0,
                                      med_level = 1, med_threshold = 0.8,
                                      max_level = 2, max_threshold = 1.2)
amr_callback = AMRCallback(semi, amr_controller,
                           interval = 5,
                           adapt_initial_condition = false,
                           adapt_initial_condition_only_refine = true)

(possibly also tspan and intervals have to be changed to make sure the expected restart file is indeed written)
Then execute examples/p4est_2d_dgsem/elixir_advection_restart.jl, e.g. via
julia --project=. -e 'using Trixi;  trixi_include("../examples/p4est_2d_dgsem/elixir_advection_restart.jl")'

The following error occurs:
[23540] signal (11.1): Segmentation fault
in expression starting at /home/bene/trixi/Trixi.jl/examples/p4est_2d_dgsem/elixir_advection_restart.jl:42
unsafe_store! at ./pointer.jl:146 [inlined]
unsafe_store! at /home/bene/trixi/Trixi.jl/run/dev/P4est/src/pointerwrappers.jl:108 [inlined]
setindex! at /home/bene/trixi/Trixi.jl/run/dev/P4est/src/pointerwrappers.jl:88 [inlined]
copy_to_quad_iter_volume at /home/bene/trixi/Trixi.jl/src/callbacks_step/amr.jl:533

At this point p4est's user_data array is accessed:
quad_data_pw = PointerWrapper(Int, info_pw.quad.p.user_data[])
quad_data_pw[2] = controller_value

But it is not created when calling load_p4est, in contrast to new_p4est which is used in initial constructors.

Can you reproduce this error with C code? If yes, maybe it's a bug, not a feature?


Bi-monthly test fix - BAEL-13609

[skip ci] - This comment will skips Jenkins CI build.

retest this please [this comment is for Jenkins CI]

retest this please [this comment is for Jenkins CI]


CIP-1694 | Bootstrap & other fixes

This mostly aligns the description of the Bootstrap phase with what we're actually going to do. Additionally, it fixes some other small things that people have noticed.

A few more nit picks from me;

Line 420 "associated stake credential is also delegated to a DRep." -> "associated stake credential is also delegated to a DRep or pre-defined voting option."
Line 426 "(including to a pre-defined DRep)" -> "(including to a pre-defined voting options)"
Line 334 "by voting on any governance actions." -> "by voting on any governance actions or submitting a DRep update certificate."
Line 347 "The following new types of certificates will be added for DReps: DRep registration certificates, DRep retirement certificates, and vote delegation certificates." -> also needs DRep update certs
Line 725 "Votes can be cast multiple times for each governance action by a single credential." -> "by a voting credential."
Line 1034 "We propose to implement the changes via one hard fork." -> We propose to implement the changes via two hard forks.

Here are my comments before the Rationale:

Row 186: The current text hints at implementing a guardrails script during the bootstrap phase. Considering we are definitively implementing a smart-contract-based guardrail for the interim constitution, we should revise the text to clearly reflect this update.
Row 206: It would be beneficial to explicitly mention the guardrail script here, along with the minimum and maximum values for the Proposal Policy (PP). This detail is crucial because any value outside these defined limits should be considered "unconstitutional."
Row 245: Should we specify the parameter name committeeMinSize? Including the precise term can enhance clarity and ensure consistency across our documentation.
Row 262: Instead of expressing the threshold for the Constitutional Committee (CC) as a fraction, it should be noted as a percentage or a decimal number, aligning with the format presented in Conway Genesis Settings. This adjustment will improve readability and consistency in our numerical representations.
Row 457 : Governance Action 3. Update to the Constitution or proposal policy . I believe it is a grave mistake for combining the Constitution and the proposals policy/guardrails in one governance action. The Cardano Constitution holds a higher value in my opinion than a proposal policy that just exists to reduce the possibilities of human error of an inexperience Constitutional Committee. Changing the Constitution should be among the most difficult parameters to change, while adapting a proposal policy is something that cannot be linked to the constitution. What if in future node versions or other improvements of the Cardano network currently selected upper and lower bounds of this proposal policy become obsolote and we need to change them as the circumstances change. Then we would need to change the entire constitution. I see this as an unnecessary hassle as the core values and guiding principles are not effected, but rather the protocol boundaries. I would advocate for disconnecting the proposal policy and the constitution.
Row 576: In the current implementation a GA is enacted one epoch after it has been ratified. The CIP should explicitly mention this. This could also be mentioned in the chapter Lifecycle
Row 691: Should we include the initial recommendation for the governance parameters once the Parameter Committee provides them? Should be after the next meeting

I've addressed everything so far, except the following points:

Line 347 "The following new types of certificates will be added for DReps: DRep registration certificates, DRep retirement certificates, and vote delegation certificates." -> also needs DRep update certs

This depends on your viewpoint, the spec only adds one certificate. From my POV the split into registration and update is an implementation detail.

Line 725 "Votes can be cast multiple times for each governance action by a single credential." -> "by a voting credential."

There's no such thing as a voting credential. Any credential can vote (in principle), so this sentence isn't wrong. In practice, most credentials will probably exist for the sole purpose of casing votes, but not all.

Row 186: The current text hints at implementing a guardrails script during the bootstrap phase. Considering we are definitively implementing a smart-contract-based guardrail for the interim constitution, we should revise the text to clearly reflect this update.

In the CIP what people call the 'Constitution Script' or 'Guardrails Script' is referred to as the proposal policy. This is a more aspirational (probably unrealistic) version that would remove the constitution text altogether.

Row 206: It would be beneficial to explicitly mention the guardrail script here, along with the minimum and maximum values for the Proposal Policy (PP). This detail is crucial because any value outside these defined limits should be considered "unconstitutional."

The point of this example is that while we can have some hard conditions that can be enforced, the CC may have to make decisions about softer rules like that. The proposal policy or the guardrails can't really cover that. Though that specific example may be outdated, so I could replace it with something more clearly outside of the scope of the guardrails.

Row 457 : Governance Action 3. Update to the Constitution or proposal policy . I believe it is a grave mistake for combining the Constitution and the proposals policy/guardrails in one governance action. The Cardano Constitution holds a higher value in my opinion than a proposal policy that just exists to reduce the possibilities of human error of an inexperience Constitutional Committee. Changing the Constitution should be among the most difficult parameters to change, while adapting a proposal policy is something that cannot be linked to the constitution. What if in future node versions or other improvements of the Cardano network currently selected upper and lower bounds of this proposal policy become obsolote and we need to change them as the circumstances change. Then we would need to change the entire constitution. I see this as an unnecessary hassle as the core values and guiding principles are not effected, but rather the protocol boundaries. I would advocate for disconnecting the proposal policy and the constitution.

Irregardless of whether people want that or not, it's probably unrealistic to change something like that at this point in time since it might delay the HF. Note also that the constitution doesn't need to be changed with that GA. People can simply look at the action, and if the hash for the constitution was changed they can just reject it.

Row 576: In the current implementation a GA is enacted one epoch after it has been ratified. The CIP should explicitly mention this. This could also be mentioned in the chapter Lifecycle

It is mentioned in Lifecycle: All governance actions are enacted on the epoch boundary after their ratification.

Row 691: Should we include the initial recommendation for the governance parameters once the Parameter Committee provides them? Should be after the next meeting

I'm not sure. These settings are effectively temporary, so I'm not sure they belong here. @rphair, is there any guidelines for this type of content?

(@thenic95) Row 691: Should we include the initial recommendation for the governance parameters once the Parameter Committee provides them? Should be after the next meeting

(@WhatisRT https://github.com/cardano-foundation/CIPs/pull/800#issuecomment-2090451718) I'm not sure. These settings are effectively temporary, so I'm not sure they belong here. @rphair, is there any guidelines for this type of content?

The general recommendation for CIPs so far has been that these types of content should be avoided when possible:

social factors (unless they directly affect, or provide, the Motivation)
policies of particular companies
temporary conditions: especially those unlikely to persist beyond the editing process & activation of a CIP.

These rules are not coded anywhere; just my understanding based on 3 years of observance at CIP meetings & seeing these types of material challenged frequently in the GitHub editing process.  @Ryun1 could provide more insight about whether Parameter Committee interaction would be considered "company policy" or a reflection of technical / community consensus.  (cc @KtorZ)

@WhatisRT we ran out of time with all the Last Checks at the CIP meeting today but @Ryun1 @Crypto2099 I would say this is another good candidate to merge between-meetings if it's true that all the points above really have been addressed... it seems that say to me after:

https://github.com/cardano-foundation/CIPs/pull/800/commits/552c5f292d1a28a9a440b64dc60819fefc3131c9
the reservations in https://github.com/cardano-foundation/CIPs/pull/800#issuecomment-2090451718
my confirmation (if OK with other editors) of the final reservation in https://github.com/cardano-foundation/CIPs/pull/800#issuecomment-2091185186

No hurry but I think it would be timely to merge this as soon as @Ryun1 can review it again to ensure merging produces this produces an excellent final draft (with no follow-up PR to fix these little issues later).


Maven central publishing

Vale bintray.

Tested with a snapshot release:
sbt:root> publishSigned
[info] :: delivering :: pl.project13.scala#sbt-jmh;0.4.1-SNAPSHOT :: 0.4.1-SNAPSHOT :: integration :: Wed May 05 14:20:17 AEST 2021
[info] 	delivering ivy file to /Users/jz/code/sbt-jmh/plugin/target/scala-2.12/sbt-1.0/ivy-0.4.1-SNAPSHOT.xml
[info] :: delivering :: pl.project13.scala#sbt-jmh;0.4.1-SNAPSHOT :: 0.4.1-SNAPSHOT :: integration :: Wed May 05 14:20:18 AEST 2021
[info] 	delivering ivy file to /Users/jz/code/sbt-jmh/plugin/target/scala-2.12/sbt-1.0/ivy-0.4.1-SNAPSHOT.xml
[info] 	published sbt-jmh to https://oss.sonatype.org/content/repositories/snapshots/pl/project13/scala/sbt-jmh_2.12_1.0/0.4.1-SNAPSHOT/sbt-jmh-0.4.1-SNAPSHOT.jar.asc
[info] 	published sbt-jmh to https://oss.sonatype.org/content/repositories/snapshots/pl/project13/scala/sbt-jmh_2.12_1.0/0.4.1-SNAPSHOT/sbt-jmh-0.4.1-SNAPSHOT-sources.jar
[info] 	published sbt-jmh to https://oss.sonatype.org/content/repositories/snapshots/pl/project13/scala/sbt-jmh_2.12_1.0/0.4.1-SNAPSHOT/sbt-jmh-0.4.1-SNAPSHOT.jar
[info] 	published sbt-jmh to https://oss.sonatype.org/content/repositories/snapshots/pl/project13/scala/sbt-jmh_2.12_1.0/0.4.1-SNAPSHOT/sbt-jmh-0.4.1-SNAPSHOT-javadoc.jar
[info] 	published sbt-jmh to https://oss.sonatype.org/content/repositories/snapshots/pl/project13/scala/sbt-jmh_2.12_1.0/0.4.1-SNAPSHOT/sbt-jmh-0.4.1-SNAPSHOT-javadoc.jar.asc
[info] 	published sbt-jmh to https://oss.sonatype.org/content/repositories/snapshots/pl/project13/scala/sbt-jmh_2.12_1.0/0.4.1-SNAPSHOT/sbt-jmh-0.4.1-SNAPSHOT-sources.jar.asc
[info] 	published ivy to https://oss.sonatype.org/content/repositories/snapshots/pl/project13/scala/sbt-jmh_2.12_1.0/0.4.1-SNAPSHOT/ivy-0.4.1-SNAPSHOT.xml

@dwijnand Does this look right?