* we now calculate image fee info in a postgres function which is much cleaner
* we use this function inside `create_item` and `update_item`: image fees are now deducted in the same transaction as creating/updating the item!
* reversed changes in `serializeInvoiceable`
* we calculate image fees during item creation and update now
* function imageFees returns queries which deduct fees from user and mark images as paid + fees
* queries need to be run inside same transaction as item creation/update
* removed upfront fees
* removed images provider since we no longer need to keep track of unsubmitted images on the client
* removed User.images resolver
* removed deleteImage mutation
* use Github style upload where it shows ![Uploading <filename>...]() first and then replaces that with  after successful upload
backend impl and some of the UI for ephemeral item support
more to come, this is just a WIP so far
Consolidate client-side ephemeral fee logic in FeeButton components for easier reuse
* update the update_item function to handle the case where an item was not
ephemeral, but now is, so we charge the user accordingly
* introduce `hasDeleteCommand` for a better logical abstraction for some use cases in the code
* introduce `EPHEMERAL_FEE_SATS` which is derived from `EPHEMERAL_FEE_MSATS`, so we don't
have to the same calculation over and over
Remove fees for ephemeral items
* remove unused markdownField prop in FeeButton
* remove empty migration
minor code cleanup
Centralize delete item by author code to reduce duplication
* add link comment functionality
* handle anon case
* revise info text
* simplify by using item.text
* remove hint
* cleanup
---------
Co-authored-by: rleed <rleed1@pm.me>
* display bolt11 info and preimage for invoices
* Remove preimage attempt for wdrwl, since it doesn't make sense
Other various code cleanup
* Only include preimage for confirmed paid and settled invoices
* port date scraper from python
* bug fixes and cleanup
* bug fixes and cleanup
* refactor
* address comments
* make it intuitive
* Update timedate-scraper.js - lint
* address review comments
* cleanup
* simplfy and don't use side effects
---------
Co-authored-by: rleed <rleed1@pm.me>
* Refactor service worker event listeners into own file
* Refactor service worker onPush listener
* Only show one MENTION push notification per item
* Update index.js to have newline
---------
Co-authored-by: ekzyis <ek@ekzyis.com>
Co-authored-by: Keyan <34140557+huumn@users.noreply.github.com>
* Debounce the `onAddrChange` event handler when sending to a LN Address,
so we more accurately display the input form for LUD-12 and LUD-18 options
* Remove explicit URI encoding of Payer Data when sending to a LN Addr, since we're getting encoding for free via URLSearchParams
* Append `@stacker.news` to identifier values sent in payer data
* Don't do extra decoding when receiving LUD-18 data
* uber rough first pass at mention autocompletes
* support custom limit on topUsers query
* hot keys for selecting user suggestion in markdown input
* query top stackers for mentions with no search query
* refactor UserSuggestion to help with reusability
textarea-caret for placing the user suggest dropdown appropriately
other various code cleanup items to make it easier to use
off by one errors are fun!
various code cleanup and reuse the UserSuggest component in InputUserSuggest to reduce duplication
* change default users to week query
---------
Co-authored-by: Keyan <34140557+huumn@users.noreply.github.com>
Co-authored-by: keyan <keyan.kousha+huumn@gmail.com>