Re-Evaluate introducer feature/workflow/API
Seems like we agreed on using the storage layer of bitmask-core for the introducer. TODOs:
-
On the desktop, we only have a single api object. So we need to add a SetIntroducer
function
For Android, we have:
In pkg/mobile/bitmaskmobile.go
we have
func (bm *BitmaskMobile) SetIntroducer(introducer string) {
bm.config.Introducer = introducer
}
SetIntroducer
is called from the Java part. We also need to call it from the desktop code. But what do we add as an argument? We can not hand over the introducer url.
When we agree on saving only a single introducer (cyberta and me like that idea, jkito doesn't), we need the folloing API in bitmask-core:
- SaveIntroducer(introducerURL) - saves it to disk using bitmask-core storage layer
- DeleteIntroducer() - delete it from disk using the storage layer of bitmask-core
- GetIntroducerURL() - returns the url from the bitmask-core storage layer (only one is stored)
In the UI, we can dis/enable the use of the introducer:
- EnableIntroducer()
- DisableIntroducer()
Both functions just change the value of api.config.introducer
(url).
When we want to save multiple intdroducer, not only the UI is much more complicated. For the API part in bitmask-core:
- EnableIntroducer(introducer string) - What is introducer here? The name? If bitmask-core stores it like
introducer_name
:introducer_config
? But then we need to save in systray.json the last selected one.
Again want to propose the support of a single intrdocuer.