Show/Hide Button for private key in Options page. Move experimental page into separate sub-folder. Move delegation wizard to sub-folder. Move permission page into separate folder. Basic functional SwiftUI look for the app. Beginning to define the main app view. NavigationStack and Privacy Policy Show App Icon on main screen. Getting Started: macOS Getting Started: iPhone Getting Started: iPad Removing old default UIKit code. Added "No Thanks" toggle to the relay reminder. Clearly indicate in the Settings page when a profile is a delegated profile. Changed recommended relays to all public relays. Use x-cloak in all the places. Fix bundle display name to use capital N. Added copy button to pubkey in settings. Window default size. Updating event kind list. Allow events to be copied by clicking on them in the event log. Tweaking the colors for a more purple-ish look. Added Tips and Tricks view to native app. Move utilities modules into separate folder. Rename event_log files to event_history to escape some content blockers. Renamed Event Log to Event History in the UI as well.
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.encryptandnip04.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
- Open the project in XCode.
- Open project folder in terminal.
- Run
npm installto install the dependencies. - Run
npm run watchto watch and build the necessary extension files. - Run
npm run watch-tailwindto watch and build the pages with tailwinds CSS. - 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:
- Safari menu -> Settings -> Advanced -> Show Develop menu in menu bar.
- In Develop menu, select Allow Unsigned Extension.
- Click Extension tab in Settings, activate Nostore.