Ryan Breen c832aa22af Permissions UI with user requests and modification post-saving.
Commits:

Basic, functional permission tab when requesting getPubKey. Only allows one time deny.

getPubKey and getRelays for sure working after prompt.

Changed the prompt to use a query string instead of background script queue. This should prevent any disconnect between the user expecting one thing and getting a different prompt.

It is not working using query string and working quite nicely.

Finally figured out the secret sauce to only open one prompt at a time.

Allow and deny now both work, with the option to remember the request next time.

Still tweaking lots of events to try and get the prompts working smoothly

Nice rendering for the event query message.

Tweaking the migration setup and the tab opening/closing code.

When remembering signing events, it is now scoped by event kind, as well!

Include extra event information in event signing dialogs.

Change confirm buttons to confirm dialog box.

Update nostr-tools to 1.2.1

The interface for app permissions looks good. Ready to work on functionality now.

Don't show app permissions section unless there are things to show.

Fix bug when saving a "Deny".

Additional formatting changes to options page for permissions UI.

Fine permissions seem to be working nicely!

Quick usability fix so that App Permissions section appears on Options page, even when there are no options selected.

Bumping build to #5. Preparing for new build release.
2023-02-05 20:40:30 -05:00
2023-01-11 21:33:45 -05:00
2023-01-20 00:57:33 -05:00
2023-01-20 00:57:33 -05:00
2023-01-25 00:49:00 -05:00
2023-01-25 00:36:28 -05:00

Nostore

This is a NIP-07 compatible extension for signing nostr events.

Features

  • Login with nostr (getPublicKey).
  • Post nostr event (signEvent).
  • Encrypted direct messages (nip04.encrypt and nip04.decrypt).
  • Multiple profiles.

Usage

Click the Nostore extension icon in the Safari toolbar, there should be a default profile with a new, random private key.

Feel free to change the name and edit the key with your personal nostr key. Create additional profiles as desired. Whichever key profile is selected under Profile is the currently "active" profile for nostr events.

Acknowledgements

Thanks to fiatjiaf for envisioning nostr, but also for creating nostr-tools and the nos2x extension, which I referenced liberally when stumped during development of this extension.

Privacy

This extension does not collect any user data, or transmit any data over a network connection. All private key data is sequestered in the extension's separate browser storage.

Development

  1. Open the project in XCode.
  2. Open project folder in terminal.
  3. Run npm install to install the dependencies.
  4. Run npm run watch to watch and build the necessary extension files.
  5. Run npm run watch-tailwind to watch and build the pages with tailwinds CSS.
  6. After every rebuild, execute Run in XCode to deploy the latest changes to Safari.

If you do not see the Nostore extension in your Safari toolbar, you need to activate unsigned extensions and Nostore:

  1. Safari menu -> Settings -> Advanced -> Show Develop menu in menu bar.
  2. In Develop menu, select Allow Unsigned Extension.
  3. Click Extension tab in Settings, activate Nostore.
Description
A Nostr signing extension for Safari.
Readme MIT 4.2 MiB
2.0.1 Latest
2025-05-27 23:42:53 +00:00
Languages
JavaScript 55.6%
HTML 27.2%
Swift 14.1%
CSS 3.1%