Skip to content

Features

Robert C. Martin edited this page Jul 14, 2023 · 46 revisions
  • The Manage menu at the top left contains several comands.
    • Relays... Use this command to add, delete, and modify relays. Relays can be configured to:
      • :read-all Read every message from that relay.
      • :read-none Read no messages from that relay.
      • :read-trusted Read every message from that relay that was authored by, or mentions, you or an author that you trust.
      • :read-web-of-trust Read every message from that relay that was authored by, or mentioned by you, an author that you trust, or an author trusted by an author that you trust. The web is limited to about a thousand authors.
      • Write {true or false} depending on whether you want messages to be written to that relay or not.
      • A √ mark means the relay is connected. A X means the relay is not connected. A $ means that the relay requires a fee to be used.
      • Click the red button to see more information about the relay.
    • Stats... See the current real-time statistics, including the backlog, and the number of messages.
    • Users... Brings up a dialog with two scrolling panes, two buttons, and two radio buttons. (This may take a moment, so be patient.)
      • The pane on the left lists all your trusted authors.
      • The pane on the right lists authors selected by the two radio buttons.
        • Recent users selects all users who have sent a message in the last 24 hours.
        • Web of trust selects all users trusted by those whom you trust.
      • <-Trust moves the author selected in the right pane into the trusted pane on the left. This authors will be added to your trusted contacts, and those whom they trust will be added to your web of trust.
      • Untrust-> moves the trusted author selected in the left pane to the right pane. The author is removed from your contacts and your web of trust. The author is not removed from any tabs.
      • You can right click on any author to bring up a menu that will add that author to a tab, or show information about the author.
    • Profile... Manage your profile. Things like your name, picture, about-string, zap address, internet id, and your private key.
      • This is where you can change the password that protects your private key. The default is "password".
      • At the bottom is the Wallet Connect button. You can use that to add Nip-47 Nostr Wallet Connect URI to your profile. It will be password protected in the same way as your private key.
    • Tabs... Manage your tabs (see below)
      • The tabs at the top mirror the tabs in the main window.
      • The "Selected" and "Blocked" areas show the items that are either selected or blocked.
      • Right clicking on an item brings up a menu that allows display or removal of the item.
      • Entering a regular expression into the pattern selection field and hitting return will add that expression as a filter for that tab.
  • The tabs at the top are filters.
    • There are two permanent Tabs
      • The all tab contains a list of every note recently received on any relay. It is literally all the notes.
      • The trusted tab contains a list of every note authored by someone you have explicitly trusted.
    • Each tab shows a different selection of messages.
    • You can add/remove users and message threads from tabs by right clicking on notess.
    • You can also rename, delete, and add selection patterns to tabs by right clicking on the tabs themselves.
  • The scrolling list of notes within the selected tab display authors, dates, and subjects.
    • Folder icons indicate that the note is part of a reply thread.
      • Click on the folder to see the previous note in the thread.
    • A ^ indicates that this is a reply to a previous note.
    • A number indicates the number of "reactions" (likes or dislikes).
    • Names in parentheses are users you have not trusted yet.
      • Untrusted users are displayed with profile names that they choose.
      • Trusted users have names that you choose for them.
      • users trusted by people you trust are displayed as "someUser<-trustedUser"
      • You can trust a user by right clicking on a note that they wrote.
    • A 🚫 indicates a private direct message. (See Encrypted Direct Messages below).
    • A ❗indicates you have sent zaps to that author for that event. (See Zaps below.)
    • Click on an note to see the full text in the note window.
    • Right click on an note to see a menu of options.
      • Get info... Show a window with the details of the event.
      • Trust this author... Provide a pet name for this author, and add him to your list of trusted authors.
      • Add author to tab Add the authors messages to the tab selected in the submenu. (Restarts app)
      • Block author from tab Blocks the authors messages from the tab selected in the submenu. (Restarts app)
      • Add note to tab Add all notes in this thread to the tab selected from the submenu. (Restarts app)
      • Block note from tab Blocks all notes in this thread from the tab selected from the submenu (Restarts app)
      • DM author... Open up an edit window preloaded with D @<author>.
      • Zap author... Send the author a Lightning payment (a zap!).
        • (See Zaps below)
    • The Search Bar
      • Allows you to search through all the notes in the current tab.
      • Type your search query and hit return. You should see the search status incrementing.
      • Use the ⬆ and ⬇ buttons to move to the next or previous search result.
      • Queries can be:
        • Plain text that will be matched anywhere in the note, subject, or author name.
        • Regular expressions of the form #"<some java regular expression>"
        • A 64 digit hex number will match any note id, or any user id, anywhere in the note, including the citings.
        • A user name or pet name will match any text in the note and also the corresponding id including citings. So if you search for unclebobmartin you will see all my note, and all notes that mention me.
        • A valid npub works as well as a 64 digit hex number.
  • The Note Window
    • The fields in the note window can be hovered or clicked.
      • Author: Clicking brings up a menu
        • Copy , copies the hex id of the user to the clipboard.
        • Copy <npub...>, copies the npub format of the user's id to the clipboard.
        • Get Info..., brings up a window with the author's profile.
          • This window has a button on the top that allows you to trust this author.
        • Zap author... Send the author a Lightning payment (a zap!).
          • (See Zaps below)
        • A ❗after the author's name indicates that you have sent a zap to the author.
          • Right clicking the ❗ will show the details of all the zaps you have sent.
      • Subject: The subject of the note, if any.
      • Reactions: The number of likes/dislikes.
        • Right Clicking the Reactions> label will show the details of each reaction.
        • Clicking on the 👍🏻 and 👎🏻 buttons will send the appropriate reaction.
          • Then the buttons will disappear so that you don't send more than one reaction.
      • Created at: The time that the event was created (not received).
      • To: & CC:> The id/name of the author of the note that this note is a reply to.
        • Right clicking on the "Reply & CC>" label will show everyone mentioned in the note. (Even if it is not a reply)
        • Clicking on the id/name will pop up a menu similar to the author menu.
      • Relays: Right clicking on this shows all the relays this note was received from.
      • id: The id of the note. Right clicking will allow you to copy that id to the clipboard.
      • [Citing] If shown, clicking on this takes you to the cited note.
      • [Root] If shown, clicking on this takes you to the root of the thread.
      • Replies> If shown, right-clicking will bring up a list of the notes that are replies to this note.
    • The Back and Forward buttons move you chronologically through the history of notes that you have viewed.
    • The Create button allows you to create and send a new message.
    • The Reply button allows you to reply to the current message in the note window.
      • The edit window will contain a CC list which you can edit.
  • Message Content
    • You can type regular text into a message.
    • Author Mentions.
      • If you mention someone by prefixing their user name with @, as in @unclebobmartin, then the message will be tagged in such a way that the author will be able to discover it. This is called "notification".
        • Behind the scenes more-speech attaches a "p" tag to the message along with the authors id. (just in case you wanted to know).
        • You can also use the form @<hex-id> and @<npub(bech32 reference)> in case you don't know the authors username.
      • If you mention someone by prefixing their user name or their npub with nostr:, as in nostr:unclebobmartin then the message will NOT be tagged as a notification.
        • You can achieve the same result by simply using their username or their npub or their hex-id as plain text without any adornment. The difference is that the nostr: prefix alerts the receiving clients that this is an author mention, and the client can associate the mention with that user's profile and perhaps color it to look like a mention.
    • Note Citings.
      • You can cite a different note by using @<hex-id> or nostr:<hex-id> or nostr:<note1> (bech32 reference)
        • using @ will attach an "e" tag to the message so that users can query for relays for citings and receive your note.
        • using nostr: will NOT attach "e" tags so that users will not receive your note when they query for citings.
        • In both cases the receiving client may represent the citing in a special color and link it to the cited note.
  • Encrypted Direct Messages
    • Any message that begins with D @xxx will be sent as an encrypted direct message to user xxx.
    • Direct messages are displayed in blue and have a 🚫 displayed in the header.
      • a ->name following the 🚫 indicates that you sent the DM to that name.
    • When replying to a Direct Message more-speech will automatically add the D @xxx to your reply.
    • Direct messages are threaded along with regular messages.
      • You can make a reply to a regular message a direct message by adding the D @xxx at the beginning.
      • You can make a reply to a direct message into a regular message by deleting the D @xxx at the beginning.
  • Proof of work.
    • config/proof-of-work-default sets the default POW. POW is the amount of work required to set the id of a message to have n leading zeros. This is proof to others that you did the work to make your message acceptable to them. The current default is 16 but you can reduce it to zero if the delay when you hit send bothers you. But be aware that relays and clients may decide to enforce a POW in order to prevent spam.
  • Database Management
    • The database is stored in the prod-db directory.
    • Every month or so you should check the size of database with something like du -sk *
    • If you think you'd like to shrink it down you should:
      • Quit more-speech
      • Run more-speech with a command line argument: compress
        • e.g. java -jar more-speech.jar compress
    • This will decant only the last 90 days worth of data into a new database.
    • Then it will rename the old database to prod-db-old and the new one to prod-db
    • Then you can restart more-speech as usual.
  • Zaps
    • You can send a Lightning payment to the author of a note either by right clicking on the note in the note list or by selecting that note and then clicking on the authors name in the Author: field.
      • This will bring up a dialog in which you can specify the number of sats to pay to that author, and a comment.
        • If you have specified a NIP-47 Wallet Connect in your profile, then you are done. The payment will be made.
        • Otherwise
          • more-speech will negotiate with the user's wallet and an invoice dialog will pop up.
          • The invoice is in lnurl format and has been placed on the clipboard.
          • Open your wallet, paste the invoice from the clipboard, and send the payment.
      • The user's wallet will receive the payment and send a receipt to more-speech.
      • The receipt will be logged in the event that you zapped. The event will be marked with ❗ as described above.
      • All zap receipts resulting from zaps you send, or zaps sent to you, are recorded in private/zap.log.
      • Auto Thanks -- If you receive a zap, you can automatically send thanks to the sender.
        • Set config/auto-thanks to :off if you don't want to send an auto thanks.
        • Set config/auto-thanks to :note if you want to send a public thanks.
        • Set config/auto-thanks to :dm if you want to send a private thanks.
        • Fortune cookie. The auto thanks message can contain a fortune cookie if so desired.
          • Set confit/auto-thanks-fortune to :off if no fortune is desired.
          • Set confit/auto-thanks-fortune to :normal if a standard fortune is desired.
          • Set confit/auto-thanks-fortune to :markov if a randomly assembled fortune is desired.
          • Set confit/auto-thanks-fortune to :insane if a truly bizarre fortune is desired.
    • Auto-Zap
      • Apple does not allow apps, like Damus, to send zaps. We can work around this with Auto-Zap
      • With more-speech running on your labtop or desktop somewhere in the world...
        • Logged in as you.
        • and with a valid wallet connect in the profile.
      • From Damus (or any other nostr client)
        • Log in as you.
        • Send yourself a DM with the following format "zap 100->unclebobmartin Hi Bob."
          • Replacing 100 and unclebobmartin and "Hi Bob." with the amount, recipient, and comment.
        • That's it. The more-speech app running on your laptop or desktop will receive that message and send your zap for you.
Clone this wiki locally