View Issue Details

IDProjectCategoryView StatusLast Update
0009822Talerwallet-corepublic2026-07-31 23:12
ReporterAntoine A Assigned ToFlorian Dold Resolution deadline
ImplementerReviewer 
Release signed byDeployed by 
VerifierCommunicator 
Data protection authority notification requiredNo  
CSIRT notification requiredNo  
Estimated effort (hours)Actual effort (hours)0 
Fast-trackNo
Work packagenone
PrioritynormalSeverityfeatureReproducibilityN/A
Status informingResolutionfixed 
Product Version1.0 
Target Version1.6Fixed in Version1.6 
Summary0009822: Refactor http impl
DescriptionAll our http impl use common functions but also reimplement the same logic in slightly different ways. There's room to clean this up and use a common wrapper and a finer-grained impl with consistent error handling and logging.
TagsNo tags attached.

Required notifications

Address or linkRemarkAdded byNotifiedActions

Relationships

child of 0009823 closedAntoine A Refactoring and cleaning 

Activities

Antoine A

2025-04-30 15:02

manager   ~0024716

Done in https://git.taler.net/taler-typescript-core.git/log/?h=dev/antoine/clean-network

Christian Grothoff

2025-08-31 19:22

manager   ~0025763

Florian: please review + merge...

Florian Dold

2026-07-28 21:14

manager   ~0029293

Didn't apply the patch directly but used some of the ideas.

commit 020770521922a84ab46bbc6be8fa38f2de4593a0 (HEAD -> master, origin/master, origin/HEAD)
Author: Florian Dold <dold@taler.net>
Date: Tue Jul 28 23:07:31 2026 +0200

    util: share one HTTP implementation across node, qtart and the browser
    
    The four backends each reimplemented throttling, headers, body encoding,
    timeouts and error mapping, and disagreed on all of them; they now only provide
    the platform-specific transport. json() is genuinely async everywhere as a
    result, hence the added awaits in the harness.
    
    Issue: https://bugs.taler.net/n/9822

commit 19c30e61b252bec5bfaa3d65fc7900764a628467
Author: Florian Dold <dold@taler.net>
Date: Tue Jul 28 23:06:35 2026 +0200

    util: keep the typed timeout and cancellation errors for native requests
    
    cancelFn() rejects the native promise synchronously, so cancelling before
    rejecting let Promise.race settle on the platform's own error, and a qtart
    timeout surfaced as a plain cancellation instead of a timeout.
    
    Issue: https://bugs.taler.net/n/9822

Issue History

Date ModifiedUsernameFieldChange
2025-04-30 15:01Antoine ANew Issue
2025-04-30 15:01Antoine AStatusnew => assigned
2025-04-30 15:01Antoine AAssigned To => Antoine A
2025-04-30 15:02Antoine ANote Added: 0024716
2025-04-30 15:05Antoine ARelationship addedchild of 0009823
2025-04-30 16:12Antoine ADescription Updated
2025-08-31 19:21Christian GrothoffProduct Version => 1.0
2025-08-31 19:22Christian GrothoffAssigned ToAntoine A => Florian Dold
2025-08-31 19:22Christian GrothoffNote Added: 0025763
2025-12-07 09:53Christian GrothoffStatusassigned => implementing
2026-07-28 21:14Florian DoldStatusimplementing => informing
2026-07-28 21:14Florian DoldResolutionopen => fixed
2026-07-28 21:14Florian DoldNote Added: 0029293
2026-07-31 23:12Christian GrothoffFixed in Version => 1.6
2026-07-31 23:12Christian GrothoffTarget Versionpost-1.0 => 1.6