Taler - 0.10

50%
Scheduled For Release 2024-04-15
Polishing. Issues that were not critical for Netzbon launch, but clearly good to have early on for real users.

Monitoring and Observability. Some components are a black box right now, and it is hard to diagnose issues without reading the logs.
  • 0008609: [wallet (all platforms)] show more info to the user after scanning a taler://pay-template QR code
  •        0008608: [mechant backend] implement GET for templates (Christian Grothoff)
  • 0008509: [wallet (Android App)] show observability events in Android UI in dev mode (grote)
  • 0008618: [wallet (Android App)] when scanning taler://withdraw-exchange QR code, stays on home screen for a while, then suddenly switches to withdrawal (grote)
  • 0008657: [wallet-core] Virgin wallet: After scanning a withdraw-exchange QR code, showing data to the user takes waayyyy too long (MarcS)
  • 0008422: [wallet (Android App)] Transactions should be displayed by scopeInfo instead of currency (grote)
  • 0008534: [wallet (Android App)] make "open in bank app" / share button work for manual withdrawal (grote)
  •        0008528: [specification] DD53: decide on consistent terminology for p2p payments (Christian Grothoff)
  • 0008637: [exchange] weird logs during exchange Debian package upgrade (Christian Grothoff)
  • 0008544: [wallet (iOS App)] better error handling for iOS wallet (MarcS)
  • 0008530: [libeufin-bank-ui (SPA)] password manager doesn't fill both password fields when creating accounts (avalos)
  • 0008432: [wallet (WebExtension)] when aborting the first and only withdrawal transaction, the UI doesn't show it anymore (sebasjm)
  • 0008314: [wallet-core] problem with current node and sqlite library (sebasjm)
  • 0008016: [wallet-core] review balance-changed notification and pending incoming amounts (MarcS)
  • 0008604: [merchant backoffice SPA] problems with login/impersonation (sebasjm)
  •        0008655: [merchant backoffice SPA] remove all HTTP api, use the new one (sebasjm)
  • 0008407: [wallet-core] report outdated coins with a correct error and reduce balance when denominations become unoffered [estimate: 6h] (Florian Dold)
  • 0008638: [merchant backoffice SPA] Return default and fixed fields in the GET request of the template (sebasjm)
  • 0007935: [wallet-core] make sure refresh transactions refresh remaining amount if requested amount is not available anymore [estimate: 4h] (Florian Dold)
  • 0006503: [wallet-core] integration test for payment that blocks due to funds being locked behind a pending refresh [estimate: 4h] (Florian Dold)
  • 0008124: [wallet-core] refresh transactions should fail in certain circumstances instead of retrying forever [estimate: 8h] (Florian Dold)
  • 0008257: [wallet-core] wallet-core checkPeerPushDebit and getWithdrawalDetailsForAmount requests are extremely slow for larger amounts [estimate: 8h] (Florian Dold)
  • 0008568: [wallet-core] wallet should wait for refreshes when initiating outgoing transactions instead of failing with error [estimate: 8h] (Florian Dold)
  • 0008245: [release] upload final 0.10 webext to Chrome Web Store [estimate: 1h] (Florian Dold)
  •        0008085: [wallet (WebExtension)] cannot delete purchase in state pending(auto-refund) from history (Florian Dold)
  • 0008327: [wallet-core] Expired coins should be listed as "expired" transaction [estimate: 10h] (Florian Dold)
  • 0005059: [wallet-core] implement test case where an exchange's master public key changes [estimate: 5h] (Florian Dold)
  • 0008476: [documentation] regio: improve user manual with detailed steps after installation (Stefan)
  •        0008516: [documentation] need screenshots for DD53 (avalos)
  • 0008603: [deployment and operations] regio: Configured bank name not shown in bank UI (sebasjm)
  • 0008605: [merchant backoffice SPA] when asking for a login token, show the login/username in the dialog (sebasjm)
  •        0008655: [merchant backoffice SPA] remove all HTTP api, use the new one (sebasjm)
  • 0008112: [mechant backend] Merchant security review (fefe)
  • 0008302: [deployment and operations] Current monitoring tools - Write documentation (javier.sepulveda)
  • 0008290: [deployment and operations] rennovate systemd user units on taler-test@gv and demo@gv (dvn)
  • 0008606: [merchant backoffice SPA] when the merchant SPA wire account creation dialog loses focus, it loses all data (sebasjm)
  • 0008623: [deployment and operations] regional currency setup should automate taler-exchange-offline maintenance (Christian Grothoff)
  • 0008621: [documentation] frags/regional-system-on.rst needs description on how to test libeufin is working! (Antoine A)
  • 0008615: [wallet (all platforms)] show exchange accounts by priority ...
  •        0008619: [wallet-core] wallet-core should pass new exchange bank account display hints to UIs (Florian Dold)
  •              0008000: [exchange] return more information about exchange bank accounts (Christian Grothoff)
  • 0008373: [taler-harness] allow running tests against both libeufin-bank and fakebank (avalos)
  • 0008617: [wallet (iOS App)] payment buttons grayed out when NETZBON balance <1 NETZBON (MarcS)
  • 0008616: [wallet (iOS App)] iOS wallet needs to support force-reload of exchange entries (MarcS)
  • 0008516: [documentation] need screenshots for DD53 (avalos)
  • 0008588: [deployment and operations] expand netzbon setup script with logic to alert admin(s) and dev(s) if warnings/errors are logged by taler services (javier.sepulveda)
  •        0008303: [deployment and operations] Evaluate tools for logs and metrics from logs (javier.sepulveda)
  • 0008324: [wallet (iOS App)] refresh transactions with 0 balance shown, in pending, cannot be aborted or deleted (MarcS)
  • 0008581: [wallet (WebExtension)] show observability events in WebExtension UI in dev mode (sebasjm)
  • 0008494: [wallet (WebExtension)] improve usability of QR code scanning page (sebasjm)
  • 0008298: [wallet (Android App)] DD48: wallet exchange lifecycle and management (avalos)
  • 0008526: [wallet-core] parsing taler:// and payto:// should also get errors (sebasjm)
  • 0008293: [sandcastle (containerized demo deployment)] consider putting exchange master key and 2FA provider secrets (Telesign,...) into separate volume (dvn)
  • 0008470: [merchant backoffice SPA] when creating a merchant backend instance, "type" is insufficiently explained (sebasjm)
  • 0008551: [deployment and operations] gbp:error: Dch failed: debchange: error: v0.9.4-dev.29 is not a valid version (dvn)
  • 0008364: [release] test, package and upload merchant 0.9.5 to ftp and stable Debian/Ubuntu server (Christian Grothoff)
  •        0008361: [merchant backoffice SPA] pay deadline shown in timeline of already paid orders (sebasjm)
  •        0008279: [merchant backoffice SPA] pressing 'enter' does not activate 'set access token' button (sebasjm)
  •        0008276: [merchant backoffice SPA] SPA does not validate bank account credentials (sebasjm)
  •        0008363: [merchant backoffice SPA] SPA still accesses deprecated /instances/default/ endpoint(s) (sebasjm)
  •        0008128: [mechant backend] merchant backend HTML pages should use window.taler API to trigger wallet (sebasjm)
  •        0007956: [merchant backoffice SPA] allows templates to ONLY require a particular currency without also fixing a specific amount (sebasjm)
  •        0008137: [Merchant frontends (Python3)] simplify merchant frontend order creation (sebasjm)
  •        0008358: [merchant backoffice SPA] if a user deletes all bank accounts, they still should be able to see orders (sebasjm)
  •        0007924: [merchant backoffice SPA] all spa should query /config, handle network errors nicely (sebasjm)
  • 0008365: [release] package and upload libeufin 0.9.5 to ftp and stable Debian/Ubuntu server (Christian Grothoff)
  •        0008296: [libeufin (general)] implement migration tests (Antoine A)
  •        0007520: [libeufin-bank] Implement policy to abort non confirmed cashout operations. (Antoine A)
  •        0008080: [libeufin-bank] Account deletion for account with a transaction history (Antoine A)
  •        0006368: [libeufin-nexus] test message chunking (Antoine A)
  •        0008127: [libeufin-bank-ui (SPA)] bank SPA should use window.taler to trigger wallet (Florian Dold)
  •        0006258: [libeufin-nexus] Track outgoing transaction status (Antoine A)
  •        0008173: [libeufin-bank-ui (SPA)] main SPA page layout and text (sebasjm)
  •        0008170: [libeufin-bank-ui (SPA)] Username character set restrictions? (Antoine A)
  •        0008169: [libeufin-bank-ui (SPA)] do not ask for Internal IBAN in SPA on account creation (sebasjm)
  •        0008291: [libeufin-bank-ui (SPA)] hitting enter in forms (sebasjm)
  •        0008093: [libeufin-bank] Make bank transaction API idempotent (sebasjm)
  • 0008488: [deployment and operations] investigate git hook to avoid submodule rewind (sebasjm)
  • 0008546: [specification] design new wallet onboarding screen (MarcS)
  • 0007931: [wallet (iOS App)] offline indicator (MarcS)
  • 0008545: [wallet (iOS App)] Accessibility: text hints for VoiceOver should always use the full currency name, not the symbol (MarcS)
  • 0008541: [libeufin (general)] disable services by default (Antoine A)
  • 0008424: [wallet (WebExtension)] wallet shows silly hint in withdraw details (sebasjm)
  • 0008379: [wallet (iOS App)] link payment and refund (MarcS)
  • 0008377: [wallet (iOS App)] repurchase not yet implemented (MarcS)
  • 0008299: [Web site(s)] French translations for taler-ops.ch (mw)
  • 0008062: [auditor] auditor tests are currently not working... [5d] (Christian Grothoff)
  • 0008231: [exchange] Update README in exchange (oec)
  • 0008239: [wallet (iOS App)] The iOS wallet should implement rendering of refresh transactions (MarcS)
  • 0008053: [sandcastle (containerized demo deployment)] sandcastle-ng should have systemd timer to run update exchange keys (dvn)
  • 0008267: [wallet-core] make sure that balance-change notifications come after the corresponding transaction transitioned (Florian Dold)
  • 0008097: [wallet-core] getBalances has confusing semantics for pendingOutgoing amount [estimate: 3h] (Florian Dold)
  • 0008329: [wallet (Android App)] DD51: fractional digits (grote)
  • 0008611: [wallet (iOS App)] iOS manual withdrawal does not show beneficiary name (MarcS)
  • 0008386: [wallet (iOS App)] AppStore Release (MarcS)
  •        0008531: [wallet (iOS App)] account info for x-taler-bank not rendered properly (MarcS)
  • 0008666: [specification] spec taler://add-exchange URI (with new semantics!) (Christian Grothoff)
  • 0008323: [wallet (iOS App)] zero balance - no history (MarcS)
  • 0008491: [wallet-core] purging an exchange should really delete everything associated with it (Florian Dold)
  • 0008283: [wallet-core] wallet-core should surface per-exchange flag that indicates "no fees are charged" (Florian Dold)
  • 0008251: [wallet-core] P2P payments fail strangely when exchange global fees are not configured (Florian Dold)
  • 0008517: [wallet-core] improve error message when public key of taler://withdraw-exchange UI does not match (Florian Dold)
  • 0008663: [mechant backend] no systemd target for taler-merchant? (Christian Grothoff)
  • 0008660: [taler-harness] create a script to setup merchant accounts (sebasjm)
  • 0008599: [deployment and operations] regio: don't store admin bank password on file system (Antoine A)
  • 0006585: [wallet-core] wallet should support re-denomination of withdrawal and refresh operations (Florian Dold)
  • 0008549: [wallet (Android App)] Paying p2p invoice without sufficient balance shows improper error (grote)
  • 0008252: [wallet (Android App)] Android wallet fails to show transactions in chronological order (grote)
  • 0008636: [deployment and operations] write basic scripts for diagnosing the regio deployment (Florian Dold)
  • 0008612: [wallet (iOS App)] iOS shows wrong currency symbol (KUDOS symbol?) when scanning taler://withdraw-exchange QR code (MarcS)
  • 0008658: [mechant backend] handle_config_finished: num_eci should be size_t (Christian Grothoff)
  • 0008552: [wallet (Android App)] Android wallet does not render peer-push-debit transaction in state pending(refresh-expired) correctly (avalos)
  • 0008647: [wallet (Android App)] Implement native networking (avalos)
  • 0008477: [libeufin-nexus] query EBICS subscriber status to provide more actionable error message (Antoine A)
  • 0008601: [deployment and operations] regio: line for account restrictions is not easily copy-paste-able from the manual (Antoine A)
  • 0008654: [merchant backoffice SPA] create merchant http api (sebasjm)
  • 0008425: [mechant backend] need test for changing KYC url to be reflected by merchant (Christian Grothoff)
  • 0008502: [deployment and operations] Regional currency tutorial - Improve architecture diagram (javier.sepulveda)
  • 0008645: [libeufin-nexus] FIx cashin idempotency when conversion is enabled (Antoine A)
  • 0008592: [deployment and operations] reduce netdata spam (javier.sepulveda)
  • 0008591: [libeufin-nexus] Explore safe multi-user nexus system using SystemID (Antoine A)
  • 0008610: [wallet (Android App)] Android wallet wrongly shows insufficient balance when scanning taler://pay-template URI without internet (grote)
  • 0008639: [libeufin-bank] Fix account creation idempotency (Antoine A)
  • 0008607: [merchant backoffice SPA] after merchant instance creation, the first screen looks like something went from due to the frowny face (sebasjm)
  • 0008460: [libeufin-bank-ui (SPA)] bank SPA should allow exporting information to be imported in merchant SPA (sebasjm)
  • 0008520: [libeufin (general)] Better TAN message (Antoine A)
  •        0008522: [libeufin-bank-ui (SPA)] Trim TAN code prefix in 2FA form (sebasjm)
  • 0008490: [wallet-core] remove httpResp from operation result (sebasjm)
  • 0008151: [wallet-core] wallet-core build failing in CI (sebasjm)
  • 0008489: [wallet (WebExtension)] Browser HttpRequestLib improvements (sebasjm)
  • 0008150: [wallet-core] Codespell fails (sebasjm)
  • 0008584: [libeufin-nexus] Provide better error messages to libeufin-nexus ebics-setup (Antoine A)
  • 0005954: [libeufin (general)] look for or implement better alternative to JAXB (Antoine A)
  • 0006080: [libeufin-nexus] understand format of pain.002 (Antoine A)
  • 0007926: [libeufin-bank-ui (SPA)] all webapps should save erros in a map and remove them there problems fix itselfs (sebasjm)
  • 0008602: [deployment and operations] regio: custom/manual setup instructions have invalid bash for account restrictions (Christian Grothoff)
  • 0008585: [Web site(s)] Weblate Spanish translation - Anastasis - 20% (Stefan)
  • 0008467: [libeufin-bank-ui (SPA)] consider showing how much can be withdrawn inside the "withdraw into Taler wallet" dialog (sebasjm)
  • 0008577: [libeufin-bank-ui (SPA)] Support cashout payto receiver-name (sebasjm)
  • 0008578: [libeufin-bank-ui (SPA)] Use bank name from the /config endpoint (sebasjm)
  • 0007857: [wallet-core] wallet-core should immediately re-try processing a transaction once a dependent transaction changes status (Florian Dold)
  • 0008376: [wallet-core] address FIXME comment test-refund.ts that claims the test is incomplete (Florian Dold)
  • 0008374: [wallet-core] Add currencySpecification to getBalances response (Florian Dold)
  • 0008416: [wallet (WebExtension)] HTTP client libs used by WebExtension don't support cancellation tokens (sebasjm)
  • 0008404: [wallet-core] wallet-core should consider lost money in effective amount (Florian Dold)
  • 0008301: [wallet-core] wallet-core must reduce balance if denominations become unoffered (Florian Dold)
72 of 144 issue(s) resolved View Issues