Commit Graph

64 Commits

Author SHA1 Message Date
Roman Zajic 055541ad0d
fix: cluster_id 0 for peer store related tests (#56)
* fix: use cluster_id 0 for peer store related tests

* test: simulation for issue

* fix: use cluster_id not 0 and subscribe to static shard for go-waku

* fix: revert env values to original defaults
2024-07-15 15:47:42 +02:00
dependabot[bot] 03e577e558
Bump certifi from 2023.11.17 to 2024.7.4 (#53)
Bumps [certifi](https://github.com/certifi/python-certifi) from 2023.11.17 to 2024.7.4.
- [Commits](https://github.com/certifi/python-certifi/compare/2023.11.17...2024.07.04)

---
updated-dependencies:
- dependency-name: certifi
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: fbarbu15 <florin@status.im>
2024-07-12 18:01:01 +03:00
fbarbu15 a27c028104
chore: use another cluster id (#55)
* use another cluster id

* adjust tests
2024-07-11 23:00:18 +03:00
Roman Zajic d5cd78950a
fix: revert ADDITIONAL_NODES to its original default (#54) 2024-07-10 06:46:58 +02:00
Roman Zajic 6aa7716793
Test/peer exchange (#51)
* test: establish basic node setup for pe

* test: debug peer retrieval error with nwaku

* fix: disable discovery v5 on the requester node

* fix: assert node3 peer store to exact content

* test: get peers for filter node

* test: get peers after node1 was restarted

* fix: allow tests to run only when Node2 is Go-waku

* fix: revert NODE_1 to its original default
2024-07-09 14:07:48 +02:00
fbarbu15 07f4e1f438
add peer store capacity (#52) 2024-07-04 11:59:54 +03:00
fbarbu15 95f8a791fa
chore: fix connection error message (#50) 2024-07-03 11:14:00 +03:00
Roman Zajic 0ce2572810
chore: refactor setup relay node for sharding (#48)
* fix: refactor setup relay for sharding

* fix: refactor also all related to _resolve_sharding_flags
2024-07-02 09:33:53 +02:00
dependabot[bot] e8d5f78288
Bump urllib3 from 2.1.0 to 2.2.2 (#47)
Bumps [urllib3](https://github.com/urllib3/urllib3) from 2.1.0 to 2.2.2.
- [Release notes](https://github.com/urllib3/urllib3/releases)
- [Changelog](https://github.com/urllib3/urllib3/blob/main/CHANGES.rst)
- [Commits](https://github.com/urllib3/urllib3/compare/2.1.0...2.2.2)

---
updated-dependencies:
- dependency-name: urllib3
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-01 13:33:10 +03:00
fbarbu15 c9ce9314c6
bugfixes (#49) 2024-07-01 13:32:14 +03:00
Roman Zajic ccad2a12f6
Test/peer connection management (#45)
* test: get peers from peer store

* test: add peers to peer store

* fix: add go_waku support

* test: placeholder for Issue 1549 solution test

* test: expect two peers for two protocols/services

* test: restart survival with persistent peer store

* fix: add issue to skip mark

* fix: move Waku related methods to waku_node module

* test: full peer store takeover

* fix: add kill of Node 1

* fix: remove debug info
- skip while waiting on issue 2792

* test: peer store content after node restart

* fix: revert nwaku image back to use latest

* fix: added delays to let nodes finish discovery

* fix: move peer_persistence config steps out of start

* fix: NODE1 default back to DEFAULT_GOWAKU

* fix: partial refactor for setup_first-second_relay_node

* test: daily workflow after refactor

* test: shorter name for daily workflow

* test: RLN only

* test: increase timeout

* test: check Sepolia API endpoint

* test: run RLN tests in single thread

* fix: remove Sepolia API check

* fix: skipp all RLN tests till registration works

* fix: remove test workflow
2024-06-21 23:40:40 +08:00
fbarbu15 aab71a92a7
Test/discv5 (#46)
* discv5 tests

* discv5 tests
2024-06-17 17:52:16 +03:00
fbarbu15 03973b8897
Test/store v3 (#38)
* first commit

* get message tests 1

* store tests with node restarts

* reliability tests

* store tests

* fixes

* more tests

* fixes

* new store tests

* new store tests

* adjustments

* adjust tests for go-waku

* postgress test

* postgress test

* fixes

* small fixes

* reliability updates

* postgress test

* adjsutmens for go-waku
2024-05-28 16:50:14 +03:00
Roman Zajic 39a6d13276
fix: occasional failure to check published message for RLN tests (#44)
* test: increased message propagation delay

* test: increased message propagation delay in all instances

* fix: delete test workflow
2024-05-27 22:34:56 +08:00
fbarbu15 84636b7a57
fix dial fail test (#43) 2024-05-24 17:30:09 +03:00
fbarbu15 46f6de18dd
Revert "--- (#41)" (#42)
This reverts commit 07e8ae32b2.
2024-05-22 10:17:12 +03:00
dependabot[bot] 07e8ae32b2
--- (#41)
updated-dependencies:
- dependency-name: requests
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-21 17:24:04 +03:00
fbarbu15 2e9a3d1202
all message fields are now camel case (#40) 2024-05-20 13:10:53 +03:00
fbarbu15 73a1711d54
fixed for lightpush with big payload (#39) 2024-05-16 12:57:30 +03:00
fbarbu15 d0a84b2009
temp store content topic fix (#37)
* temp sote content topic fix

* fix go-waku
2024-05-13 15:14:14 +03:00
Roman Zajic b9ec0bb1d2
fix: skip health check for go-waku (#36) 2024-05-09 21:53:03 +08:00
Roman Zajic 06281de7c8
chore: node readiness (#35)
* test: wait longer for info endpoint to start

* test: health endpoint response parsing

* fix: health endpoint response parsing

* fix: remove debug from health response parsing

* fix: mark on chain tests to skip again

* fix: check_healthy accepts both text and json response

* fix: delete test workflow

* fix: simplify if statements
2024-05-08 20:50:05 +08:00
Roman Zajic 151233fddb
chore: RLN relay tests (#30)
* fix: add get_multiaddr_with_id step
- temporarily use local docker images

* fix: discard containers used for RLN registration

* fix: switch to use cluster ID 1 for RLN

* test: publish at slow and spam rate

* fix: shorten test data set

* fix: move RLN related code into separate class

* fix: use send only publish function
- add spam and alternate rate tests

* fix: use math.trunc instead of rounding

* fix: first message without delay

* fix: add one more second to messages with delay

* fix: add methods to setup non default RLN nodes

* fix: rewrite tests using steps rather than fixtures
- prepare for non default settings for RLN

* test: random epoch with valid_payloads_at_slow_rate

* test: random user message limit with valid payloads

* fix: skip test "random user message limit with valid payloads"

* fix: mark flaky "at variable_rate with valid payloads"

* fix: rename tests for easier debugging

* fix: mark valid_payloads_dynamic_at_slow_rate to skip

* fix: forgot to add actual file

* test: valid payloads dynamic(on chain) at spam rate
- extend timeout for ensure_ready() to 600s
- add ensure_healthy() for future use
- add text content based rest call
- remove NODE1, NODE2 imports

* fix: revert env_vars to source images from Harbor

* fix: reuse setup first and second rln relay node for setup_main_rln_relay_nodes

* fix: reuse register_rln_single_node for register_main_rln_relay_nodes

* fix: start using src.steps.common
- removed RLN test class inheritance from StepsRelay

* fix: test using whole data set at test payloads_at_slow_rate

* fix: switch to send msg and check for slow rate tests

* fix: add comment for skip check at first message

* fix: refactor payloads_at_variable_rate to use only one payload pattern

* fix: remove the plural from payloads_at_variable_rate

* fix: multiple class inheritance for TestRelayRLN

* test: node1 with rln node2 without rln at spam rate

* test: mixed epoch at slow rate

* test: add lightpush methods

* test: send valid payloads lightpush at spam rate

* fix: node1 to act as light push receiving node
- add setup lightpush node to spin off node2 with lightpush support

* fix: use NODE1 NODE2 instead of DEFAULT_NWAKU

* fix: no lightpush param required for plain RLN relay

* fix: comment for lightpush

* fix: comment for lightpush - wait for implementation

* fix: comment on chain tests

* fix: add lightpush case to publish_message

* fix: remove check_light_pushed_message_reaches_receiving_peer from StepsRLN

* fix: change comment for mixed_epoch_at_slow_rate

* test: happy and common case with 5 nodes

* fix: add all required fixtures explicitly

* fix: add timeout param to ensure_ready

* fix: skip RLN tests for go-waku

* fix: reformated with pre-commit

* fix: uncomment skip for debugging

* fix: put the skip back

* fix: change comment for on chain tests

* fix: run RLN tests in serial
- add grouping of tests to runner
- use smaller dataset for spam rate tests

* test: Nim to Nim workflow

* test: check also additional nodes for go-waku

* test: all nodes are nwaku

* fix: string quotes

* fix: remove additional nodes

* fix: re-arrange skip conditions

* test: RLN only

* fix: change default additional nodes to nwaku only

* fix: change additional nodes rather at top level workflow

* fix: enable all tests

* test: problems with current workdir

* test: rln only

* test: correct typo

* test: re-enable all tests
- remove current dir debug

* fix: nwaku additional nodes for nim to nim worklfow

* fix: re-able discord notification
- delete test workflow

* fix: add get_multiaddr_with_id step
- temporarily use local docker images

* fix: discard containers used for RLN registration

* fix: switch to use cluster ID 1 for RLN

* test: publish at slow and spam rate

* fix: shorten test data set

* fix: rebase onto master

* fix: use send only publish function
- add spam and alternate rate tests

* fix: use math.trunc instead of rounding

* fix: first message without delay

* fix: add one more second to messages with delay

* fix: add methods to setup non default RLN nodes

* fix: rewrite tests using steps rather than fixtures
- prepare for non default settings for RLN

* test: random epoch with valid_payloads_at_slow_rate

* test: random user message limit with valid payloads

* fix: skip test "random user message limit with valid payloads"

* fix: mark flaky "at variable_rate with valid payloads"

* fix: rename tests for easier debugging

* fix: mark valid_payloads_dynamic_at_slow_rate to skip

* fix: forgot to add actual file

* test: valid payloads dynamic(on chain) at spam rate
- extend timeout for ensure_ready() to 600s
- add ensure_healthy() for future use
- add text content based rest call
- remove NODE1, NODE2 imports

* fix: revert env_vars to source images from Harbor

* fix: reuse setup first and second rln relay node for setup_main_rln_relay_nodes

* fix: reuse register_rln_single_node for register_main_rln_relay_nodes

* fix: start using src.steps.common
- removed RLN test class inheritance from StepsRelay

* fix: test using whole data set at test payloads_at_slow_rate

* fix: switch to send msg and check for slow rate tests

* fix: add comment for skip check at first message

* fix: refactor payloads_at_variable_rate to use only one payload pattern

* fix: remove the plural from payloads_at_variable_rate

* fix: multiple class inheritance for TestRelayRLN

* test: node1 with rln node2 without rln at spam rate

* test: mixed epoch at slow rate

* test: add lightpush methods

* test: send valid payloads lightpush at spam rate

* fix: node1 to act as light push receiving node
- add setup lightpush node to spin off node2 with lightpush support

* fix: use NODE1 NODE2 instead of DEFAULT_NWAKU

* fix: no lightpush param required for plain RLN relay

* fix: comment for lightpush

* fix: comment for lightpush - wait for implementation

* fix: comment on chain tests

* fix: add lightpush case to publish_message

* fix: remove check_light_pushed_message_reaches_receiving_peer from StepsRLN

* fix: change comment for mixed_epoch_at_slow_rate

* test: happy and common case with 5 nodes

* fix: add all required fixtures explicitly

* fix: add timeout param to ensure_ready

* fix: skip RLN tests for go-waku

* fix: uncomment skip for debugging

* fix: put the skip back

* fix: change comment for on chain tests

* fix: run RLN tests in serial
- add grouping of tests to runner
- use smaller dataset for spam rate tests

* test: Nim to Nim workflow

* test: check also additional nodes for go-waku

* test: all nodes are nwaku

* fix: string quotes

* fix: remove additional nodes

* fix: re-arrange skip conditions

* test: RLN only

* fix: change default additional nodes to nwaku only

* fix: change additional nodes rather at top level workflow

* fix: enable all tests

* test: problems with current workdir

* test: rln only

* test: correct typo

* test: re-enable all tests
- remove current dir debug

* fix: nwaku additional nodes for nim to nim worklfow

* fix: re-able discord notification
- delete test workflow

* test: re-test again after rebase

* fix: wait longer for credential store

* test: try again with Discord report off

* fix: enable Discord
- delete test workflow
2024-05-07 08:31:12 +08:00
fbarbu15 edb1f59448
add shard flag (#34) 2024-04-29 12:44:25 +03:00
fbarbu15 69c8e3f4b6
chore: go waku connection issues (#33)
* add go-waku peers via api

* add go-waku peers via api

* fix add_node_peer

* fix add_node_peer

* fix add_node_peer

* fix add_node_peer

* move create_message to commons
2024-04-23 10:44:12 +03:00
fbarbu15 c1d4c0cc6b
lightpush and store bugfixes (#32)
* bugfixes

* store bugfixes

* fix 2567
2024-04-18 13:04:08 +03:00
fbarbu15 8d956b3d9c
Test/store part 1 (#31)
* first set of tests

* fix ci

* new tests

* finish publish tests

* new tests

* running nodes tests

* new tests

* finishing touches

* new test

* temp commit

* running node tests

* new tests

* new store tests

* store part 1
2024-04-17 08:37:31 +03:00
dependabot[bot] 53417a8665
Bump idna from 3.6 to 3.7 (#29)
Bumps [idna](https://github.com/kjd/idna) from 3.6 to 3.7.
- [Release notes](https://github.com/kjd/idna/releases)
- [Changelog](https://github.com/kjd/idna/blob/master/HISTORY.rst)
- [Commits](https://github.com/kjd/idna/compare/v3.6...v3.7)

---
updated-dependencies:
- dependency-name: idna
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-15 09:31:03 +03:00
fbarbu15 8b525f2b1a
Light push tests (#27)
* first set of tests

* fix ci

* new tests

* finish publish tests

* new tests

* running nodes tests

* new tests

* finishing touches

* new test

* fixes

* fixes
2024-04-11 13:00:53 +03:00
fbarbu15 4ba5ee2418
fix allure broken history links (#28) 2024-04-04 11:00:16 +03:00
fbarbu15 0095b5e04a
sharding tests part 1 (#24)
* sharding struct

* add peers

* running nodes tests

* cleanup sharding steps

* new sharding tests

* test_different_cluster_different_shard

* new tests

* new static sharding tests

* new auto sharding tests

* change structure

* running nodes tests

* new autosharding tests

* adjust tests

* new sharding tests

* sharding

* sharding filter

* add peers
2024-04-02 09:11:56 +03:00
fbarbu15 17ba9baf45
bug fixes for nwaku 2436 and 2286 (#26) 2024-03-22 15:55:06 +02:00
dependabot[bot] 82d7ffd3fe
Bump black from 24.2.0 to 24.3.0 (#25)
Bumps [black](https://github.com/psf/black) from 24.2.0 to 24.3.0.
- [Release notes](https://github.com/psf/black/releases)
- [Changelog](https://github.com/psf/black/blob/main/CHANGES.md)
- [Commits](https://github.com/psf/black/compare/24.2.0...24.3.0)

---
updated-dependencies:
- dependency-name: black
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-22 12:41:49 +02:00
Florin Barbu 124f6cd5ad
add repro scripts folder (#23) 2024-03-18 12:28:35 +02:00
Florin Barbu 26dd7144c7
skip because of 1054 (#22) 2024-03-15 18:11:59 +08:00
Florin Barbu 776d2841fe
fix filter test (#21)
* fix filter test

* small fix
2024-03-12 11:11:04 +02:00
Florin Barbu dd140dcb74
small fixes (#20)
* small fixes

* adjustments

* xfail test
2024-03-07 14:36:53 +02:00
Florin Barbu 7df4741a36
fixes for latest failures (#19) 2024-03-05 08:55:35 +02:00
Florin Barbu 9d769c47d7
remove legacy filter flag (#18)
* remove legacy filter flag

* fix ping test
2024-02-21 13:42:13 +02:00
Florin Barbu 98c76dc214
fixes for latest failures and bugfixes (#17)
* fixes for latest failures and bugfixes

* other fixes
2024-02-15 14:58:20 +02:00
Roman Zajic 8cb44f1201
chore: RLN registration support (#16)
* chore: parameters and volumes for RLN relay

* chore: add startup test for RLN

* fix: remove redundant rln_enabled from WakuNode

* fix: - and _ magic in rln parameters

* fix: key 'eth_testnet_key' -> 'eth_client_private_key'

* fix: rln-register_only -> rln-register-only

* fix: use extend instead of append for the volumes list

* fix: use absolute path for the volumes names
- mark volumes shared across containers

* fix: remove :z attr from volumes

* fix: remove filename from volume path

* fix: remove request for ENR

* test: plain RLN registration

* fix: remove subscribe

* fix: remove ENR related params

* test: add run_container func to Docker Mananger

* fix: remove run_container func from Docker Mananger - no need for exec

* fix: pass exec commands instead of specialized docker exec func

* fix: exclude RLN arguments from others

* fix: separate RLN volumes by implementation

* test: registration with nwaku

* test: registration over existing credentials

* test: add RLN Relay node startup

* test: RLN credentials reuse for  relay node startup

* fix: clean up unnecessary commands

* fix: clean up unnecessary commands for non RLN relay too

* test: regression by sending one valid message

* fix: add forgotten call to get enr_uri

* fix: check RLN credentials set properly

* fix: parenthesis in eval expression

* fix: better check for RLN credentials

* fix: update to new flags - gowaku
- separate private key for go/nwaku

* test: register RLN

* fix: RLN credentials check

* fix: remove enable rln-relay flag from registration

* test: reorder commands to check go-waku registration

* fix: restructure if statements for RLN registration

* fix: different set of flag for RLN registration and operation

* fix: forgotten "eth" in eth-contract-address

* fix: remove redundant None from get_env_var call

* fix: refactor rln credentials parsing from start function

* fix: missed second return value

* test: call to parse_rln_credentials

* fix: remove redundant self in call to parse_rln_credentials

* fix: remove rln related values if not valid

* fix: refactored to accept multiple private keys
- JSON source for RLN credentials
- removed go-waku support for RLN

* test: register RLN with 2 nwaku nodes

* fix: missing open file, key errors

* fix: return effective keystore_path

* fix: cleanup unused env variables

* fix: cleanup unused env variables from relay

* fix: wait longer for credentials file to be written to disk

* test: remove waiting for credentials file to be written to disk

* fix: add select_private_key()

* fix: merge parse_rln_credentials and parse_rln_registration_credentials

* test: wait for filesystem cache

* test: try with os.sync to flush cache

* test: stop container to clear cache

* fix: 15 sec wait + stop container to clear cache

* test: RLN registration test with fixture and cred file check

* test: added allure.step - RLN registration for single node
- corresponding test to register all keys

* fix: f-strings in the test

* fix: sync naming for register_main_rln_relay_nodes

* fix: add WARN message to log unset and expected RLN credentials

* fix:  pytest.skip added to exit tests when non nwaku image is used

* fix: swap NODE2 for DEFAULT_NWAKU

* fix: let rln_credential_store_ready to raise exception for retry

* fix: let register_rln to raise exception too, when credential fine still not available

* fix: remove container stop

* fix: tune down retry timeouts

* fix: remove unnecessary f-string

* test: reduce unnecessary variables init

* test: undo reduce unnecessary variables init

* test: increase timeout for rln_credential_store_ready

* test: refactor kwargs handling into sanitize_docker_flags

* fix: created RLN registration check
- changed rln_credential_store_ready to function

* fix: delete unnecessary ports from register_rln init

* fix: remove wait for registration entirely

* test: RLN_CREDENTIALS env var example

* fix: check_rln_registration to raise exception

* fix: use f-string at check_rln_registration

* fix: add gen_step_id function

* fix: RLN_CREDENTIALS as loaded from .env

* fix: RLN_CREDENTIALS example, skipping test if not set

* test: RLN with actions

* fix: tune up RLN timeouts for Github runners

* test: filesystem write to /

* fix: change RLN data to be stored at working directory

* fix: catch exception instead of "if not"
- print out container log

* fix: wrap logs into debug msg

* fix: print log file

* fix: remove additional logging

* fix: exit RLN cred parsing sooner when not used
- delete proper keys from default_args

* fix: Allure report

* fix: Discord notifications

* fix: remove f-string

* fix: delete test workflow
2024-02-13 22:01:30 +08:00
Florin Barbu dc25c6e51b
chore: go waku as client (#15)
* run go waku as a client only

* notify nwaku devs when stuff fails

* revert name

* revert name

* use role id

* add my user id

* remove role id

* prepare for PR
2024-02-08 09:33:53 +02:00
Florin Barbu de60598b6c
Chore/address failures (#14)
* address failures

* job for interop tests

* fix branch name

* fix remaining tests

* see job name

* set caller input

* split reports per caller

* trigger again

* try with publish_dir

* small fix

* small fix

* remove on pr
2024-01-19 12:56:55 +02:00
Roman Zajic ae3addb619
chore: custom test workflows (#13)
* chore: separate interop test workflows for Go and Nim
- common test workflow
- reporting to Discord

* fix: define GITHUB_STEP_SUMMARY

* fix: remove GITHUB_STEP_SUMMARY def for global env

* fix: move GITHUB_STEP_SUMMARY after run

* fix: add dollar sign to GITHUB_STEP_SUMMARY

* fix: proper quoting - GITHUB_STEP_SUMMARY

* fix: unique concurrency groups

* fix: variable expansion for curl

* fix: variable substitution

* fix: use Discord action instead of curl

* fix: use GITHUB_OUTPUT

* fix: remove doubled echo

* fix: secrets inherit

* test: directly refer to step summary

* test: GITHUB_STEP_SUMMARY behavior

* fix: syntax

* fix: syntax 2

* test: cat content of backing file

* test: re-run with tests

* fix: error in text format

* fix: error in text format 2

* fix: error in text format 3

* fix: error in text format 4

* fix: error in text format 5

* test: env variable passing

* test: re-run with tests

* test: override description info

* fix: set different schedule for Nim and Go tests
- print job.status

* fix: adjust wording for job.status

* fix: add event and actor info

* fix: add color based on result

* fix: remove redundant dash

* test: logical expression for color

* fix: forgotten dollar

* test: re-rerun with tests

* fix: remove on push trigger
2024-01-18 20:17:17 +08:00
Florin Barbu ca5853747b
increase max content topic length to 100 (#12) 2024-01-09 19:58:08 +02:00
Florin Barbu 5b7045ace8
remove deprecated RPC client/protocol (#11)
* remove deprecated RPC client/protocol

* small fixes

* revert base client
2024-01-08 10:32:56 +02:00
Florin Barbu d1e624e2e0
fix for 150 kb max messages adjustments (#10)
* fix for 150 kb max messages adjustments

* fix reruns

* small fixes
2024-01-05 15:36:07 +02:00
Florin Barbu ea6a48a80a
filter push tests (#9)
* filter push tests

* filter push tests

* small adjustments

* test commit from new PC
2023-12-31 19:13:31 +02:00
Florin Barbu d7be7e9504
multiple node tests (#8)
* mulitple node tests

* fix filter get message

* adjustments for gowaku as filter

* small adjustments

* small adjustments

* adjustments after CI runs

* prepare for PR

* prepare for PR

* prepare for PR

* address review comments

* use cluster id 0 as suggested by Prem

* small adjustments after CI run

* small adjustments after CI run

* small adjustments after CI run

* small adjustments after CI run
2023-12-27 16:03:31 +02:00
Florin Barbu 26718c38a4
Filter Unsubscribe (#7)
* filter unsubscribe

* filter unsubscribe

* fix pring typo
2023-12-18 10:02:17 +02:00