Alpha extensions support in nightlies


#1

We need you for extensions!

The hackathon preparation finishing line is now in sight. To get the most valuable feedback from 3rd party developers we need to make sure basic use cases for extensions are nailed.
This is where you come into play: give extensions a try, create a basic chat command, try to break it!

How do I try extensions

Check out extensions playground at https://status-im.github.io/pluto/try.html
You can directly write your extensions in your browser and have its syntax validated. Once you are good to go, simply press PUBLISH on the right hand side and you will get a QR code ready to be scanned (either with your main camera app on iOS, or in Profiles/extensions).
Keep in mind you will need to have developer mode enabled to test it.

You can find more details here:

More documentation/tutorials are coming.

Current limitations

  • no ethereum primitives (coming soon)
  • extensions are not persisted across restart (coming soon)
  • extensions data are not persisted
  • limited to a single extension at a time
  • limited to a single let block per view/query/event

Let us know what your feedback is!

For further context about DApp/Dev team’s priorities, you can see this strategy doc which gives some insight into what we’re planning for Q4 and beyond (to be updated continually)


#2

Praise the sun! Is there any documentation on the components and their properties which are made available to extensions? I see there are text and view but I’d like to use images. I see there are also some which are prefixed with status/ from this source: https://github.com/status-im/docs.status.im/blob/develop/source/tutorials/index.md

Cheers, I am super excited to play around with some X-treme X-tensions!


#3

Hey Tom! Great to see you here!

The tutorial is a bit outdated so don’t fully trust it just yet.

Here is the list of primitives we will ship in the release coming soon (some are already in the nightlies, some are missing).

Components:

  • view
  • text
  • touchable-opacity
  • input
  • link
  • image
  • button
  • checkbox

Queries:

  • wallet/collectibles
  • store/get

Events:

  • alert
  • log
  • store/put
  • store/append
  • store/clear
  • http/get
  • http/post
  • ipfs/cat
  • ethereum/send-transaction
  • ethereum/call

More documentation is coming soon.

Let me know if you would like some others to be included!


#4

Exactly what I wanted - thanks Julien.

Things I would like to see:

Components:

  • radio buttons (thinking about polls in group chats?)
  • link?
  • touchableopacity (clickable images?)

Queries:

  • wallet/balance (or can I do that with ethereum/call?)
  • wallet/tokens/[list | balance] (same as above)

Events:

  • http/[post | put | delete]

Please note that I’m not a clojure dev so I don’t fully understand how callbacks(?) work in this language (e.g. clickable images might already be a thing), I’m sort of figuring it out as I go :sweat_smile:.

Would love to be notified when these new features ship, what’s the best way to stay up to date other than pestering Chris and/or installing the nightlies?


#5

Great thanks for the feedback! We will try our best to have all of those available!

For now I will update our progress in this discuss post.


#6

Hey Tom,

I updated the list of features based on what we have in nightly now.

Enjoy!