Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Web storage follow-ups after #408: wasm round-trip tests and message index

Open
#409 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
42/100
Issue type
Feature
Clarity
Clearly specified
Activity status
Active
Tech stack
dart, rust, sqlite, wasm

Research direction

Read docs/OPTIMIZATION_PLAN.md PR 4.2 and the existing SQLite backend tests for the expected patterns. The issue names IndexedDbStorage, list_messages, open_db, and wasm-bindgen-test as the relevant entry points; start by checking those alongside the current tests. Done means adding IndexedDB round-trip coverage and addressing the message-index, cached-handle, and batched-write follow-ups.

Written by the indexing model from the issue text.

Description

Follow-up to #233, which #408 resolved for the defect itself: every Storage method is now implemented on IndexedDB (messages, settings, trades, trade keys, orders, relays, identity, outbox), the store is opened on the web at bootstrap, and whole-document writes are serialised in-process and across the origin through the Web Locks API.

Two items from #233's "what done looks like" did not land in #408 and are tracked here:

  • Round-trip tests under wasm-bindgen-test mirroring the SQLite backend's tests. Today the web backend is covered by native unit tests of the pure document patching (db::trade_json), by cargo clippy --target wasm32-unknown-unknown, and by live end-to-end trades driven through the browser by Mortsom; there is no unit suite that exercises IndexedDbStorage itself.
  • Message index and single DB handle. list_messages still scans the whole messages store and JSON-parses every document, and open_db opens the database per operation. docs/OPTIMIZATION_PLAN.md PR 4.2 already describes the fix: cache the handle, index messages by trade_id, batch writes.

Nothing here affects correctness on the web; both are test coverage and performance.

Dominant language
Dart
Stars
11
Forks
9
Avg merge
20h 34m
Merged PRs (30d)
233

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from MostroP2P/app

All issues in MostroP2P/app

Similar issues

More Dart issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.