1508 Commits

Author SHA1 Message Date
keyan
d211fe93ea fix quote reply by removing imperative logic 2023-11-20 21:38:18 -06:00
keyan
2bcf3acda6 fix small images 2023-11-20 19:54:22 -06:00
keyan
58a9d03e28 only query for deleteScheduledAt when needed 2023-11-20 15:38:49 -06:00
keyan
a12e969bd1 fix 2023-11-20 13:54:09 -06:00
keyan
1266ae2983 fee button improvements 2023-11-20 13:20:28 -06:00
keyan
af59e3ef54 merge non-normalized user subtypes fixing 2023-11-20 09:05:02 -06:00
SatsAllDay
44e12a4b44
Move the AD badge to be alongside other item info badges () 2023-11-20 08:33:59 -06:00
SatsAllDay
4596681fbc
Toast on delete bot directive usage ()
* Toast on successful delete bot directive

* refactor duplicate code into a reusable function

* restore empty spacing lines to clean up the diff

* perf optimization, only query for deleteScheduledAt for your own items

* Issue a warning toast if the delete bot was mentioned but the item was not scheduled for deletion

* use bs-secondary color for warning

---------

Co-authored-by: Keyan <34140557+huumn@users.noreply.github.com>
2023-11-19 15:09:47 -06:00
st4rgut24
d84c46df81
Dont display price component until after initial render ()
* Dont display price component until after initial render

* change variable name and remove log

* fix linting issues

---------

Co-authored-by: stargut <stargut@starguts-MBP.fios-router.home>
Co-authored-by: Keyan <34140557+huumn@users.noreply.github.com>
Co-authored-by: keyan <keyan.kousha+huumn@gmail.com>
2023-11-19 15:01:12 -06:00
SatsAllDay
92ec6be20a
enable prod sourcemaps in browser () 2023-11-19 14:25:21 -06:00
SatsAllDay
64a16373c5
Fix client-side error boundary ()
* * add error boundary immediately above page component

* send error logs to server via LoggerContext

* display error stack and component stack in copyable text area

* wrap every context provider in an error boundary

* memoize context values to fix error boundary propagation issue

* Wrap page component in an error boundary so we can use our context utilities
for a better experience, like toast and logger

Still have a top-level error boundary that catches things from the context providers,
just in case.

Don't display the whole error stack, just because it's ugly, but make it copyable
2023-11-19 14:24:56 -06:00
ekzyis
158baa61e3
Strip EXIF data before upload on client ()
Co-authored-by: ekzyis <ek@stacker.news>
2023-11-19 14:22:46 -06:00
keyan
a318727f9c fix freebie dialog () 2023-11-19 14:16:35 -06:00
keyan
589b15b597 fix custom dates to use ms since epoch 2023-11-14 10:23:44 -06:00
keyan
ffe9983b80 fix successive zap timing issues? 2023-11-13 20:02:34 -06:00
keyan
7b58edb77b reintroduce searching by most recent 2023-11-13 18:17:45 -06:00
keyan
84b5475270 fix custom range queries 2023-11-13 17:15:43 -06:00
ekzyis
bfa054c76c
Delete unpaid anon uploads every hour ()
Co-authored-by: ekzyis <ek@stacker.news>
2023-11-13 09:33:51 -06:00
ekzyis
503f4c380b
Disable reply button while uploading ()
Co-authored-by: ekzyis <ek@stacker.news>
2023-11-13 09:30:01 -06:00
keyan
beade6795c fix bio creation 2023-11-12 20:31:39 -06:00
keyan
d599ec76ce fix mention clientside cache problems 2023-11-12 14:51:12 -06:00
keyan
03acce2305 fix nostr auth () 2023-11-12 11:59:18 -06:00
keyan
49e9131cfe don't return promise from authorize 2023-11-12 10:46:06 -06:00
keyan
58bd86339a descrease reward threshold 2023-11-12 10:13:20 -06:00
keyan
081e22f63e fix post headings 2023-11-12 09:04:28 -06:00
keyan
7db70d0dfc more search refinements 2023-11-11 18:18:14 -06:00
keyan
ca87bf56b3 improve related search querying 2023-11-11 17:56:20 -06:00
keyan
faa3b87aa3 add missing migration 2023-11-11 16:48:33 -06:00
keyan
a78661c6e7 omit op from self-reply fee escalation 2023-11-11 16:47:54 -06:00
keyan
5ef2c3d839 quote friday fact in newsletter 2023-11-11 16:18:40 -06:00
keyan
c23e49872a make fee button less of a hack 2023-11-10 18:18:10 -06:00
keyan
3499f92436 dramatically improve search 2023-11-10 09:22:30 -06:00
keyan
7cb3a7ad64 small receipt styling 2023-11-10 09:22:14 -06:00
keyan
494b8b3dcd better organize user graphql types 2023-11-09 19:05:35 -06:00
rleed
d86d8b3bac
Provide option to clear withdrawal invoices ()
* add settings option

* add auto-drop worker

* add manual delete option

* add warning and note

* cleanup

* incorporate most review feedback

* add warning to settings option

* remove debugging tweaks and simplify

* refine auto delete bolt11s

* refine UI

---------

Co-authored-by: rleed <rleed1@pm.me>
Co-authored-by: Keyan <34140557+huumn@users.noreply.github.com>
2023-11-09 11:50:43 -06:00
keyan
5b14606b39 catch dom exception on unmount in qr scanner 2023-11-08 20:44:19 -06:00
ekzyis
8566644ea1
Add QR code scanner for withdrawal invoices ()
Co-authored-by: ekzyis <ek@stacker.news>
2023-11-08 18:55:06 -06:00
rleed
fb724ed9ec
escape postgres regex meta characters ()
Co-authored-by: rleed <rleed1@pm.me>
2023-11-08 18:25:36 -06:00
ekzyis
0b872cbbe7
Only resubscribe on compatible old subscriptions ()
This change makes resubscriptions backwards compatible by only running the new resubscribe code if the old push subscription was saved under service worker version 2.

Co-authored-by: ekzyis <ek@stacker.news>
2023-11-08 18:18:41 -06:00
ekzyis
41a1c686dc
Fix stale images ()
Co-authored-by: ekzyis <ek@stacker.news>
2023-11-08 18:17:51 -06:00
SatsAllDay
522c821c89
Notification badges ()
* First pass of implementing Badging API for notifications

* Only show app badge when driven from push notifications

* Display number of unread push notifications instead of just an empty badge

Clear badge via postMessage when notifications page is loaded

* de-dupe some code, update badge counter on each notification click

* remove ids, track open note count instead

* restore optional chaining

* ensure note count doesn't go below 0, and fix event.waitUntil error when clearing badge

* incorporate PR feedback
2023-11-08 18:17:01 -06:00
rleed
3a56782572
Custom date selector for more pages ()
* add custom range option to top items page

* add custom range option to profile page

* add date filter option to chart pages

* cleanup

* fix x-axis date labels

* date picker improvements

* enhancements to custom date selection

* remove unneeded condition

---------

Co-authored-by: rleed <rleed1@pm.me>
Co-authored-by: Keyan <34140557+huumn@users.noreply.github.com>
2023-11-08 18:15:36 -06:00
ekzyis
8f590425dc
Image uploads ()
* Add icon to add images

* Open file explorer to select image

* Upload images to S3 on selection

* Show uploaded images below text input

* Link and remove image

* Fetch unsubmitted images from database

* Mark S3 images as submitted in imgproxy job

* Add margin-top

* Mark images as submitted on client after successful mutation

* Also delete objects in S3

* Allow items to have multiple uploads linked

* Overwrite old avatar

* Add fees for presigned URLs

* Use Github style upload

* 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 ![<filename>](<url>) after successful upload

* Add Upload.paid boolean column

One item can have multiple images linked to it, but an image can also be used in multiple items (many-to-many relation).

Since we don't really care to which item an image is linked and vice versa, we just use a boolean column to mark if an image was already paid for.

This makes fee calculation easier since no JOINs are required.

* Add image fees during item creation/update

* 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

* Allow anons to get presigned URLs

* Add comments regarding avatar upload

* Use megabytes in error message

* Remove unnecessary avatar check during image fees calculation

* Show image fees in frontend

* Also update image fees on blur

This makes sure that the images fees reflect the current state. For example, if an image was removed.

We could also add debounced requests.

* Show amount of unpaid images in receipt

* Fix fees in sats deducted from msats

* Fix algebraic order of fees

Spam fees must come immediately after the base fee since it multiplies the base fee.

* Fix image fees in edit receipt

* Fix stale fees shown

If we pay for an image and then want to edit the comment, the cache might return stale date; suggesting we didn't pay for the existing image yet.

* Add 0 base fee in edit receipt

* Remove 's' from 'image fees' in receipts

* Remove unnecessary async

* Remove 'Uploading <name>...' from text input on error

* Support upload of multiple files at once

* Add schedule to delete unused images

* Fix image fee display in receipts

* Use Drag and Drop API for image upload

* Remove dragOver style on drop

* Increase max upload size to 10MB to allow HQ camera pictures

* Fix free upload quota

* Fix stale image fees served

* Fix bad image fee return statements

* Fix multiplication with feesPerImage

* Fix NULL returned for size24h, sizeNow

* Remove unnecessary text field in query

* refactor: Unify <ImageUpload> and <Upload> component

* Add avatar cache busting using random query param

* Calculate image fee info in postgres function

* 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`

* Fix line break in receipt

* Update upload limits

* Add comment about `e.target.value = null`

* Use debounce instead of onBlur to update image fees info

* Fix invoice amount

* Refactor avatar upload control flow

* Update image fees in onChange

* Fix rescheduling of other jobs

* also update schedule from every minute to every hour

* Add image fees in calling context

* keep item ids on uploads

* Fix incompatible onSubmit signature

* Revert "keep item ids on uploads"

This reverts commit 4688962abcd54fdc5850109372a7ad054cf9b2e4.

* many2many item uploads

* pretty subdomain for images

* handle upload conditions for profile images and job logos

---------

Co-authored-by: ekzyis <ek@ekzyis.com>
Co-authored-by: ekzyis <ek@stacker.news>
2023-11-06 14:53:33 -06:00
SatsAllDay
5fd74e9329
Closes Fix next.config.js to apply res headers to ttf font () 2023-11-05 15:10:23 -06:00
ekzyis
5dfeb700bc
Resubscribe if service worker lost push subscription ()
* Also delete push subscription in IndexedDB

* Fix pushsubscriptionchange function signature

* Send SYNC_SUBSCRIPTION after successful registration

* Resubscribe if service worker lost subscription

---------

Co-authored-by: ekzyis <ek@stacker.news>
2023-11-05 15:08:44 -06:00
ekzyis
7040dbfce6
Fix missing merge of FOLLOW push notifications ()
* Use consistent lowercase titles

* Fix missing merge of FOLLOW push notifications

---------

Co-authored-by: ekzyis <ek@stacker.news>
2023-11-05 15:06:38 -06:00
VaibhavWakde52
e24e2a6b20
Update README.md () 2023-11-01 14:54:41 -05:00
keyan
8bc3f5b384 Revert "halloween animation"
This reverts commit e9390262958040638078dafa302b3af781c6cd9f.
2023-11-01 11:57:55 -05:00
keyan
8881b19e45 Revert "protect zaps from webgl occasionally being unavailable"
This reverts commit b5828cdf94662ad29ae121a100e448327180a302.
2023-11-01 11:57:17 -05:00
keyan
b5bf3299f2 add /bitcoin.pdf easter egg 2023-10-31 11:02:13 -05:00