* db: migrate from lmdb-zero to heed
* fix: check resizing operation and wait to avoid crash with multiple batches, fix exists check at batch
* build: fix missing deps at Cargo.lock
* lmdb: single environment, migrate existing databases with provided non-default environment name
* fix: revert chunk size to 128mb
* lmdb: ability to use multiple shared environments
* build: remove unused dependency
* fix: resize to have correct multiplier of the system page size
* lmdb: speed up prefix iter by storing keys
* lmdb: default env name
* lmdb: wait db resize before read, reduce timeout before resizing
* lmdb: use static reader for iterator, count existing batches for stable resize
* fix: check batches count on resize waiting
* lmdb: use separate databases instead of prefixes, use default db for values without prefixes, migrate old environment
* fix: pop pos key
* lmdb: count all open transactions to finish before resizing
* lmdb: immediate resize if there are no open transactions
* lmdb: remove env state when there are no more stores
* lmdb: use atomic for resize and resize checking flags
* lmdb: sleep 10ms when waiting all opened txs to be closed
* lmdb: use atomic open txs and stores count
* lmdb: use index to detect separator, ignore unknown db key to not have a panic
* lmdb: store max 10k keys in the iterator
* lmdb: check iter result on getting total
* lmdb: handle errors at iterator
* lmdb: handle an error when db with provided key not found
* lmdb: fix iterate over 10k keys
* lmdb: document migration resize safety
* lmdb: fix iter test
* lmdb: clear new db after unsuccessful migration, handle read error on migration to interrupt process
* store: bring back old key methods to reproduce data migration
* lmdb: return an error on unsuccessful migration
* lmdb: migration test, clean data after allocate test
* lmdb: info migration log
* fix: move iterator before handling an error to allow skip bad value
* lmdb: return an error if removal of old DB file failed after migration
* lmdb: lifetime for iterator, use write transaction at batch iterator
* lmdb: migration progress
* fix: tests
* lmdb: immediately set resizing flag, ignore resizing flag while there are more than 0 opened txs to avoid stuck, optimize tx counter for some operations
* lmdb: key for successful migration
* lmdb: fix put database creation at separate block to avoid lifetime issues when returning an error on migration
* tui: show server initialization status and error
* fix: compilation issues
* fix: add documenting to status, remove unused imports
* fix: do not empty server value
* fix: server ref
* tui: do not quit on q when another dialog is showing (progress or error)
* fix: server stop on tui shutdown
* fix: stop server if tui was stopped after start
* server: panic on error at non-tui mode like before with unwrap
* fix: pop dialog
* fix: do not return result on tx after server start
* tui: close current dialog before quit
* tui: pass stop state to server creation after tui quit
* tui: exit code 1 after error, also for non-tui
* tui: better exit code
* add workflow
* branches:
- snap_addition
* Add snap package build workflow
* Add snap package build master, staging
* snap version from Cargo.toml
* Seems like staging branch should have grade: devel quality level
* Set snap grade based on branch
* add multi arch
* Update snap.yaml
* snap: use arm platform for arm build
* snap: multi platform ci build
---------
Co-authored-by: ardocrat <ardocrat@gri.mw>
* Change default IP address for P2PConfig to IPv6
Feature request: Change default P2P listen host from 0.0.0.0 to :: for dual-stack IPv4+IPv6 support.
As tested on several windows/linux machines and not found issue. Worked with ipv4 or ipv6 or dual ipv4+ipv6.
* docs+config add p2p listen host options
---------
Co-authored-by: Joerg <wiesche89@googlemail.com>