keyan
ea9c405dfa
add sat amounts to invoices
2023-08-10 18:33:57 -05:00
keyan
53a6c9489f
fix forgotten find and replace
2023-08-10 17:40:50 -05:00
keyan
26762efcea
add generic date pivot helper
2023-08-10 17:36:49 -05:00
keyan
46274fba4f
give anon an icon
2023-08-10 17:36:49 -05:00
ekzyis
2fbf1e4cc3
Keep track of modal stack
2023-08-11 00:35:43 +02:00
ekzyis
49736e8d3c
Always show repeat and contacts on action error
2023-08-10 23:04:06 +02:00
keyan
081c5fef0b
make anon posting less hidden, add anon info button explainer
2023-08-10 14:41:56 -05:00
Keyan
cbfd6998a6
Merge branch 'master' into 266-zaps-without-account
2023-08-10 12:40:30 -05:00
ekzyis
bb2212d51e
Add invoice HMAC
...
This prevents entities which know the invoice hash (like all LN nodes on the payment path) from using the invoice hash on SN.
Only the user which created the invoice knows the HMAC and thus can use the invoice hash.
2023-08-10 07:10:07 +02:00
ekzyis
4fe1d416de
Fix onConfirmation called at every render
2023-08-10 04:13:09 +02:00
ekzyis
318088179a
Rename to useInvoiceable
2023-08-10 03:34:38 +02:00
ekzyis
38dbbd5a4f
Fix comment copy-paste error
2023-08-10 03:34:38 +02:00
ekzyis
118f591d04
Merge branch 'master' into 266-zaps-without-account
2023-08-10 03:34:38 +02:00
SatsAllDay
d5f7855adf
Debounce API requests on edit nym by 500ms ( #387 )
...
Support an optional debounce prop on Input component
If provided, the debounce is applied to the validation of the containing form,
imperatively invoking form validation after debounce is finalized
Also required introducing the `validateOnChange` prop on `Form` which gets passed to `Formik`, and defaults to true, just as it does in `Formik`.
Imperatively invoking form validation seemed to be the only way to debounce the validation call through formik.
2023-08-09 17:06:22 -05:00
keyan
b92f63ca88
fix remaining misuses of plural units
2023-08-08 17:15:30 -05:00
keyan
da78d244ef
handle when navigator controller isn't present
2023-08-08 16:55:53 -05:00
keyan
3cfeede46a
handle all singular units appropriately
2023-08-08 16:47:27 -05:00
SatsAllDay
9941bc6519
render "reply" or "replies", "comment" or "comments" depending on the count (singular or plural) ( #382 )
...
Co-authored-by: Keyan <34140557+huumn@users.noreply.github.com>
2023-08-08 16:07:00 -05:00
SatsAllDay
6e05cd38f9
Singular/Plural "Sats" labels ( #380 )
...
Co-authored-by: keyan <keyan.kousha+huumn@gmail.com>
2023-08-08 16:04:06 -05:00
ekzyis
67a0de3ea5
Notifications with nostr info ( #368 )
...
* Show zap message and pubkey in notifications
+ show zap request event in invoice view
* enhance ui
---------
Co-authored-by: ekzyis <ek@stacker.news>
Co-authored-by: keyan <keyan.kousha+huumn@gmail.com>
2023-08-08 13:19:31 -05:00
Keyan
76b4156ccb
Merge branch 'master' into 266-zaps-without-account
2023-08-08 09:42:21 -05:00
ekzyis
e3c60d1ef8
Sync push subscriptions on every page load ( #370 )
...
Most browsers don't support the pushsubscriptionchange event.
We workaround this by saving the current push subscription in IndexedDB so we can check during every page load if the push subscription changed.
If that is the case, we manually sync the push subscription with the server.
However, this solution is not perfect as mentioned in https://medium.com/@madridserginho/how-to-handle-webpush-api-pushsubscriptionchange-event-in-modern-browsers-6e47840d756f which was used for reference:
> This solution is not perfect, the user could lose some push notifications if he doesn’t open the webapp for a long time.
Co-authored-by: ekzyis <ek@stacker.news>
2023-08-07 20:03:34 -05:00
ekzyis
7369bd819d
Add nostr login ( #367 )
...
Co-authored-by: keyan <keyan.kousha+huumn@gmail.com>
2023-08-07 19:50:01 -05:00
keyan
a0974e4d6c
Merge branch 'master' into 266-zaps-without-account
2023-08-07 16:48:52 -05:00
keyan
a3b668587d
fix top cowboys
2023-08-07 16:26:15 -05:00
Keyan
3d0bb4b32c
Merge branch 'master' into 266-zaps-without-account
2023-08-07 15:10:20 -05:00
keyan
0867f3ff1c
only outline eldest new comment ... unset on touch
2023-08-07 09:29:47 -05:00
keyan
d661c70f16
more noticable new comment indicator
2023-08-06 14:31:24 -05:00
keyan
1efc17fcc2
subtle highlight of new comments
2023-08-06 14:18:40 -05:00
keyan
ea1e31c6ee
prevent horizontal layout shift on new comments
2023-08-06 13:21:38 -05:00
keyan
ebfff4677f
fix top header/stat order on back/forward nav
2023-08-06 13:13:32 -05:00
keyan
90f4d41fc8
remove list jitter by initially preferring ssr
2023-08-06 13:04:25 -05:00
keyan
eeaf6e10e5
reduce rerenders in notifications
2023-08-06 10:47:58 -05:00
keyan
b9fdbde520
fix back button render jitter
2023-08-05 12:56:03 -05:00
keyan
d9dd4bc05b
prevent scroll to comment on rerender
2023-08-05 12:13:15 -05:00
keyan
aea8948c45
dark-mode needs to block block
2023-08-04 20:45:12 -05:00
keyan
8d8e2859dd
fix dark mode
2023-08-04 19:21:51 -05:00
keyan
23257d8c63
fix notifications glitchiness
2023-08-04 12:08:16 -05:00
keyan
42234eae9b
highlight notification on back button
2023-08-03 19:14:04 -05:00
keyan
4e41f67e87
fix notification url replacement
2023-08-03 18:04:43 -05:00
keyan
94e975033c
fix fee button receipt background color
2023-08-03 15:13:07 -05:00
keyan
0ab9119739
improve notifications UX: highlight reply and distinguish new notifications
2023-08-03 14:56:59 -05:00
keyan
7596b0302a
improve click to context behavior and add ssrForceFetchDelay to apollo
2023-08-03 13:13:49 -05:00
keyan
b1b8f9de56
implement our own nprogress bar
2023-08-01 21:06:15 -05:00
keyan
e1c51075a2
fix conditional nextFetchPolicy overriding cache-only on SSR and suppress time hydration warnings
2023-07-31 14:54:30 -05:00
keyan
f91be5d70f
fix form skeleton
2023-07-31 12:35:58 -05:00
keyan
b42a934207
fix invites signup via lightning/slashtags
2023-07-31 09:19:53 -05:00
keyan
bc5a19c6ee
suppress hydration warnings when relative time is rendered
2023-07-31 09:12:56 -05:00
keyan
d2216e80da
conform to linter
2023-07-31 08:39:10 -05:00
ekzyis
ba04e6522d
Also strike on payment after short press
2023-07-30 23:45:08 +02:00
ekzyis
d186e869e1
Allow pay per invoice for bounty and job posts
2023-07-30 23:45:08 +02:00
ekzyis
f2f09b22c4
Fix invoice amount for comments
2023-07-30 23:45:08 +02:00
ekzyis
1cd9750be5
Fix insufficient funds error detection
2023-07-30 23:45:08 +02:00
ekzyis
773f658e00
Remove duplicate insufficient funds handling
2023-07-30 23:45:08 +02:00
ekzyis
6b4b5023f6
Keep invoice modal open if focus is lost
2023-07-30 23:45:07 +02:00
ekzyis
853a389b65
Allow pay per invoice for stackers
...
The modal which pops up if the stacker does not have enough sats now has two options: "fund wallet" and "pay invoice"
2023-07-30 23:45:07 +02:00
ekzyis
fd8510d59f
Use payment hash instead of invoice id as proof of payment
...
Our invoice IDs can be enumerated.
So there is a - even though very rare - chance that an attacker could find a paid invoice which is not used yet and use it for himself.
Random payment hashes prevent this.
Also, since we delete invoices after use, using database IDs as proof of payments are not suitable.
If a user tells us an invoice ID after we deleted it, we can no longer tell if the invoice was paid or not since the LN node only knows about payment hashes but nothing about the database IDs.
2023-07-30 23:45:07 +02:00
ekzyis
74893b09dd
Add anon comments and posts (link, discussion, poll)
2023-07-30 23:45:07 +02:00
ekzyis
5415c6b0f6
Add anon zaps
2023-07-30 23:45:07 +02:00
keyan
42bdd40f91
show errors on settings during auth linking
2023-07-30 15:39:18 -05:00
keyan
5232b59625
upgrade to next-auth 4 (bonus: improve error pages)
2023-07-29 14:38:20 -05:00
keyan
7490e5c249
fix syntax highlighting warnings
2023-07-27 12:10:05 -05:00
keyan
7542dd6cc4
upgrade to prisma 4
2023-07-26 19:18:42 -05:00
keyan
5a4f63b1d5
fix pinned discussion spacing
2023-07-26 08:48:46 -05:00
keyan
8ea9938cb0
fix broken image text
2023-07-25 20:02:43 -05:00
keyan
8ab018af88
fix nested comment sorting
2023-07-25 19:45:35 -05:00
keyan
19835aef5f
fix undefined sub on post pre-form
2023-07-25 15:41:46 -05:00
keyan
4c1ef62386
fix edit bio button location
2023-07-25 15:32:49 -05:00
keyan
98552c853c
fix back button behavior on select navigation
2023-07-25 15:29:45 -05:00
keyan
4bfd021342
enhance styling
2023-07-25 13:32:48 -05:00
keyan
ab2046ab0b
fix issues with new linting
2023-07-25 09:14:45 -05:00
keyan
dae9c64e96
more package updates
2023-07-24 19:50:55 -05:00
keyan
e87610c45b
update packages and reduce bundle size
2023-07-24 17:50:12 -05:00
keyan
356f7e072c
50% reduction in bundle size by being careful with big imports
2023-07-24 16:06:26 -05:00
keyan
6407455def
upgrade react-bootstrap
2023-07-24 13:53:53 -05:00
keyan
59f7b6ff26
Revert "Revert "shield your eyes; massive, squashed refactor; nextjs/react/react-dom/apollo upgrades""
...
This reverts commit 18910fa2ed
.
2023-07-23 10:08:43 -05:00
keyan
18910fa2ed
Revert "shield your eyes; massive, squashed refactor; nextjs/react/react-dom/apollo upgrades"
...
This reverts commit d0314ab73c
.
2023-07-23 09:16:12 -05:00
keyan
d0314ab73c
shield your eyes; massive, squashed refactor; nextjs/react/react-dom/apollo upgrades
2023-07-21 17:33:11 -05:00
keyan
253d75b438
fix item icon fix
2023-07-15 11:35:10 -05:00
keyan
3c3de2eb24
fix item icon styling
2023-07-14 11:07:03 -05:00
keyan
7a4ba715e0
memoize table of contents
2023-07-13 15:56:57 -05:00
keyan
3c711b6083
enhance image detection and proxy
2023-07-13 15:18:04 -05:00
ekzyis
0d3328e509
Show longest cowboy streak in profile ( #353 )
...
* Show longest cowboy streak in profile
* Fix image offset
* Initialize maxStreak for every user
* Use resolver instead of denormalization for maxStreak
---------
Co-authored-by: ekzyis <ek@stacker.news>
2023-07-12 19:10:29 -05:00
Jo Wo
bf4b8714fe
Render images without markdown and use image proxy ( #245 )
...
* Parse image links during markdown rendering
* Use imgproxy to replace links
* Add healthcheck
See https://docs.imgproxy.net/healthcheck
* Enable WebP and animation support
* Only replace image URLs
* Replace all occurrences
* Fix creating posts with no text
* Embed image on link posts where link is image
---------
Co-authored-by: ekzyis <ek@stacker.news>
2023-07-12 19:10:01 -05:00
keyan
bc9081eaab
fix race condition caused by race condition fix
2023-07-11 13:33:13 -05:00
keyan
efa3172f15
top stackers sorted stat to front
2023-07-10 12:59:21 -05:00
keyan
34ba823bd4
account for no funds on zap debounce
2023-07-09 13:08:56 -05:00
keyan
e8aa0a4dae
users? => stackers?
2023-07-09 12:53:50 -05:00
keyan
4e9138dfdc
show more info on where zap rewards came from
2023-07-09 12:21:11 -05:00
keyan
f33534dd36
fix rapid voting ui race condition ( #213 )
2023-07-09 11:15:46 -05:00
keyan
e0d89a289b
fix lightning animation z-index
2023-07-06 18:07:30 -05:00
keyan
ec9a424bf4
reward countdown in footer
2023-07-06 12:43:51 -05:00
ekzyis
37e70f9791
Scroll to items on push notification click ( #345 )
...
* Scroll from root item in reach on notification click
Instead of going directly to the item of the notification, we now scroll from the root item which is still in reach to the comment.
This should provide more context to the user in most cases.
* Also scroll from root item in reach in /notifications
---------
Co-authored-by: ekzyis <ek@stacker.news>
2023-07-06 10:00:38 -05:00
ekzyis
57f3ad1c75
Fix darkmode in walkthrough popover ( #343 )
...
* Fix darkmode in walkthrough popover
* Fix invalid DOM property `class`
---------
Co-authored-by: ekzyis <ek@stacker.news>
2023-07-05 15:07:18 -05:00
keyan
09d7e960cc
back to lightning animation
2023-07-05 09:47:44 -05:00
keyan
dc62751df4
dont show push notifications in nonsupporting browsers
2023-07-04 18:44:03 -05:00
keyan
19c743f70d
fix safari notifications error
2023-07-04 18:02:22 -05:00
keyan
a17b4d1f1a
refine push notification ui and catch promises
2023-07-04 17:19:59 -05:00
keyan
3068252adf
merge github master
2023-07-04 15:35:04 -05:00
ekzyis
30cc42109f
Fix different font between write and preview ( #338 )
...
Co-authored-by: ekzyis <ek@stacker.news>
2023-07-04 14:36:55 -05:00