View Issue Details

IDProjectCategoryView StatusLast Update
0008768Talerwallet-corepublic2024-06-16 22:31
Reportersebasjm Assigned ToFlorian Dold  
PrioritylowSeverityminorReproducibilityalways
Status feedbackResolutionopen 
Product Version0.11 
Target Version0.12 
Summary0008768: obs event: add a request handler to listen particular events [2h]
Descriptionfor example, if the user is waiting in the tx details view the only events shown will be the ones related to the actions taking into that screen (if the filter described in https://bugs.gnunet.org/view.php?id=8767 is implemented)

the some activity in wallet core may be related to the current tx can take place (some tasks)

to fix this, the UI should call this new request handler like:

wallet.listenToTransactionTask(taskId)

it will not return (may be cancelled by UI) and while this request is open all the ob events related to the `taskId` will be reported as related to this wallet request.

with this we expect to ob even UI to show for example: database access or net request when the user is waiting in a withdrawal page or checking the purchase ticket (since it may have auto refund enabled)
TagsNo tags attached.

Relationships

related to 0008767 assignedsebasjm observavility events: add a filter to show events trigger by actions called in the current screen. [6hs] 

Activities

Florian Dold

2024-04-29 18:27

manager   ~0022318

We currently don't do subscriptions for wallet-core notifications. So I'm not sure how we would easily implement this.

Maybe instead we can have a request to map a transaction ID to a list of task IDs (where the UI then filters relevant events for these tasks)?

Sebastian, would that work?

Alternatively we could indeed implement filtered notification subscriptions, but that would be a lot more complex.

sebasjm

2024-05-06 22:18

developer   ~0022362

ok, if we have

taskList = wallet.currentTasks(txId)

and the we should keep that list updated, we will need an event to know when we should call it again and get an updated list.

alternative, we can change this requirement to "there must be a way to get the Tx ID if the background operation is related to a transaction"

for example: let's say that there is a cryptoStart event, if this comes from a withdrawal task... even if the withdrawal is not triggered by the current view (no wallet core operation has been called) the obs event must come with the txId so it can be filtered by the view.

Florian Dold

2024-06-16 18:02

manager   ~0022626

I think the former (getting task IDs from transactions) is just *way* simpler.

Florian Dold

2024-06-16 18:15

manager   ~0022627

Or actually, maybe even simpler: We just emit events to declare the dependency between the transaction and the task.

Once such an event has been emitted, events for the tasks need to be reported for the transaction as well.

(For already running tasks, it means some events will be missed. But IMO it's a very simple solution that should work well enough.)

Issue History

Date Modified Username Field Change
2024-04-24 19:03 sebasjm New Issue
2024-04-24 19:03 sebasjm Status new => assigned
2024-04-24 19:03 sebasjm Assigned To => Florian Dold
2024-04-29 18:27 Florian Dold Note Added: 0022318
2024-04-29 18:28 Florian Dold Assigned To Florian Dold => sebasjm
2024-04-29 18:28 Florian Dold Status assigned => feedback
2024-05-06 22:18 sebasjm Note Added: 0022362
2024-05-06 22:18 sebasjm Assigned To sebasjm => Florian Dold
2024-05-13 21:29 Christian Grothoff Target Version 0.11 => 0.12
2024-06-16 17:49 Florian Dold Priority normal => low
2024-06-16 18:02 Florian Dold Note Added: 0022626
2024-06-16 18:02 Florian Dold Summary obs event: add a request handler to listen particular events => obs event: add a request handler to listen particular events [2h]
2024-06-16 18:15 Florian Dold Note Added: 0022627
2024-06-16 22:31 sebasjm Relationship added related to 0008767